{"id":425,"date":"2012-12-26T10:07:10","date_gmt":"2012-12-26T03:07:10","guid":{"rendered":"http:\/\/blog.trichev.com\/?p=425"},"modified":"2017-08-10T09:32:41","modified_gmt":"2017-08-10T02:32:41","slug":"vpn-server-l2tpipsec-psk-on-debian-6-0-squeeze","status":"publish","type":"post","link":"https:\/\/trichev.com\/blog\/2012\/12\/26\/vpn-server-l2tpipsec-psk-on-debian-6-0-squeeze\/","title":{"rendered":"VPN server L2TP\/IPSec (PSK) on Debian 6.0 squeeze"},"content":{"rendered":"<p>Network layout:<\/p>\n<p>Internet === Router (192.168.0.1) === Debian SRV(192.168.0.2, GW 192.168.0.1, DNS 192.168.0.1)<\/p>\n<p>apt-get install openswan xl2tpd ppp<\/p>\n<p>\/etc\/ipsec.conf:<\/p>\n<p>version 2.0<\/p>\n<p>config setup<br \/>\nplutostderrlog=\/var\/log\/ipsec.log<br \/>\nnat_traversal=yes<br \/>\nvirtual_private=%v4:!10.0.0.0\/24<br \/>\noe=off<br \/>\nprotostack=netkey<\/p>\n<p>conn %default<br \/>\nforceencaps=yes<br \/>\ncompress=yes<\/p>\n<p>conn l2tp-psk-nat<br \/>\nrightsubnet=vhost:%priv<br \/>\nalso=l2tp-psk-nonat<\/p>\n<p>conn l2tp-psk-nonat<br \/>\nauthby=secret<br \/>\npfs=no<br \/>\nauto=add<br \/>\nkeyingtries=3<br \/>\nrekey=no<br \/>\ndpddelay=40<br \/>\ndpdtimeout=130<br \/>\ndpdaction=clear<br \/>\nkeyexchange=ike<br \/>\nikelifetime=8h<br \/>\nkeylife=1h<br \/>\ntype=transport<br \/>\nleft=192.168.0.2<br \/>\nleftprotoport=17\/1701<br \/>\nleftnexthop=192.168.0.1<br \/>\nright=%any<br \/>\nrightprotoport=17\/%any<\/p>\n<p>\/etc\/ipsec.secrets:<\/p>\n<p>192.168.0.2 %any : PSK &#8220;very-secret-key&#8221;<\/p>\n<p>\/etc\/xl2tpd\/xl2tpd.conf:<\/p>\n<p>[global]<br \/>\n; listen-addr = 192.168.0.2<br \/>\n; port = 1701<br \/>\nipsec saref = yes<br \/>\ndebug tunnel = yes<br \/>\ndebug avp = yes<br \/>\ndebug network = yes<br \/>\ndebug packet = yes<br \/>\ndebug state = yes<br \/>\nforce userspace = yes<br \/>\n;<br \/>\n[lns default] ; Our fallthrough LNS definition<br \/>\nip range = 10.0.0.10-10.0.0.100 ; * Allocate from this IP range<br \/>\nassign ip = yes<br \/>\nlocal ip = 10.0.0.1 ; * Our local IP to use<br \/>\nlength bit = yes ; * Use length bit in payload?<br \/>\nrequire chap = yes ; * Require CHAP auth. by peer<br \/>\nrefuse pap = yes ; * Refuse PAP authentication<br \/>\nrequire authentication = yes ; * Require peer to authenticate<br \/>\n; name = l2tpVPN ; * Report this as our hostname<br \/>\nppp debug = yes ; * Turn on PPP debugging<br \/>\npppoptfile = \/etc\/ppp\/options.xl2tpd<\/p>\n<p>\/etc\/ppp\/options.xl2tpd:<\/p>\n<p>ms-dns 8.8.8.8<br \/>\nrequire-mschap-v2<br \/>\nasyncmap 0<br \/>\nlogfile \/var\/log\/xl2tpd.log<br \/>\nnoccp<br \/>\nauth<br \/>\ncrtscts<br \/>\nlock<br \/>\nhide-password<br \/>\nmodem<br \/>\nmru 1280<br \/>\nmtu 1280<br \/>\ndebug<br \/>\nnodefaultroute<br \/>\nname l2tpd<br \/>\nproxyarp<br \/>\nlcp-echo-interval 30<br \/>\nlcp-echo-failure 4<br \/>\nipcp-accept-local<br \/>\nipcp-accept-remote<br \/>\nnoipx<br \/>\nidle 1800<br \/>\nconnect-delay 5000<\/p>\n<p>\/etc\/ppp\/chap-secrets:<\/p>\n<p>test l2tpd &#8220;testpassword&#8221; *<\/p>\n<p>Windows XP\/7(reboot after add value):<\/p>\n<p>iptables(VPN):<br \/>\niptables -A INPUT -m policy &#8211;dir in &#8211;pol ipsec -p udp &#8211;dport 1701 -j ACCEPT # \u043d\u0430 1701 \u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0442\u043e\u043b\u044c\u043a\u043e ipsec \u043f\u0430\u043a\u0435\u0442\u044b<br \/>\niptables -A INPUT -p 50 -j ACCEPT<br \/>\niptables -A INPUT -p udp &#8211;dport 500 -j ACCEPT<br \/>\niptables -A INPUT -p udp &#8211;dport 4500 -j ACCEPT<br \/>\niptables -A FORWARD -i ppp+ -p all -m state &#8211;state NEW,ESTABLISHED,RELATED -j ACCEPT #\u0434\u043b\u044f \u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0432\u043d\u0435 \u0441\u0432\u043e\u0435\u0433\u043e ppp<br \/>\niptables -A FORWARD -i eth0 -o ppp+ -m state &#8211;state NEW,ESTABLISHED,RELATED -j ACCEPT<br \/>\niptables -t nat -A POSTROUTING -s 10.0.0.0\/24 -o eth0 -j MASQUERADE # \u043c\u0430\u0441\u043a\u0430\u0440\u0430\u0434\u0438\u043c \u043f\u043e\u0434 IP \u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/p>\n<p>iptables (router):<br \/>\niptables -t nat -A POSTROUTING -p udp -m udp &#8211;dport 500 -j DNAT &#8211;to-destination 192.168.0.1:500<br \/>\niptables -t nat -A POSTROUTING -p udp -m udp &#8211;dport 4500 -j DNAT &#8211;to-destination 192.168.0.1:4500<br \/>\niptables -t nat -A POSTROUTING -p udp -m udp &#8211;dport 1701 -j DNAT &#8211;to-destination 192.168.0.1:1701<br \/>\niptables -t nat -A POSTROUTING -p 50 -j DNAT &#8211;to-destination 192.168.0.1<\/p>\n<p>\u0412 Windows \u0432 \u043a\u043b\u044e\u0447\u0435 \u0440\u0435\u0435\u0441\u0442\u0440\u0430 (\u0443\u043a\u0430\u0437\u0430\u043d \u043d\u0438\u0436\u0435) \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c DWORD \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 AssumeUDPEncapsulationContextOnSendRule \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0435\u043c\u0443 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 2.<\/p>\n<p>\u2022\u0434\u043b\u044f Windows XP \u2014 HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Services\\IPsec<br \/>\n\u2022\u0434\u043b\u044f Windows Vista\/7 \u2014 HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\PolicyAgent<\/p>\n<p>\u041f\u043e-\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e VPN-\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0432 windows xp\/7 \u0441\u0442\u0430\u0432\u0438\u0442 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043c\u0430\u0440\u0448\u0440\u0443\u0442 \u0447\u0435\u0440\u0435\u0437 VPN \u0441\u0435\u0442\u044c. \u0427\u0442\u043e\u0431\u044b \u044d\u0442\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u0431\u0440\u0430\u0442\u044c \u0433\u0430\u043b\u043e\u0447\u043a\u0443:<br \/>\n\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u0430 VPN-\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f-\u0421\u0435\u0442\u044c-\u041f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430 TCP\/IP-\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u0430-\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e<br \/>\n&#8220;\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0448\u043b\u044e\u0437 \u0432 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0439 \u0441\u0435\u0442\u0438&#8221;. DNS \u043c\u043e\u0436\u043d\u043e \u0442\u043e\u0436\u0435 \u0432\u044b\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432\u0440\u0443\u0447\u043d\u0443\u044e, \u0447\u0442\u043e\u0431\u044b \u043f\u043e-\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0431\u0440\u0430\u043b\u0441\u044f \u0438\u0437 \u0443\u0436\u0435 \u0438\u043c\u0435\u044e\u0449\u0435\u0433\u043e\u0441\u044f \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f.<\/p>\n<p>\u0421\u0441\u044b\u043b\u043a\u0438:<br \/>\n<a href=\"http:\/\/blog.bertelsen.co\/2012\/02\/debian-squeeze-l2tpipsec-vpn-server.html\">http:\/\/blog.bertelsen.co\/2012\/02\/debian-squeeze-l2tpipsec-vpn-server.html<\/a><br \/>\n<a href=\"http:\/\/blog.riobard.com\/2010\/04\/30\/l2tp-over-ipsec-ubuntu\">http:\/\/blog.riobard.com\/2010\/04\/30\/l2tp-over-ipsec-ubuntu<\/a><br \/>\n<a href=\"http:\/\/rootmanager.com\/ubuntu-ipsec-l2tp-windows-domain-auth\/setting-up-openswan-xl2tpd-with-native-windows-clients.html\">http:\/\/rootmanager.com\/ubuntu-ipsec-l2tp-windows-domain-auth\/setting-up-openswan-xl2tpd-with-native-windows-clients.html<\/a><br \/>\n<a href=\"http:\/\/wiki.debian.org\/HowTo\/iPhoneVPNServer\">http:\/\/wiki.debian.org\/HowTo\/iPhoneVPNServer<\/a><br \/>\n<a href=\"http:\/\/wingloon.com\/2012\/01\/11\/how-to-install-setup-l2tp-over-ipsec-vpn-in-debian-lenny\/\">http:\/\/wingloon.com\/2012\/01\/11\/how-to-install-setup-l2tp-over-ipsec-vpn-in-debian-lenny\/<\/a><br \/>\n<a href=\"http:\/\/blackpenguins.ru\/?p=151\">http:\/\/blackpenguins.ru\/?p=151<\/a><br \/>\n<a href=\"http:\/\/louwrentius.com\/blog\/2011\/12\/setting-up-a-vpn-with-your-iphone-using-l2tp,-ipsec-and-linux\/\">http:\/\/louwrentius.com\/blog\/2011\/12\/setting-up-a-vpn-with-your-iphone-using-l2tp,-ipsec-and-linux\/<\/a><br \/>\n<a href=\"http:\/\/www.alsigned.ru\/?p=836\">http:\/\/www.alsigned.ru\/?p=836<\/a><br \/>\n<a href=\"https:\/\/www.openswan.org\/projects\/openswan\/wiki\/L2TPIPsec_configuration_using_openswan_and_xl2tpd\">https:\/\/www.openswan.org\/projects\/openswan\/wiki\/L2TPIPsec_configuration_using_openswan_and_xl2tpd<\/a><br \/>\n<a href=\"http:\/\/www.linux.org.ru\/forum\/admin\/8189019\">http:\/\/www.linux.org.ru\/forum\/admin\/8189019<\/a><br \/>\n<a href=\"http:\/\/support.microsoft.com\/default.aspx?scid=kb;EN-US;q281555\">http:\/\/support.microsoft.com\/default.aspx?scid=kb;EN-US;q281555<\/a><br \/>\n<a href=\"http:\/\/confoundedtech.blogspot.ru\/2011\/08\/android-nexus-one-ipsec-psk-vpn-with.html\">http:\/\/confoundedtech.blogspot.ru\/2011\/08\/android-nexus-one-ipsec-psk-vpn-with.html<\/a><br \/>\n<a href=\"http:\/\/www.vpnfortress.com\/setup\/android-l2tp-setup.html\">http:\/\/www.vpnfortress.com\/setup\/android-l2tp-setup.html<\/a><br \/>\n<a href=\"http:\/\/www.mayrhofer.eu.org\/l2tp-ipsec-gateway-for-mobile-phones\">http:\/\/www.mayrhofer.eu.org\/l2tp-ipsec-gateway-for-mobile-phones<\/a><br \/>\n<a href=\"http:\/\/unixadmins.su\/index.php?topic=1282.0\">http:\/\/unixadmins.su\/index.php?topic=1282.0<\/a><br \/>\n<a href=\"http:\/\/www.lostbyte.com\/projects\/l2tpipsec-vpn-for-ios\/\">http:\/\/www.lostbyte.com\/projects\/l2tpipsec-vpn-for-ios\/<\/a><br \/>\n<a href=\"http:\/\/www.jacco2.dds.nl\/networking\/linux-l2tp.html\">http:\/\/www.jacco2.dds.nl\/networking\/linux-l2tp.html<\/a><br \/>\n<a href=\"http:\/\/en.gentoo-wiki.com\/w\/index.php?title=IPsec_L2TP_VPN_server\">http:\/\/en.gentoo-wiki.com\/w\/index.php?title=IPsec_L2TP_VPN_server<\/a><br \/>\n<a href=\"http:\/\/www.aa-asterisk.org.uk\/index.php\/Setting_up_an_L2TP\/IPSec_server_on_Debian\">http:\/\/www.aa-asterisk.org.uk\/index.php\/Setting_up_an_L2TP\/IPSec_server_on_Debian<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Network layout: Internet === Router (192.168.0.1) === Debian SRV(192.168.0.2, GW 192.168.0.1, DNS 192.168.0.1) apt-get install openswan xl2tpd ppp \/etc\/ipsec.conf: version 2.0 config setup plutostderrlog=\/var\/log\/ipsec.log nat_traversal=yes virtual_private=%v4:!10.0.0.0\/24 oe=off protostack=netkey conn %default forceencaps=yes compress=yes 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 dpddelay=40 dpdtimeout=130 dpdaction=clear keyexchange=ike ikelifetime=8h keylife=1h type=transport left=192.168.0.2 leftprotoport=17\/1701 leftnexthop=192.168.0.1 right=%any rightprotoport=17\/%any [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[231],"tags":[29,32,179,28,178,14,180,11],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/trichev.com\/blog\/wp-json\/wp\/v2\/posts\/425"}],"collection":[{"href":"https:\/\/trichev.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/trichev.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/trichev.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/trichev.com\/blog\/wp-json\/wp\/v2\/comments?post=425"}],"version-history":[{"count":9,"href":"https:\/\/trichev.com\/blog\/wp-json\/wp\/v2\/posts\/425\/revisions"}],"predecessor-version":[{"id":520,"href":"https:\/\/trichev.com\/blog\/wp-json\/wp\/v2\/posts\/425\/revisions\/520"}],"wp:attachment":[{"href":"https:\/\/trichev.com\/blog\/wp-json\/wp\/v2\/media?parent=425"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/trichev.com\/blog\/wp-json\/wp\/v2\/categories?post=425"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/trichev.com\/blog\/wp-json\/wp\/v2\/tags?post=425"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}