📄 محتوای کامل
L2TP/IPsec و IKEv2 VPN
با استفاده از اسکریپتهای hw5ds2/setup-ipsec-vpn، یک سرور VPN از نوع L2TP/IPsec و IKEv2 روی اوبونتو ۲۲.۰۴ راهاندازی کنید. برای پیکربندی یک سرور VPN امن برای اتصالات انعطافپذیر و رمزگذاریشده در نگارنوین، این راهنمای جامع را دنبال کنید.
راهاندازی سرور L2TP/IPsec و IKEv2 VPN در اوبونتو ۲۲.۰۴
مقدمه
این راهنما دستورالعملهای دقیقی برای راهاندازی یک سرور VPN در اوبونتو ۲۲.۰۴ ارائه میدهد که از پروتکلهای L2TP/IPsec و IKEv2 پشتیبانی میکند. با استفاده از اسکریپتهای hwdsl2/setup-ipsec-vpn ، میتوانید به سرعت یک سرور VPN امن راهاندازی کنید. این راهاندازی به کلاینتها اجازه میدهد تا با استفاده از L2TP/IPsec یا IKEv2 به صورت ایمن متصل شوند و انعطافپذیری و رمزگذاری قوی را برای اتصالات VPN شما فراهم میکند.
پیشنیازها
- سرور وی پی اس:
- یک سرور مجازی که اوبونتو ۲۲.۰۴ روی آن نصب شده باشد.
- دسترسی روت یا ترمینال.
- دستگاه مشتری:
- رایانهای که اوبونتو یا هر توزیع لینوکس سازگار با L2TP/IPsec و IKEv2 را اجرا میکند.
- دسترسی روت یا ترمینال.
نمای کلی
ما مراحل سطح بالای زیر را انجام خواهیم داد:
- روی سرور VPS:
- بستههای سیستمی را بهروزرسانی کنید.
- وابستگیهای لازم را نصب کنید.
- اسکریپت راهاندازی VPN را برای پیکربندی سرور L2TP/IPsec و IKEv2 VPN اجرا کنید.
- مدیریت کاربران VPN (اضافه یا حذف).
- روی دستگاه کلاینت:
- نرمافزار کلاینت VPN را نصب کنید.
- با استفاده از L2TP/IPsec یا IKEv2، یک اتصال VPN پیکربندی و برقرار کنید.
مراحل روی سرور VPS
۱. بهروزرسانی و ارتقاء بستههای سیستم
مطمئن شوید که سرور شما بهروز است.
sudo apt update && sudo apt upgrade -y
توضیح: لیست بستهها را بهروزرسانی میکند و بستههای نصبشده را به آخرین نسخههایشان ارتقا میدهد و از امنیت و بهروز بودن سیستم شما اطمینان حاصل میکند.
۲. نصب بستههای مورد نیاز
curlو را نصب کنید wget، که برای دانلود اسکریپتها و فایلها ضروری هستند.
sudo apt install curl wget -y
۳. اسکریپت راهاندازی VPN را دانلود و اجرا کنید
برای پیکربندی سرور VPN از اسکریپت راهاندازی hwdsl2/setup-ipsec-vpn استفاده کنید.
wget https://get.vpnsetup.net -O vpn.sh
اسکریپت راهاندازی VPN را با سرورهای DNS سفارشی (اختیاری) اجرا کنید.
sudo VPN_DNS_SRV1=1.1.1.1 VPN_DNS_SRV2=1.0.0.1 sh vpn.sh
توضیح:
- VPN_DNS_SRV1و VPN_DNS_SRV2سرورهای DNS را برای کلاینتهای VPN تنظیم کنید.
- اسکریپت از شما میخواهد که اطلاعات احراز هویت VPN (IPsec PSK، نام کاربری، رمز عبور) را وارد کنید. در غیر این صورت، اسکریپت به طور خودکار آنها را تولید میکند.
مثال خروجی اسکریپت:
===============================================
IPsec VPN server is now ready for use!
Connect to your new VPN with these details:
Server IP: x.x.x.x
IPsec PSK: Your_IPsec_PSK
Username: vpnuser
Password: Your_VPN_Password
Write these down. You'll need them to connect!
VPN client setup: https://vpnsetup.net/clients
===============================================
===============================================
IKEv2 setup successful. Details for IKEv2 mode:
VPN server address: x.x.x.x
VPN client name: vpnclient
Client configuration is available at:
/root/vpnclient.p12 (for Windows & Linux)
/root/vpnclient.sswan (for Android)
/root/vpnclient.mobileconfig (for iOS & macOS)
Next steps: Configure IKEv2 clients. See:
https://vpnsetup.net/clients
===============================================
توجه:x.x.x.x آدرس IP عمومی سرور خود را جایگزین کنید . این اسکریپت اطلاعات کاربری مهم VPN را نمایش میدهد – آنها را ایمن نگه دارید.
۴. مدیریت کاربران VPN
افزودن کاربر جدید VPN
اسکریپت مدیریت کاربر را دانلود کنید و یک کاربر جدید اضافه کنید.
sudo wget https://get.vpnsetup.net/adduser -O /opt/src/addvpnuser.sh
sudo chmod +x /opt/src/addvpnuser.sh
sudo ln -s /opt/src/addvpnuser.sh /usr/bin/addvpnuser.sh
sudo addvpnuser.sh 'newusername' 'newpassword'
توضیح:
- این اسکریپت addvpnuser.shبه شما امکان میدهد کاربران VPN جدید را با نام کاربری و رمز عبور مشخص شده اضافه کنید.
- 'newusername'و را 'newpassword'با اعتبارنامههای مورد نظر جایگزین کنید .
حذف کاربر VPN
اسکریپت حذف کاربر را دانلود کنید و یک کاربر موجود را حذف کنید.
sudo wget https://get.vpnsetup.net/deluser -O /opt/src/delvpnuser.sh
sudo chmod +x /opt/src/delvpnuser.sh
sudo ln -s /opt/src/delvpnuser.sh /usr/bin/delvpnuser.sh
sudo delvpnuser.sh 'username_to_remove'
توضیح:
- این اسکریپت delvpnuser.shبه شما امکان میدهد کاربران VPN را با مشخص کردن نام کاربری آنها حذف کنید.
- 'username_to_remove'نام کاربری مورد نظر برای حذف را جایگزین کنید .
مراحل روی دستگاه کلاینت
گزینه ۱: اتصال با استفاده از L2TP/IPsec
۱. کلاینت L2TP VPN را نصب کنید
افزونه Network Manager L2TP را نصب کنید.
sudo apt install network-manager-l2tp-gnome -y
توضیح: بستههای لازم برای فعال کردن اتصالات L2TP/IPsec VPN را از طریق مدیر شبکه GNOME نصب میکند.
۲. اتصال VPN را پیکربندی کنید
برای تنظیم اتصال VPN مراحل زیر را دنبال کنید:
- دسترسی به تنظیمات VPN:
- به تنظیمات > شبکه > VPN بروید .
- برای اضافه کردن یک اتصال VPN جدید، روی دکمه + کلیک کنید .
- نوع VPN را انتخاب کنید:
- پروتکل تونلینگ لایه ۲ (L2TP) را انتخاب کنید .
- پیکربندی عمومی:
- نام: یک نام برای اتصال VPN خود وارد کنید (مثلاً My L2TP VPN).
- دروازه: آدرس IP سرور VPN خود را وارد کنید ( Your VPN Server IP).
- نام کاربری: نام کاربری VPN خود را وارد کنید ( Your VPN Username).
- رمز عبور: روی نماد کنار فیلد رمز عبور کلیک کنید و گزینه «فقط رمز عبور را برای این کاربر ذخیره کنید» را انتخاب کنید . سپس رمز عبور VPN خود را وارد کنید ( Your VPN Password).
- دامنه NT: این فیلد را خالی بگذارید.
- تنظیمات IPsec را پیکربندی کنید:
- روی تنظیمات IPsec کلیک کنید …
- فعال کردن تونل IPsec به میزبان L2TP: این کادر را علامت بزنید.
- کلید پیش اشتراکگذاری شده: IPsec PSK خود را وارد کنید ( Your VPN IPsec PSK).
- تنظیمات پیشرفته:
- بخش پیشرفته را گسترش دهید .
- الگوریتمهای مرحله ۱: وارد کنید aes128-sha1-modp2048.
- الگوریتمهای مرحله ۲: وارد کنید aes128-sha1.
- ذخیره و اتصال:
- برای بستن تنظیمات IPsec روی تأیید کلیک کنید .
- برای ذخیره اتصال VPN، روی افزودن کلیک کنید .
- در تنظیمات VPN، برای اتصال، کلید VPN را در حالت روشن (ON) قرار دهید .
توضیح:
- الگوریتمهای فاز ۱ و فاز ۲: این تنظیمات سازگاری با پیکربندی سرور VPN را تضمین میکنند.
۳. اتصال VPN را تأیید کنید
پس از اتصال، آدرس IP خود را تأیید کنید تا مطمئن شوید که VPN کار میکند.
curl ifconfig.me
توضیح: این دستور آدرس IP عمومی شما را نمایش میدهد که در صورت موفقیتآمیز بودن اتصال، اکنون باید IP سرور VPN باشد.
گزینه ۲: اتصال با استفاده از IKEv2
۱. افزونه مدیریت شبکه StrongSwan را نصب کنید
sudo apt install network-manager-strongswan -y
توضیح: افزونه StrongSwan را نصب میکند و اتصالات IKEv2 VPN را از طریق Network Manager فعال میکند.
۲. دریافت فایلهای پیکربندی کلاینت VPN
شما به فایلهای زیر از سرور VPN خود نیاز دارید:
- vpnclient.p12: شامل گواهی کلاینت و کلید خصوصی است.
- vpnclient.mobileconfig: پروفایل پیکربندی برای macOS/iOS (برای لینوکس لازم نیست).
- vpnclient.sswan: فایل پیکربندی StrongSwan (اختیاری).
این فایلها را به طور ایمن در دستگاه کلاینت خود کپی کنید:
scp root@Your_VPN_Server_IP:/root/vpnclient.p12 ~/
توضیح:Your_VPN_Server_IP با آدرس IP سرور VPN خود جایگزین کنید .
۳. استخراج گواهیها و کلید خصوصی
یک دایرکتوری برای ذخیره گواهینامهها ایجاد کنید و آنها را از .p12فایل استخراج کنید.
mkdir ~/ikev2-vpn
cd ~/ikev2-vpn
openssl pkcs12 -in ~/vpnclient.p12 -cacerts -nokeys -out ca.cer
openssl pkcs12 -in ~/vpnclient.p12 -clcerts -nokeys -out client.cer
openssl pkcs12 -in ~/vpnclient.p12 -nocerts -nodes -out client.key
rm ~/vpnclient.p12
توضیح:
- ca.cer: گواهی CA.
- client.cer: گواهی مشتری شما.
- client.key: کلید خصوصی شما.
نکته: اگر هنگام استخراج از شما رمز عبور خواسته شد، کافیست Enter را بزنید .
۴. فایلهای گواهی و کلید را ایمن کنید
محافظت از این فایلهای حساس بسیار مهم است.
sudo chown root:root ca.cer client.cer client.key
sudo chmod 600 ca.cer client.cer client.key
توضیح: مالکیت را به root تغییر میدهد و مجوزها را برای جلوگیری از دسترسی غیرمجاز محدود میکند.
۵. افزونههای مدیریت شبکه را نصب کنید (اگر قبلاً نصب نشدهاند)
بسته به توزیع لینوکس خود، بستههای لازم را نصب کنید:
# Ubuntu and Debian
sudo apt update
sudo apt install network-manager-strongswan -y
# Arch Linux
sudo pacman -Syu # Update package lists
sudo pacman -S networkmanager-strongswan
# Fedora
sudo dnf install NetworkManager-strongswan-gnome
# CentOS
sudo yum install epel-release
sudo yum --enablerepo=epel install NetworkManager-strongswan-gnome
۶. اتصال VPN را پیکربندی کنید
برای تنظیم اتصال IKEv2 VPN این مراحل را دنبال کنید:
- دسترسی به تنظیمات VPN:
- به تنظیمات > شبکه > VPN بروید .
- برای اضافه کردن یک اتصال VPN جدید، روی دکمه + کلیک کنید .
- نوع VPN را انتخاب کنید:
- IPsec/IKEv2 (strongSwan) را انتخاب کنید .
- پیکربندی عمومی:
- نام: یک نام برای اتصال VPN خود وارد کنید (مثلاً My IKEv2 VPN).
- پیکربندی دروازه:
- آدرس: آدرس IP یا نام دامنه سرور VPN خود را وارد کنید ( Your VPN Server IP).
- گواهی:ca.cer فایلی را که قبلاً استخراج کردهاید، انتخاب کنید .
- احراز هویت کلاینت:
- احراز هویت: گواهی (/کلید خصوصی) را انتخاب کنید .
- گواهی (فایل): فایل را انتخاب کنید client.cer.
- کلید خصوصی: فایل را انتخاب کنید client.key.
- پیکربندی گزینهها:
- درخواست آدرس IP داخلی: این کادر را علامت بزنید.
- پیشنهادهای رمزنگاری (الگوریتمها):
- فعال کردن پیشنهادهای سفارشی: این کادر را علامت بزنید.
- آیک: این فیلد را خالی بگذارید.
- ESP: وارد کنید aes128gcm16.
- ذخیره و اتصال:
- برای ذخیره اتصال VPN، روی افزودن کلیک کنید .
- در تنظیمات VPN، برای اتصال، کلید VPN را در حالت روشن (ON) قرار دهید .
توضیح:
- گواهیها و کلیدها: گواهی کلاینت و کلید خصوصی، دستگاه شما را برای سرور VPN احراز هویت میکنند.
- پیشنهادهای رمزگذاری: تنظیم پیشنهادهای سفارشی تضمین میکند که الگوریتمهای رمزگذاری با الگوریتمهای مورد انتظار سرور VPN مطابقت دارند.
۷. اتصال VPN را تأیید کنید
آدرس IP عمومی خود را بررسی کنید تا مطمئن شوید که از طریق VPN متصل هستید.
curl ifconfig.me
عیبیابی
- اتصال VPN برقرار نشد:
- مطمئن شوید که فایروال سرور شما پورتهای VPN لازم (مثلاً پورتهای UDP ۵۰۰ و ۴۵۰۰ برای IPsec) را مجاز میداند.
- تأیید کنید که سرویسهای VPN روی سرور در حال اجرا هستند.
- خطاهای احراز هویت:
- اعتبارنامههای VPN (IPsec PSK، نام کاربری، رمز عبور) را دوباره بررسی کنید.
- مطمئن شوید که گواهیها و کلیدها به درستی نصب شدهاند و مجوزها به درستی تنظیم شدهاند.
- مشکلات DNS:
- اگر پس از اتصال نمیتوانید نام دامنهها را resolve کنید، سرورهای DNS را در تنظیمات کلاینت VPN خود مشخص کنید یا پیکربندی سرور VPN را بهروزرسانی کنید تا تنظیمات DNS به کلاینتها اعمال شود.
- خطاهای پیکربندی StrongSwan:
- لاگها را برای خطاها بررسی کنید: /var/log/syslogیا از استفاده کنید journalctl -xe.
- مطمئن شوید که پیکربندی IKEv2 بین کلاینت و سرور مطابقت دارد.
نتیجه گیری
با دنبال کردن این راهنما، شما با موفقیت یک سرور VPN در اوبونتو ۲۲.۰۴ راهاندازی کردهاید که از پروتکلهای L2TP/IPsec و IKEv2 پشتیبانی میکند. این پیکربندی با رمزگذاری ترافیک اینترنت شما و ارائه گزینههای اتصال انعطافپذیر برای کلاینتهای مختلف، امنیت شبکه شما را افزایش میدهد.
منابع
- مخزن گیتهاب hwdsl2/setup-ipsec-vpn
- مدیریت کاربران VPN
- کلاینتهای VPN لینوکس
- راه اندازی VPN IKEv2
توجه: همیشه مطمئن شوید که استفاده شما از VPN ها مطابق با قوانین و مقررات محلی است. اعتبارنامهها و گواهینامههای VPN خود را ایمن نگه دارید تا از دسترسی غیرمجاز جلوگیری شود.