این آموزش، در چند دقیقه به شما آسانترین روش نصب و راه اندازی VPN سرور با IPSec L2TP و Cisco IPSec روی سیستم عامل لینوکس اوبونتو، دبیان و CentOS را به شما یاد خواهد داد. تنها چیزی که نیاز هست انجام دهید این است که یوزر و پسورد VPN خود را تعریف کنید و اجازه دهید اسکریپت مابقی تنظیمات را به صورت اتوماتیک انجام دهد.
یک VPN IPSec در حقیقت برای اطمینان بخشیدن از encrypt بودن تمامی ترافیک شبکه مورد استفاده قرار میگیرد، به نحوی که از هر گونه استراق سمع بین شما و VPN سرور جلوگیری میکند. این مقاله و در حقیقت این نحوه نصب به شدت توصیه میشود، خصوصا برای افرادی که از شبکه های ناامن برای دسترسی به اینترنت مثلا در فرودگاه ها یا کافی شاپ ها یا اتاق های هتل و غیره استفاده میکنند.
محیط نصب و راه اندازی ما
این تنظیمات روی سیستم عامل های زیر قابل پیاده سازی است.
این اسکریپت توسط آقای Lin Song طراحی شده که بنده با کمی ویرایش در این فایل آن را به شما شرح خواهم داد و توصیه میشود که از یک سرور تازه نصب شده و آپدیت شده استفاده کنید.
همچنین توصیه میشود مطالعه کنید :
نحوه نصب و راه اندازی سرور OpenVPN در لینوکس
آپدیت Ubuntu / Debian
در سیستم عامل های اوبونتو یا دبیان با استفاده از دستورات زیر سرور خود را به روز رسانی کنید و در آخر آن را restart کنید.
آپدیت CentOS 8 / 7 / 6
در سیستم عامل CentOS ابتدا ریپازیتوری EPEL را نصب کنید و بعد از آپدیت سیستم آنرا restart کنید.
این دستورات باعث میشود شما اطمینان حاصل کنید که تمام پکیج های روی سرور آپدیت هستند.
تنظیمات IPSec VPN Server با L2TP و Cisco IPSec در Ubuntu / Debian / CentOS
ما در ادامه یک اسکریپت نصب اتوماتیک به نام vpnsetup.sh را دانلود و استفاده میکنیم تا عملیات نصب و راه اندازی سرور IPSec VPN به همراه L2TP و IPSec روی توزیع های لینوکسی اوبونتو، دبیان، سنت او اس را آسان کنیم.
نکته : بعد از دانلود و اجرای اسکریپت نصب اتوماتیک مشخصات اکانت VPN شما توسط اسکریپت و به صورت اتوماتیک ایجاد شده و در پایان نصب به شما نمایش داده میشود. اگر شما بخواهید که یوزر و پسورد دلخواه برای اکانت VPN خودتان تعریف کنید، قبل از اجرای اسکریپت vpnsetup.sh آنرا با استفاده از یک ادیتور متن ویرایش کنید.
سپس مقادیر خود را (شامل User, Password و PSK) درون تک کوتیشن ('') تعریف کنید.
سپس اسکریپت vpnsetup.sh را که در ادامه دانلود خواهید کرد، اجرا کنید.
تنظیمات IPSec VPN Server روی Ubuntu 18.04 / Ubuntu 16.04 و Debian
در سیستم های اوبونتو و دبیان، قبل از عملیات نصب و راه اندازی، پکیج های سیستم خود را به روز رسانی کنید و با استفاده از دستور wget این اسکریپت نصب IPSec VPN را از آپلود سنتر منطقه لینوکسی ها دانلود کنید.
سپس با استفاده از دستور زیر اسکریپت نصب و راه اندازی وی پی ان در اوبونتو / دبیان را اجرا کنید.
تنظیمات IPSec VPN Server در CentOS 8 / 7 / 6
برای سرورهای CentOS هم با استفاده از دستور wget اسکریپت راه اندازی VPN را دانلود کنید.
سپس با استفاده از دستور زیر اسکریپت نصب و راه اندازی وی پی ان در CentOS را اجرا کنید. شما نیازی نیست کاری انجام دهید و اسکریپت تمام پکیج های مورد نیاز را نصب خواهد کرد. منتظر بمانید تا مراحل نصب به پایان برسد.
نمونه خروجی :
بعد از پایان نصب، همانطور که در تصویر بالا مشاهده میکنید، اسکریپت مشخصات اکانت شما را به جهت اتصال به سرور VPN IP تان نمایش میدهد. همانطور که در اوایل نصب گفته شد در صورتی که میخواهید PSK / Username / Password دلخواه خود را داشته باشید میبایست قبل از مراحل نصب فایل اسکریپت را با استفاده از یک ادیتور متن باز کرده و مقادیر بالا را با موارد مورد نظر خود جایگزین کنید. البته در ادامه به شما نحوه ایجاد، تغییر و حذف یک کاربر را به شما شرح خواهیم داد.
در مرحله بعد، با استفاده از دستور زیر سرویس ipsec را به هنگام Boot سیستم فعال کنید.
همچنین در طول نصب و راه اندازی به منظور بهینه سازی و بهبود عملکرد سرور VPN کدهای زیر به فایل sysctl.conf اضافه خواهد شد.
تمامی ترافیک VPN تحت پروتکل UDP کار میکند و به پروتکل ESP نیاز ندارد.
تنظیمات مدیریت کاربران
به صورت پیش فرض، یک اکانت کاربری به منظور لاگین به سرور VPN ایجاد میشود. اگر شما بخواهید کاربران دیگری را اضافه، ویرایش یا حذف کنید، مدیریت کاربری IPSec VPN را مطالعه کنید.
محتوای IPsec PSK (pre-shared key) در فایل /etc/ipsec.secrets ذخیره شده است. همه کاربران وی پی ان IPSec PSK یکسانی را به اشتراک میگذارند. شما میتوانید یک PSK جدید را با تغییر خط زیر تعریف کنید.
کاربران VPN مربوط به IPSec/L2TP، در فایل /etc/ppp/chap-secrets ذخیره شده اند. فرمت این فایل به صورت زیر است.
کاربران VPN مربوط به IPsec/XAuth ("Cisco IPsec") در مسیر /etc/ipsec.d/passwd مشخص شده اند. فرمت فایل به شرح زیر است.
پسوردها در این فایل قرار گرفته و Hash شده اند. این مرحله را با استفاده از ابزاری مانند openssl انجام میدهیم.
در نهایت در صورتی که یک PSK جدید ایجاد کردید، سرویس را restart کنید. برای اضافه، ویرایش و حذف کاربران VPN به صورت نرمال نیاز به restart سرویس ندارید.
در سیستم های CentOS 7 - 8 و Ubuntu 16 - 18 و Debian 8 - 9
در سیستم عامل های قدیمی تر مانند CentOS 6
نحوه اتصال کامپیوتر یا گوشی موبایل تان به سرور VPN
مرحله آخر اتصال کامپیوتر یا هر دیوایس دیگر به منظور استفاده از VPN میباشد. برای این منظور میتوانید از راهنماهای زیر کمک بگیرید.
تنظیمات ایجاد اکانت IPsec/L2TP در لینوکس (دبیان، اوبونتو، مینت، ردهت، فدورا و CentOS)
نحوه اتصال یک سرور لینوکس به L2TP/IPSec VPN Server از طریق ترمینال (خط فرمان)
تنظیمات ایجاد IPsec/XAuth (“Cisco IPsec”) VPN Clients (به زودی)
تنظیمات ایجاد IKEv2 VPN برای ویندوز 7 - 8 - 10 (به زودی)
اگر که در هنگام اتصال با خطایی روبه رو شدید، قسمت ترابل شوت مشکلات (به زودی) را بررسی کنید.
شما IPSec VPN سرور اختصاصی خودتان را به همراه L2TP و Cisco IPSec روی لینوکس های Ubunt / Debian / CentOS نصب و راه اندازی کردید. امیدوارم از آن لذت ببرید.
یک VPN IPSec در حقیقت برای اطمینان بخشیدن از encrypt بودن تمامی ترافیک شبکه مورد استفاده قرار میگیرد، به نحوی که از هر گونه استراق سمع بین شما و VPN سرور جلوگیری میکند. این مقاله و در حقیقت این نحوه نصب به شدت توصیه میشود، خصوصا برای افرادی که از شبکه های ناامن برای دسترسی به اینترنت مثلا در فرودگاه ها یا کافی شاپ ها یا اتاق های هتل و غیره استفاده میکنند.
محیط نصب و راه اندازی ما
این تنظیمات روی سیستم عامل های زیر قابل پیاده سازی است.
- Ubuntu 18.04 (Bionic), 16.04 (Xenial) or 14.04 (Trusty)
- Debian 9 (Stretch) or 8 (Jessie)
- CentOS 6 (x86_64)
- CentOS 7 (x86_64)
- CentOS 8 (x86_64)
- خرید یک سرور VPN ارزان از ناسا هاست
این اسکریپت توسط آقای Lin Song طراحی شده که بنده با کمی ویرایش در این فایل آن را به شما شرح خواهم داد و توصیه میشود که از یک سرور تازه نصب شده و آپدیت شده استفاده کنید.
همچنین توصیه میشود مطالعه کنید :
نحوه نصب و راه اندازی سرور OpenVPN در لینوکس
آپدیت Ubuntu / Debian
در سیستم عامل های اوبونتو یا دبیان با استفاده از دستورات زیر سرور خود را به روز رسانی کنید و در آخر آن را restart کنید.
کد PHP:
$ sudo apt update
$ sudo apt upgrade
$ sudo apt dist-upgrade
$ sudo reboot
آپدیت CentOS 8 / 7 / 6
در سیستم عامل CentOS ابتدا ریپازیتوری EPEL را نصب کنید و بعد از آپدیت سیستم آنرا restart کنید.
کد PHP:
$ sudo yum install wget epel-release
$ sudo yum -y update
$ sudo reboot
تنظیمات IPSec VPN Server با L2TP و Cisco IPSec در Ubuntu / Debian / CentOS
ما در ادامه یک اسکریپت نصب اتوماتیک به نام vpnsetup.sh را دانلود و استفاده میکنیم تا عملیات نصب و راه اندازی سرور IPSec VPN به همراه L2TP و IPSec روی توزیع های لینوکسی اوبونتو، دبیان، سنت او اس را آسان کنیم.
نکته : بعد از دانلود و اجرای اسکریپت نصب اتوماتیک مشخصات اکانت VPN شما توسط اسکریپت و به صورت اتوماتیک ایجاد شده و در پایان نصب به شما نمایش داده میشود. اگر شما بخواهید که یوزر و پسورد دلخواه برای اکانت VPN خودتان تعریف کنید، قبل از اجرای اسکریپت vpnsetup.sh آنرا با استفاده از یک ادیتور متن ویرایش کنید.
کد PHP:
$ sudo vim vpnsetup.sh
کد PHP:
YOUR_IPSEC_PSK=''
YOUR_USERNAME=''
YOUR_PASSWORD=''
تنظیمات IPSec VPN Server روی Ubuntu 18.04 / Ubuntu 16.04 و Debian
در سیستم های اوبونتو و دبیان، قبل از عملیات نصب و راه اندازی، پکیج های سیستم خود را به روز رسانی کنید و با استفاده از دستور wget این اسکریپت نصب IPSec VPN را از آپلود سنتر منطقه لینوکسی ها دانلود کنید.
کد PHP:
$ wget http://up.linux-zone.org/software/programs/vpnsetup-ubuntu-debian -O vpnsetup.sh
کد PHP:
$ sudo sh vpnsetup.sh
تنظیمات IPSec VPN Server در CentOS 8 / 7 / 6
برای سرورهای CentOS هم با استفاده از دستور wget اسکریپت راه اندازی VPN را دانلود کنید.
کد PHP:
$ wget http://up.linux-zone.org/software/programs/vpnsetup-centos -O vpnsetup.sh
کد PHP:
$ sudo sh vpnsetup.sh
نمونه خروجی :
کد PHP:
************************** WARNING ***********************************
The ipsec service is currently disabled. To enable this service issue:
systemctl enable ipsec.service
************************************************** ********************
../../OBJ.linux.x86_64/testing/enumcheck/enumcheck -> /usr/local/libexec/ipsec/enumcheck
## Creating VPN configuration..
## Updating sysctl settings..
## Updating IPTables rules...
## Enabling services on boot...
## Starting services...
================================================
IPsec VPN server is now ready for use!
Connect to your new VPN with these details:
Server IP: 37.156.145.25
IPsec PSK: Ug4bbuwAjYRFoBVXiBaM
Username: vpnuser
Password: nXrzJnxVFndshMp8
Write these down. You'll need them to connect!
================================================
بعد از پایان نصب، همانطور که در تصویر بالا مشاهده میکنید، اسکریپت مشخصات اکانت شما را به جهت اتصال به سرور VPN IP تان نمایش میدهد. همانطور که در اوایل نصب گفته شد در صورتی که میخواهید PSK / Username / Password دلخواه خود را داشته باشید میبایست قبل از مراحل نصب فایل اسکریپت را با استفاده از یک ادیتور متن باز کرده و مقادیر بالا را با موارد مورد نظر خود جایگزین کنید. البته در ادامه به شما نحوه ایجاد، تغییر و حذف یک کاربر را به شما شرح خواهیم داد.
در مرحله بعد، با استفاده از دستور زیر سرویس ipsec را به هنگام Boot سیستم فعال کنید.
کد PHP:
$ sudo systemctl enable ipsec
کد PHP:
# Added by hwdsl2 VPN script
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
net.ipv4.ip_forward = 1
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.eth0.send_redirects = 0
net.ipv4.conf.eth0.rp_filter = 0
net.core.wmem_max = 12582912
net.core.rmem_max = 12582912
net.ipv4.tcp_rmem = 10240 87380 12582912
net.ipv4.tcp_wmem = 10240 87380 12582912
تنظیمات مدیریت کاربران
به صورت پیش فرض، یک اکانت کاربری به منظور لاگین به سرور VPN ایجاد میشود. اگر شما بخواهید کاربران دیگری را اضافه، ویرایش یا حذف کنید، مدیریت کاربری IPSec VPN را مطالعه کنید.
محتوای IPsec PSK (pre-shared key) در فایل /etc/ipsec.secrets ذخیره شده است. همه کاربران وی پی ان IPSec PSK یکسانی را به اشتراک میگذارند. شما میتوانید یک PSK جدید را با تغییر خط زیر تعریف کنید.
کد PHP:
%any %any : PSK "your_new_ipsec_pre_shared_key"
کد PHP:
"your_vpn_username_1" l2tpd "your_vpn_password_1" *
"your_vpn_username_2" l2tpd "your_vpn_password_2" *
کد PHP:
your_vpn_username_1:your_vpn_password_1_hashed:xau th-psk
your_vpn_username_2:your_vpn_password_2_hashed:xau th-psk
... ...
کد PHP:
# The output will be your_vpn_password_1_hashed
openssl passwd -1 'your_vpn_password_1'
در سیستم های CentOS 7 - 8 و Ubuntu 16 - 18 و Debian 8 - 9
کد PHP:
$ sudo systemctl restart ipsec
$ sudo systemctl restart xl2tpd
در سیستم عامل های قدیمی تر مانند CentOS 6
کد PHP:
$ sudo service ipsec restart
$ sudo service xl2tpd restart
نحوه اتصال کامپیوتر یا گوشی موبایل تان به سرور VPN
مرحله آخر اتصال کامپیوتر یا هر دیوایس دیگر به منظور استفاده از VPN میباشد. برای این منظور میتوانید از راهنماهای زیر کمک بگیرید.
تنظیمات ایجاد اکانت IPsec/L2TP در لینوکس (دبیان، اوبونتو، مینت، ردهت، فدورا و CentOS)
نحوه اتصال یک سرور لینوکس به L2TP/IPSec VPN Server از طریق ترمینال (خط فرمان)
تنظیمات ایجاد IPsec/XAuth (“Cisco IPsec”) VPN Clients (به زودی)
تنظیمات ایجاد IKEv2 VPN برای ویندوز 7 - 8 - 10 (به زودی)
اگر که در هنگام اتصال با خطایی روبه رو شدید، قسمت ترابل شوت مشکلات (به زودی) را بررسی کنید.
شما IPSec VPN سرور اختصاصی خودتان را به همراه L2TP و Cisco IPSec روی لینوکس های Ubunt / Debian / CentOS نصب و راه اندازی کردید. امیدوارم از آن لذت ببرید.
کامنت