Config l2tp VPN Without IPSec On Debian Host via OpenVZ

现在新的OpenVZ方案已经支持tun设备了。虽然不支持mppe-128内核加密(modprobe ppp-compress-18 && echo ok无法通过,但不是大问题,可以修改/etc/ppp/options.pptpd里面注释require-mppe-128),但是cat /dev/net/tun会提示cat: /dev/net/tun: File descriptor in bad state
既然PPTP支持了,我想xl2tp也应该支持了吧。结果我是想当然了。
尝试配置的过程基本和L2tp Over Ipsec配置相同,见http://ihipop.info/2010/12/1906.html

此外因为openVZ的特殊性,ip转发规则略有不同,另外我始终无法启用ipsec。明明

cat /proc/sys/net/ipv4/ip_forward

已经返回1了,ipsec verify还是无法通过。提示

Checking that pluto is running [OK]
Pluto listening for IKE on udp 500 [FAILED]
Pluto listening for NAT-T on udp 4500 [FAILED]
Two or more interfaces found, checking IP forwarding [FAILED]

没办法,只好考虑放弃ipsec,单独假设xl2tp

[bash]vim /etc/xl2tpd/xl2tpd.conf
#dG删除所有内容,粘贴如下配置
[global]
;ipsec saref = yes
;auth file = /etc/ppp/chap-secrets
[lns default]
ip range = 10.1.2.2-10.1.2.255
local ip = 10.1.2.1
;lac = 0.0.0.0-255.255.255.255
require chap = yes
;refuse chap = yes
refuse pap = yes
require authentication = yes
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes[/bash]

[bash]vim /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[/bash]

这是另一份配置文件。来自http://www.zhangyiqun.net/1046.html

[bash]vim /etc/ppp/options.xl2tpd
ipcp-accept-local
ipcp-accept-remote
ms-dns 8.8.4.4
auth
crtscts
idle 1800
mru 1410
defaultroute
lock
proxyarp
connect-delay 5000[/bash]

配置openVZ方案的 iptables转发

[bash]iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -o venet0 -j SNAT --to-source VPS公网IP
iptables -A FORWARD -s VPS公网IP/32 -o venet0 -j ACCEPT[/bash]

XEN方案非常简单,就是和真实机器一样的

[bash]iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -o eth0 -j MASQUERADE[/bash]

用户名密码配置见这里
http://ihipop.info/2010/06/1265.html#chap-secrets

需要注意的是windows xp等系统默认会强制使用ipsec来连接,需要设置注册表禁用
导入下面的注册表

[text]Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\Parameters]
"ProhibitIpSec"=dword:00000001[/text]

或者运行下面的命令

[text]reg add "HKLM\SYSTEM\CurrentControlSet\Services\RasMan\Parameters" /v ProhibitIPSec /t REG_DWORD /d 1[/text]

此操作需要重启!



买主机还是买XEN方案的吧,一分价钱一分货~

Author Info :
  • From:Config l2tp VPN Without IPSec On Debian Host via OpenVZ
  • URL:https://blog.ihipop.com/2011/01/1996.html
  • Please Reserve This Link,Thanks!
  • 《Config l2tp VPN Without IPSec On Debian Host via OpenVZ》上有7条评论

    1. hi.
      博主可否写个debian下的l2tp vpn Without IPSec的一键安装包?我在debian vps下, 配置l2tp vpn Without IPSec老是不成功

    2. @tony
      看了你的博客
      modprobe af_key && modprobe ah4 && modprobe esp4 && modprobe ipcomp && modprobe xfrm4_tunnel && echo "All IPSec modules are loaded"
      这个值得记录

    3. @Polyphonica
      我在NAT后面使用预共享密钥连接正常啊~~~
      没办法,我也想启用IPSec 但是OpenVZ的不知道怎么回事 Ipsec老是监听127.0.0.1 而且明明已经开了forward,也提示没开启。
      ipsec verify提示UDP:500不监听啊

    4. Windows XP/Vista/7 內建 L2TP/IPSec 中的 Phase 1 Authentication 只支持 MAIN MODE, 所以你Client端除非有固定IP, 否則只能夠用 RSA (使用証書認証)
      L2TP 本身並不提供加密, 所以沒有IPSec加密的L2TP VPN不應視為安全網絡.

    发表回复

    您的电子邮箱地址不会被公开。 必填项已用 * 标注