پروتکل L2TP (Layer 2 Tunneling Protocol) یکی از پروتکلهای شبکهای محبوب برای ایجاد شبکههای خصوصی مجازی (VPN) است. L2TP به دلیل امنیت و پایداری بالا، بسیار مورد توجه کسبوکارها و کاربرانی قرار میگیرد که به دنبال ایجاد یک اتصال ایمن در سرورهای مجازی خود هستند. در این مقاله، با جزئیات نحوه راهاندازی L2TP در سرور مجازی و مراحل تنظیم آن آشنا میشویم.
۱. آشنایی با پروتکل L2TP و مزایای آن
پروتکل L2TP یکی از پروتکلهای VPN است که برای انتقال دادهها از لایه دوم استفاده میکند. این پروتکل اغلب به همراه پروتکل IPSec برای ایجاد یک لایه امنیتی اضافه به کار میرود. L2TP به تنهایی رمزنگاری ندارد، اما با اضافه شدن IPSec، امنیت و رمزنگاری بسیار قویتری فراهم میشود.
مزایای استفاده از L2TP:
– امنیت بالا با ترکیب IPSec: این پروتکل با IPSec ترکیب میشود تا امنیت بیشتری در انتقال دادهها ایجاد کند.
– پشتیبانی از دستگاههای مختلف: بیشتر سیستمعاملهای مدرن از L2TP پشتیبانی میکنند.
– قابلیت پشتیبانی از اتصالات چندگانه: این پروتکل به کاربران امکان میدهد که اتصالات چندگانهای ایجاد کنند، که برای کسبوکارهای بزرگ مناسب است.
۲. پیشنیازهای راهاندازی L2TP در سرور مجازی
پیش از شروع به نصب و پیکربندی L2TP در سرور مجازی، باید برخی از پیشنیازها و شرایط را بررسی کنید:
– **دسترسی به سرور مجازی با دسترسی روت (Root Access)**: برای اجرای دستورات و تنظیمات، دسترسی روت لازم است.
– **آدرس IP ثابت**: برای تنظیم VPN نیاز به آدرس IP ثابت دارید تا کاربران بتوانند بهدرستی به سرور متصل شوند.
– **پورتهای باز در فایروال**: اطمینان حاصل کنید که پورتهای UDP 500 و UDP 4500 باز هستند، زیرا L2TP از این پورتها برای ارتباط استفاده میکند.
۳. نصب ابزارهای مورد نیاز برای L2TP
در سرورهایی که از سیستمعاملهای لینوکس مانند اوبونتو و دبیان استفاده میکنند، باید ابزارهای مورد نیاز برای L2TP نصب شوند. برای این منظور، ابتدا با وارد کردن دستورات زیر، مخازن سیستم را بهروز کنید و سپس ابزارهای لازم را نصب کنید.
sudo apt update
sudo apt install strongswan xl2tpd
این دستورات به ترتیب مخازن را بهروزرسانی میکنند و سپس **Strongswan** (برای IPSec) و **XL2TPD** (برای پروتکل L2TP) را نصب میکنند. Strongswan وظیفه رمزنگاری دادهها و XL2TPD وظیفه مدیریت اتصالهای L2TP را بر عهده دارند.
۴. پیکربندی IPSec برای رمزنگاری L2TP
در این مرحله، باید IPSec را برای امنیت L2TP پیکربندی کنیم. فایل تنظیمات IPSec به صورت زیر ویرایش میشود:
sudo nano /etc/ipsec.conf
در این فایل، تنظیمات زیر را وارد کنید:
config setup
uniqueids=no
conn L2TP-IPSec
authby=secret
pfs=no
auto=add
keyingtries=3
ikelifetime=8h
keylife=1h
type=transport
left=%defaultroute
leftprotoport=17/1701
right=%any
rightprotoport=17/%any
– authby=secret: از کلید مخفی برای احراز هویت استفاده میشود.
– type=transport: نوع اتصال برای VPN در حالت انتقال قرار میگیرد که برای L2TP مناسب است.
۵. تنظیم کلید اشتراکی IPSec
در ادامه، باید کلید مشترک بین کلاینتها و سرور را تنظیم کنید. این کلید به عنوان رمز برای احراز هویت IPSec استفاده میشود. برای این کار، فایل **ipsec.secrets** را باز کنید:
sudo nano /etc/ipsec.secrets
و یک خط مانند زیر اضافه کنید:
: PSK "your_pre_shared_key"
به جای `your_pre_shared_key` یک کلید مخفی وارد کنید. این کلید باید بین کلاینتها و سرور به اشتراک گذاشته شود.
۶. پیکربندی L2TP در فایل xl2tpd.conf
حالا که تنظیمات IPSec تکمیل شد، باید تنظیمات L2TP را در فایل `xl2tpd.conf` اعمال کنید. این فایل را باز کنید:
sudo nano /etc/xl2tpd/xl2tpd.conf
در این فایل، تنظیمات زیر را اضافه کنید:
[global]
ipsec saref = yes
[lns default]
ip range = 192.168.1.10-192.168.1.20
local ip = 192.168.1.1
refuse chap = yes
refuse pap = yes
require authentication = yes
name = L2TP-VPN
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes
– ip range: محدوده آدرسهای IP برای کلاینتها.
– local ip: آدرس IP سرور.
– require authentication: فعالسازی نیاز به احراز هویت برای کلاینتها.
۷. پیکربندی تنظیمات احراز هویت کلاینتها
تنظیمات مربوط به احراز هویت کلاینتها را در فایل **options.xl2tpd** وارد کنید. برای این منظور، فایل را به شکل زیر ویرایش کنید:
sudo nano /etc/ppp/options.xl2tpd
تنظیمات زیر را اضافه کنید:
require-mschap-v2
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
در اینجا، `ms-dns 8.8.8.8` آدرس سرور DNS است که میتوانید آن را به آدرس DNS دلخواه خود تغییر دهید.
۸. افزودن کاربران برای اتصال به L2TP
برای این که کاربران بتوانند به VPN متصل شوند، باید آنها را در فایل **chap-secrets** تعریف کنیم. فایل را باز کنید:
sudo nano /etc/ppp/chap-secrets
برای هر کاربر یک خط به شکل زیر اضافه کنید:
username L2TP-VPN password
به جای `username` و `password`، نام کاربری و رمز عبور مورد نظر را وارد کنید.
۹. راهاندازی مجدد سرویسها
پس از اعمال تنظیمات، سرویسهای IPSec و XL2TPD را راهاندازی مجدد کنید تا تغییرات اعمال شوند:
sudo systemctl restart strongswan
sudo systemctl restart xl2tpd
همچنین برای اعمال تغییرات در فایروال و اطمینان از باز بودن پورتها، دستورات زیر را اجرا کنید:
sudo iptables -A INPUT -p udp --dport 500 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 4500 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 1701 -j ACCEPT
sudo iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT
۱۰. اتصال به VPN و تست اتصال L2TP
در این مرحله، تنظیمات سرور L2TP به پایان رسیده و آماده استفاده است. شما میتوانید از یک دستگاه کلاینت (مانند ویندوز، مک یا اندروید) برای اتصال به VPN استفاده کنید. در تنظیمات VPN کلاینت، آدرس IP سرور مجازی و کلید اشتراکی که در مرحله قبل تنظیم کردهاید را وارد کنید.
نتیجهگیری
راهاندازی L2TP در سرور مجازی، به کاربران این امکان را میدهد تا از یک اتصال امن و پایدار برای دسترسی به منابع شبکه استفاده کنند. پروتکل L2TP با ترکیب IPSec امنیت بیشتری فراهم میکند و گزینهای عالی برای کاربرانی است که به دنبال حفظ حریم خصوصی و ایمنی در انتقال دادهها هستند. با توجه به مراحل توضیح داده شده، میتوانید به سادگی و با دقت مراحل را طی کرده و یک VPN مبتنی بر L2TP در سرور مجازی خود ایجاد کنید.