在 archlinux (4.20) 上使用 Openswan 和 xl2tp 连接到 vpn,我可以创建隧道,并且创建 ppp 接口,但是它获取了错误的 ip 地址:
enp4s0: <BROADCAST,MULTICAST,DYNAMIC,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
inet 192.168.0.10/24 brd 192.168.0.255 scope global enp4s0
ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1280 qdisc fq_codel state UNKNOWN group default qlen 3
link/ppp
inet 192.168.0.10 peer 172.16.210.254/32 scope global ppp0
ppp 获取的是本地(客户端)IP 地址,而不是 vpn 提供的 IP 地址,因此我可以 ping 172.16.210.254,但无法 ping vpn 中的任何其他地址。
我在 journalctl 中发现的这 2 个错误似乎很奇怪,但我在网上找不到原因:
pppd[2485]: not replacing existing default route via 192.168.0.1
pppd[2485]: Cannot determine ethernet address for proxy ARP
和
connmand[593]: Inconsistent IP pool management (start not found)
结果如下route -n
:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 enp4s0
1.1.1.1 192.168.0.1 255.255.255.255 UGH 0 0 0 enp4s0
8.8.8.8 192.168.0.1 255.255.255.255 UGH 0 0 0 enp4s0
172.16.0.0 172.16.210.254 255.240.0.0 UG 0 0 0 ppp0
172.16.210.254 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 enp4s0
192.168.0.1 0.0.0.0 255.255.255.255 UH 0 0 0 enp4s0
我已经在装有 Debian 8 的 VM 上测试了完全相同的配置,并且可以运行。
这是我的配置
xl2tpd.conf
::
[lac vpn]
lns = x.x.x.x # VPN public ip
ppp debug = yes
pppoptfile = /etc/ppp/options.l2tpd
length bit = yes
点对点options.l2tp
:
ipcp-accept-local
ipcp-accept-remote
refuse-eap
require-mschap-v2
noccp
noauth
idle 1800
mtu 1410
mru 1410
defaultroute
usepeerdns
debug
connect-delay 5000
name *****
password *****
ipsec.conf
:
version 2.0 # conforms to second version of ipsec.conf specification
config setup
virtual_private=%v4:10.0.0.0/8,%v4:172.16.0.0/12,%v4:192.168.0.0/24
nat_traversal=yes
protostack=netkey
oe=off
plutoopts="--interface=enp4s0"
conn L2TP
authby=secret
pfs=no
auto=add
keyingtries=3
dpddelay=30
dpdtimeout=120
dpdaction=clear
rekey=yes
ikelifetime=8h
keylife=1h
type=transport
left=192.168.0.10
leftnexthop=%defaultroute
leftprotoport=17/1701
right=x.x.x.x # VPN public IP
rightprotoport=17/1701