راه اندازی L2TP/IpSec در توزیع دبیان

  • شروع کننده موضوع ruin3r
  • تاریخ شروع

ruin3r

مدیر کل انجمن
عضو کادر مدیریت
مدیر کل انجمن
عضویت
10/5/15
ارسال ها
146
امتیاز
6
سلام.
با توجه به درخواست یکی از کاربران انجمن در تاپیک راه اندازی L2TP/IpSec در میکروتیک جهت راه اندازی این سرویس در توزیع دبیان,آموزشی رو آماده کردم تا در اختیار دیگر کاربران قرار دهم تا همه کاربران بتوانند از این سرویس در توزیع دبیان نیز استفاده کنند.
به زودی آموزش های دیگر راه اندازی این سرویس رو در توزیع های دیگر لینوکس نیز آموزش خواهم داد.
ولی در نظر داشته باشید که بهترین راه جهت پیاده سازی این سرویس سیستم عامل میکروتیک می باشد چون مدیریت سرویس در آن آسان تر و قوی تر خواهد بود.

L2TP/IpSec یک پروتکل پیشرفته و بر اساس استاندارد IETF RFC 3193 می باشد که جایگزین مناسبی از لحاظ رمز نگاری برای پروتکل PPTP می باشد و بسیار هم توصیه می شود که از کاربران از این پروتکل استفاده کنند.

dv080803_alt.jpg

این آموزش در 10 مرحله انجام خواهد شد که به ترتیب توضیح خواهم داد.

1.نصب پکیج های مورد نیاز:
کد:
apt-get install xl2tpd openswan
نکته:اگر هنگام نصب پاسخ منفی جهت نبود گواهی X.509 مواجه شدید,دستور زیر را اجرا و سپس دستور قبل را اجرا کنید:

کد:
dpkg-reconfigure openswan
2.پشتیبان گیری از فایل های اصلی و فایل های پیکربندی(ممکن است شما از این مرحله رد شوید ولی من به شما توصیه میکنم که هرگز از این مرحله نگذرید و حتما از فایل های اصلی پشتیبان تهیه کنید)

کد:
mv /etc/ipsec.conf /etc/ipsec.conf.orig
mv /etc/ipsec.secrets /etc/ipsec.secrets.orig
mv /etc/xl2tpd/xl2tpd.conf /etc/xl2tpd/xl2tpd.conf.orig
mv /etc/ppp/options.l2tpd /etc/ppp/options.l2tpd.orig
3.پیکربندی هسته لینوکس با استفاده از دستورات زیر:

کد:
for each in /proc/sys/net/ipv4/conf/*
do
    echo 0 > $each/accept_redirects
    echo 0 > $each/send_redirects
done
4.پیکربندی /etc/ipsec.conf برای کار با PSK به جای گواهی X.509.

کد:
vim /etc/ipsec.conf

config setup
protostack=netkey
nat_traversal=yes
oe=off

conn L2TP-PSK-NAT
rightsubnet=vhost:%priv
also=L2TP-PSK-noNAT

conn L2TP-PSK-noNAT
authby=secret
pfs=no
auto=add
keyingtries=3
rekey=no
ikelifetime=8h
keylife=1h
type=transport
left=x.x.x.x # <-- replace this IP address with the IPv4 address of this machine
leftprotoport=17/1701
right=%any
rightprotoport=17/1701

conn passthrough-for-non-l2tp
type=passthrough
left=x.x.x.x # <-- replace this IPv4 address with the IPv4 address of this machine
leftnexthop=0.0.0.0
right=0.0.0.0
rightsubnet=0.0.0.0/0
auto=route
5.PSK مورد نظر خود را در فایل /etc/ipsec.secrets وارد کنید:

کد:
vim /etc/ipsec.secrets

x.x.x.x %any: "mysecretpresharedkeypassword"
نکته:بخش اول آدرس آی پی ورژن 4 را باید وارد کنید.بخش دوم باید آدرس مربوطه را وارد کنید که من اینجا %any یعنی همه نوع آدرس را وارد کردم.بخش سوم باید پسورد PSK رو وارد کنید.

6.مطمئن شوید که فایل /etc/ipsec.secrets حتما قابل خواندن با یوزر روت می باشد و توسط یوزرهای دیگر قابل خواندن نباشد.

کد:
chmod 600 /etc/ipsec.secrets
7. راه اندازی xl2tpd

کد:
vim /etc/xl2tpd/xl2tpd.conf

[global]
port = 1701
auth file = /etc/xl2tpd/l2tp-secrets
access control = no
rand source = dev

[lns default]
exclusive = no
; enter the IP range you wish to give out to your clients here
ip range = 192.168.1.240 - 192.168.1.243
; address of the L2TP end of the tunnel (i.e. this machine)
local ip = 192.168.1.1
refuse authentication = yes
refuse pap = yes
refuse chap = yes
ppp debug = no
pppoptfile = /etc/ppp/options.l2tpd
8.قرار دادن تنظیمات PPP در فایل /etc/xl2tpd/ppp-options.xl2tpd

کد:
vim /etc/ppp/options.l2tpd

# Do not support BSD compression.
nobsdcomp
passive
lock

# Allow all usernames to connect.
name *
proxyarp
ipcp-accept-local
ipcp-accept-remote
lcp-echo-failure 10
lcp-echo-interval 5
nodeflate

# Do not authenticate incoming connections. This is handled by IPsec.
noauth
refuse-chap
refuse-mschap
refuse-mschap-v2

# Set the DNS servers the PPP clients will use.
ms-dns 8.8.8.8 # <-- change this to the IPv4 address of your DNS server
ms-dns 8.8.4.4 # <-- add extra entries if necessary

mtu 1400
mru 1400
9.پیکربندی IpSec انجام شده است.شما می توانید آن را بررسی کنید و نباید خطایی دریافت کنید:

کد:
ipsec verify

Checking your system to see if IPsec got installed and started correctly:
Version check and ipsec on-path [OK]
Linux Openswan U2.6.28/K2.6.32-5-686 (netkey)
Checking for IPsec support in kernel [OK]
NETKEY detected, testing for disabled ICMP send_redirects [OK]
NETKEY detected, testing for disabled ICMP accept_redirects [OK]
Checking that pluto is running [OK]
Pluto listening for IKE on udp 500 [OK]
Pluto listening for NAT-T on udp 4500 [OK]
Two or more interfaces found, checking IP forwarding [OK]
Checking NAT and MASQUERADEing
Checking for 'ip' command [OK]
Checking for 'iptables' command [OK]
Opportunistic Encryption Support [DISABLED]
10.ریستارت openswan و xl2tpd

کد:
/etc/init.d/ipsec restart
/etc/init.d/xl2tpd restart


این آموزش همینجا به اتمام رسید.
در صورتی که سوالی داشتید در همین تاپیک بپرسید,بنده و دیگر همکاران درخدمت شما هستیم.
موفق و ماید باشید
شاهین سالک توتونچی​
 

AHMAD

ایران وب ادمین
عضو کادر مدیریت
ناظر انجمن
عضویت
28/1/15
ارسال ها
145
امتیاز
6
محل سکونت
Matt Cutts Office
وب سایت
www.rastana.com
سلام.
با توجه به درخواست یکی از کاربران انجمن در تاپیک راه اندازی L2TP/IpSec در میکروتیک جهت راه اندازی این سرویس در توزیع دبیان,آموزشی رو آماده کردم تا در اختیار دیگر کاربران قرار دهم تا همه کاربران بتوانند از این سرویس در توزیع دبیان نیز استفاده کنند.
به زودی آموزش های دیگر راه اندازی این سرویس رو در توزیع های دیگر لینوکس نیز آموزش خواهم داد.
ولی در نظر داشته باشید که بهترین راه جهت پیاده سازی این سرویس سیستم عامل میکروتیک می باشد چون مدیریت سرویس در آن آسان تر و قوی تر خواهد بود.

L2TP/IpSec یک پروتکل پیشرفته و بر اساس استاندارد IETF RFC 3193 می باشد که جایگزین مناسبی از لحاظ رمز نگاری برای پروتکل PPTP می باشد و بسیار هم توصیه می شود که از کاربران از این پروتکل استفاده کنند.


این آموزش در 10 مرحله انجام خواهد شد که به ترتیب توضیح خواهم داد.

1.نصب پکیج های مورد نیاز:
کد:
apt-get install xl2tpd openswan
نکته:اگر هنگام نصب پاسخ منفی جهت نبود گواهی X.509 مواجه شدید,دستور زیر را اجرا و سپس دستور قبل را اجرا کنید:

کد:
dpkg-reconfigure openswan
2.پشتیبان گیری از فایل های اصلی و فایل های پیکربندی(ممکن است شما از این مرحله رد شوید ولی من به شما توصیه میکنم که هرگز از این مرحله نگذرید و حتما از فایل های اصلی پشتیبان تهیه کنید)

کد:
mv /etc/ipsec.conf /etc/ipsec.conf.orig
mv /etc/ipsec.secrets /etc/ipsec.secrets.orig
mv /etc/xl2tpd/xl2tpd.conf /etc/xl2tpd/xl2tpd.conf.orig
mv /etc/ppp/options.l2tpd /etc/ppp/options.l2tpd.orig
3.پیکربندی هسته لینوکس با استفاده از دستورات زیر:

کد:
for each in /proc/sys/net/ipv4/conf/*
do
    echo 0 > $each/accept_redirects
    echo 0 > $each/send_redirects
done
4.پیکربندی /etc/ipsec.conf برای کار با PSK به جای گواهی X.509.

کد:
vim /etc/ipsec.conf

config setup
protostack=netkey
nat_traversal=yes
oe=off

conn L2TP-PSK-NAT
rightsubnet=vhost:%priv
also=L2TP-PSK-noNAT

conn L2TP-PSK-noNAT
authby=secret
pfs=no
auto=add
keyingtries=3
rekey=no
ikelifetime=8h
keylife=1h
type=transport
left=x.x.x.x # <-- replace this IP address with the IPv4 address of this machine
leftprotoport=17/1701
right=%any
rightprotoport=17/1701

conn passthrough-for-non-l2tp
type=passthrough
left=x.x.x.x # <-- replace this IPv4 address with the IPv4 address of this machine
leftnexthop=0.0.0.0
right=0.0.0.0
rightsubnet=0.0.0.0/0
auto=route
5.PSK مورد نظر خود را در فایل /etc/ipsec.secrets وارد کنید:

کد:
vim /etc/ipsec.secrets

x.x.x.x %any: "mysecretpresharedkeypassword"
نکته:بخش اول آدرس آی پی ورژن 4 را باید وارد کنید.بخش دوم باید آدرس مربوطه را وارد کنید که من اینجا %any یعنی همه نوع آدرس را وارد کردم.بخش سوم باید پسورد PSK رو وارد کنید.

6.مطمئن شوید که فایل /etc/ipsec.secrets حتما قابل خواندن با یوزر روت می باشد و توسط یوزرهای دیگر قابل خواندن نباشد.

کد:
chmod 600 /etc/ipsec.secrets
7. راه اندازی xl2tpd

کد:
vim /etc/xl2tpd/xl2tpd.conf
[global]
port = 1701
auth file = /etc/xl2tpd/l2tp-secrets
access control = no
rand source = dev

[lns default]
exclusive = no
; enter the IP range you wish to give out to your clients here
ip range = 192.168.1.240 - 192.168.1.243
; address of the L2TP end of the tunnel (i.e. this machine)
local ip = 192.168.1.1
refuse authentication = yes
refuse pap = yes
refuse chap = yes
ppp debug = no
pppoptfile = /etc/ppp/options.l2tpd
8.قرار دادن تنظیمات PPP در فایل /etc/xl2tpd/ppp-options.xl2tpd

کد:
vim /etc/ppp/options.l2tpd

# Do not support BSD compression.
nobsdcomp
passive
lock

# Allow all usernames to connect.
name *
proxyarp
ipcp-accept-local
ipcp-accept-remote
lcp-echo-failure 10
lcp-echo-interval 5
nodeflate

# Do not authenticate incoming connections. This is handled by IPsec.
noauth
refuse-chap
refuse-mschap
refuse-mschap-v2

# Set the DNS servers the PPP clients will use.
ms-dns 8.8.8.8 # <-- change this to the IPv4 address of your DNS server
ms-dns 8.8.4.4 # <-- add extra entries if necessary

mtu 1400
mru 1400
9.پیکربندی IpSec انجام شده است.شما می توانید آن را بررسی کنید و نباید خطایی دریافت کنید:

کد:
ipsec verify

Checking your system to see if IPsec got installed and started correctly:
Version check and ipsec on-path [OK]
Linux Openswan U2.6.28/K2.6.32-5-686 (netkey)
Checking for IPsec support in kernel [OK]
NETKEY detected, testing for disabled ICMP send_redirects [OK]
NETKEY detected, testing for disabled ICMP accept_redirects [OK]
Checking that pluto is running [OK]
Pluto listening for IKE on udp 500 [OK]
Pluto listening for NAT-T on udp 4500 [OK]
Two or more interfaces found, checking IP forwarding [OK]
Checking NAT and MASQUERADEing
Checking for 'ip' command [OK]
Checking for 'iptables' command [OK]
Opportunistic Encryption Support [DISABLED]
10.ریستارت openswan و xl2tpd

کد:
/etc/init.d/ipsec restart
/etc/init.d/xl2tpd restart

این آموزش همینجا به اتمام رسید.
در صورتی که سوالی داشتید در همین تاپیک بپرسید,بنده و دیگر همکاران درخدمت شما هستیم.
موفق و ماید باشید
شاهین سالک توتونچی​

سلام

ممنونم از آموزش خوب و مفیدت شاهین جان

میخوام روی Raspbian این کار رو انجام بدم و در واقع می خوام با رزبری پای یک VPN Server راه اندازی کنم که بتونم با l2tp بهش وصل بشم

اگر تجربه ای در این مورد داری خوشحال میشم بگی
 

ruin3r

مدیر کل انجمن
عضو کادر مدیریت
مدیر کل انجمن
عضویت
10/5/15
ارسال ها
146
امتیاز
6
سلام

ممنونم از آموزش خوب و مفیدت شاهین جان

میخوام روی Raspbian این کار رو انجام بدم و در واقع می خوام با رزبری پای یک VPN Server راه اندازی کنم که بتونم با l2tp بهش وصل بشم

اگر تجربه ای در این مورد داری خوشحال میشم بگی

روی رزبری هنوز تست نکردم و فکر نمیکنم با توجه به آموزش بالا مشکلی به وجود بیاد.
شما نصب کن من هم تست میکنم اگر مشکلی داشت با هم تو همین تاپیک بررسی و رفع میکنیم.
خوشحال میشم تو این مورد باهم تبادل اطلاعات داشته باشیم و مطالب رو برای باقی کاربرا هم share کنیم.
 
بالا