我目前正在绞尽脑汁尝试在我的 Debian 上使用 openswan 和 xl2tp 盒配置 L2TP over IPSec VPN 连接,连接到一个配置未知的服务器。
我已成功建立连接,一切似乎都运行良好,直到我尝试将 VPN 连接设置为我的默认路由,此时我看到大量数据包同时传输(约 2 分钟内约 1.5 GB),直到服务器断开我的连接。在此之前,我所有接口上的网络流量都很小。
根据 iftop 的显示,大部分流量似乎来自端口 12,尽管我似乎无法找出具体进程。如果我只是将发往 74.0.0.0/8 的流量路由到该端口,我就能顺利通过 VPN 访问 Google 的服务器。
我的 xl2tp.conf 文件是:
[lac vpn-nl]
lns = example.vpn.com
name = myusername
pppoptfile = /etc/ppp/options.l2tpd.client
我的 options.l2tpd.client 文件是:
ipcp-accept-local
ipcp-accept-remote
refuse-eap
require-mschap-v2
noccp
noauth
idle 1800
mtu 1410
mru 1410
usepeerdns
lock
name myusername
password mypassword
connect-delay 5000
我的路由表如下:
Destination Gateway Genmask Flags Metric Ref Use Iface
10.5.2.1 * 255.255.255.255 UH 0 0 0 ppp0
10.0.50.0 * 255.255.255.0 U 0 0 0 eth0
10.50.0.0 * 255.255.0.0 U 0 0 0 eth0
10.0.0.0 * 255.255.0.0 U 0 0 0 eth0
192.168.0.0 * 255.255.0.0 U 0 0 0 eth0
loopback * 255.0.0.0 U 0 0 0 lo
default * 0.0.0.0 U 0 0 0 ppp0
在此期间,我没有在 auth.log 和 syslog 中看到任何内容,并且似乎找不到它可能写入的任何其他日志文件。
任何建议,将不胜感激!
答案1
好吧。我找到了答案。问题出在我的 ipsec.conf 文件(未显示)中,其中有以下几行:
left=10.0.50.20 # my local IP address
leftnexthop=%defaultroute
问题似乎是在我将 VPN 设置为默认路由后,它会尝试通过 VPN 发送发往 VPN 服务器的数据包,从而导致一个很好的反馈循环。修改这些行以读取
left=10.0.50.20 # my local IP address
leftnexthop=10.0.50.1 # my local gateway
并且在路由表中添加静态路由,通过 eth0 而不是 ppp0 将流量指向 VPN 服务器,这似乎已经解决了该问题。