آموزش راه اندازی L2TP روی سرور لینوکسی با استفاده از سرور مجازی ایران سرور پیشگامان را به صورت قدم به قدم توضیح میدهیم.
قرارداد تونلزنی لایه ۲ (به انگلیسی: Layer 2 Tunneling Protocol) یا به اختصار L2TP، یک پروتکل تونلزنی است که در شبکههای رایانهای جهت پشتیبانی از شبکه خصوصی مجازی (VPN) به کار میرود. در این روش، هیچ رمزگذاری یا امنیتی توسط خود پروتکل ارائه نمیشود، بلکه این موارد به پروتکل رمزنگاری که از تونل میگذرد بستگی دارد.
این پروتکل به طور گستردهای برای ایجاد تونلهای امن در شبکههای عمومی و خصوصی استفاده میشود، اما برای اطمینان از امنیت، باید با پروتکلهای رمزنگاری مانند IPsec ترکیب شود.
مراحل راه اندازی L2TP سرور مجازی :
1. بهروزرسانی سیستم:
ابتدا سیستم خود را بهروزرسانی کنید:
sudo apt update sudo apt upgrade
2. نصب StrongSwan و xl2tpd:
برای راهاندازی L2TP/IPsec، نیاز به نصب StrongSwan و xl2tpd دارید:
sudo apt install strongswan xl2tpd
3. پیکربندی StrongSwan:
فایل پیکربندی StrongSwan را ویرایش کنید:
sudo nano /etc/ipsec.conf
محتوای زیر را در فایل قرار دهید:
config setup charondebug="ike 2, knl 2, cfg 2" uniqueids=no conn %default keyexchange=ikev1 authby=secret ike=aes256-sha1-modp1024! esp=aes256-sha1! conn L2TP-PSK keyexchange=ikev1 left=%any leftauth=psk leftfirewall=yes leftsubnet=0.0.0.0/0 right=%any rightauth=psk rightdns=8.8.8.8 rightsubnet=0.0.0.0/0 auto=add
4. تنظیمات PSK (Pre-Shared Key):
فایل ipsec.secrets را ویرایش کنید:
sudo nano /etc/ipsec.secrets
محتوای زیر را اضافه کنید:
: PSK "your_pre_shared_key"
5. پیکربندی xl2tpd:
فایل پیکربندی xl2tpd را ویرایش کنید:
sudo nano /etc/xl2tpd/xl2tpd.conf
محتوای زیر را اضافه کنید:
[global] port = 1701 [lns default] ip range = 192.168.1.2-192.168.1.10 local ip = 192.168.1.1 require chap = yes refuse pap = yes require authentication = yes name = L2TP ppp debug = yes pppoptfile = /etc/ppp/options.xl2tpd length bit = yes
6. پیکربندی PPP:
فایل options.xl2tpd را ویرایش کنید:
sudo nano /etc/ppp/options.xl2tpd
محتوای زیر را اضافه کنید:
require-mschap-v2 refuse-mschap refuse-eap refuse-pap ms-dns 8.8.8.8 asyncmap 0 auth crtscts lock hide-password modem debug name l2tpd proxyarp lcp-echo-interval 30 lcp-echo-failure 4
7. تنظیمات کاربران:
فایل chap-secrets را ویرایش کنید:
sudo nano /etc/ppp/chap-secrets
محتوای زیر را اضافه کنید:
username l2tpd password *
8. راهاندازی مجدد سرویسها:
سرویسهای StrongSwan و xl2tpd را راهاندازی مجدد کنید:
sudo systemctl restart strongswan sudo systemctl restart xl2tpd
9. پیکربندی فایروال:
پورتهای مورد نیاز را در فایروال باز کنید:
sudo ufw allow 500,4500/udp sudo ufw allow 1701/udp
اسکریپت خودکارسازی پیکربندی :
در ادامه، یک اسکریپت ساده Bash ارائه میدهیم که به شما کمک میکند تا پیکربندی را به صورت خودکار انجام دهید.
این اسکریپت شامل یک منو است که به کاربر اجازه میدهد بین پیکربندی سرور و کلاینت انتخاب کند.
#!/bin/bash echo "انتخاب کنید:" echo "1. پیکربندی سرور L2TP" echo "2. پیکربندی کلاینت L2TP" read -p "انتخاب شما: " choice case $choice in 1) echo "در حال پیکربندی سرور L2TP..." sudo apt update sudo apt install strongswan xl2tpd -y sudo bash -c 'cat > /etc/ipsec.conf <<EOF config setup charondebug="ike 2, knl 2, cfg 2" uniqueids=no conn %default keyexchange=ikev1 authby=secret ike=aes256-sha1-modp1024! esp=aes256-sha1! conn L2TP-PSK keyexchange=ikev1 left=%any leftauth=psk leftfirewall=yes leftsubnet=0.0.0.0/0 right=%any rightauth=psk rightdns=8.8.8.8 rightsubnet=0.0.0.0/0 auto=add EOF' sudo bash -c 'echo ": PSK \"your_pre_shared_key\"" > /etc/ipsec.secrets' sudo bash -c 'cat > /etc/xl2tpd/xl2tpd.conf <<EOF [global] port = 1701 [lns default] ip range = 192.168.1.2-192.168.1.10 local ip = 192.168.1.1 require chap = yes refuse pap = yes require authentication = yes name = L2TP ppp debug = yes pppoptfile = /etc/ppp/options.xl2tpd length bit = yes EOF' sudo bash -c 'cat > /etc/ppp/options.xl2tpd <<EOF require-mschap-v2 refuse-mschap refuse-eap refuse-pap ms-dns 8.8.8.8 asyncmap 0 auth crtscts lock hide-password modem debug name l2tpd proxyarp lcp-echo-interval 30 lcp-echo-failure 4 EOF' sudo bash -c 'echo "username l2tpd password *" > /etc/ppp/chap-secrets' sudo systemctl restart strongswan sudo systemctl restart xl2tpd sudo ufw allow 500,4500/udp sudo ufw allow 1701/udp echo "پیکربندی سرور L2TP انجام شد." ;; 2) echo "در حال پیکربندی کلاینت L2TP..." # دستورات پیکربندی کلاینت L2TP را اینجا اضافه کنید echo "پیکربندی کلاینت L2TP انجام شد." ;; *) echo "انتخاب نامعتبر. لطفاً دوباره تلاش کنید." ;; esac
این اسکریپت به شما کمک میکند تا به راحتی پیکربندی L2TP را روی سرور پیشگامان انجام دهید.