我正在尝试建立一个ipsec VPN,从我们公司网络边缘的Draytek路由器到数字海洋上的VPS。我已经使用Ubuntu14.04机器上的这个剧本在VPS上建立了VPN。我相信脚本下载并安装了libreswan,并提示了一些基本的配置问题等等。我对脚本创建的ipsec.conf做了一些修改。我的问题是,我可以从路由器切换到VPS,我可以看到VPS上的数据包显示来自路由器的私有IP地址,但我尝试过的任何东西都不允许我沿着隧道将数据包路由回路由器。因此,从路由器的pov中可以看出,pings正在超时。
路由器在其一个接口上直接连接到因特网,并配置为10.111.1.1的本地IP地址。VPS有一个直接连接到互联网的接口。
当VPN建立时,这是VPS上的路由表:
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
default 178.62.64.1 0.0.0.0 UG 0 0 0 eth0
10.111.1.1 * 255.255.255.255 UH 0 0 0 eth0
178.62.64.0 * 255.255.192.0 U 0 0 0 eth0注第二个条目是在建立VPN时创建的。
如果我尝试ping 10.111.1.1,就会得到:
PING 10.111.1.1 (10.111.1.1) 56(84) bytes of data.
From <public IP address - eth0> icmp_seq=1 Destination Host Unreachable以下是ipsec验证的输出:
Verifying installed system and configuration files
Version check and ipsec on-path [OK]
Libreswan 3.10 (netkey) on 3.13.0-37-generic
Checking for IPsec support in kernel [OK]
NETKEY: Testing XFRM related proc values
ICMP default/send_redirects [OK]
ICMP default/accept_redirects [OK]
XFRM larval drop [OK]
Pluto ipsec.conf syntax [OK]
Hardware random device [N/A]
Two or more interfaces found, checking IP forwarding [OK]
Checking rp_filter [OK]
Checking that pluto is running [OK]
Pluto listening for IKE on udp 500 [OK]
Pluto listening for IKE/NAT-T on udp 4500 [OK]
Pluto ipsec.secret syntax [OK]
Checking 'ip' command [OK]
Checking 'iptables' command [OK]
Checking 'prelink' command does not interfere with FIPSChecking for obsolete ipsec.conf options [OK]
Opportunistic Encryption [DISABLED]以下是/etc/ipsec.conf的内容(注释掉的行是以前试验的结果,结果相同):
version 2.0
config setup
dumpdir=/var/run/pluto/
nat_traversal=yes
virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:!192.168.42.0/24
oe=off
protostack=netkey
nhelpers=0
interfaces=%defaultroute
conn vpnpsk
connaddrfamily=ipv4
auto=add
left=178.62.73.215
# leftid=178.62.73.215
# leftsubnet=178.62.73.215/32
leftsubnet=10.10.10.0/24
# leftnexthop=%defaultroute
leftnexthop=%direct
leftprotoport=17/1701
rightprotoport=17/%any
# right=%any
right=10.111.1.0/24
rightsourceip=10.111.1.1
leftsourceip=10.10.10.1
# rightsubnetwithin=0.0.0.0/0
forceencaps=yes
authby=secret
pfs=no
type=transport
auth=esp
ike=3des-sha1,aes-sha1
phase2alg=3des-sha1,aes-sha1
rekey=no
keyingtries=5
dpddelay=30
dpdtimeout=120
dpdaction=clear这是路由器中路由表的相关部分:
Key: C - connected, S - static, R - RIP, * - default, ~ - private
* 0.0.0.0/ 0.0.0.0 via <public IP address> WAN2
S~ 10.10.10.0/ 255.255.255.0 via 178.62.73.215 VPN-10
C~ 10.111.1.0/ 255.255.255.0 directly connected LAN
C <public IP address>/ 255.255.255.224 directly connected WAN2会感谢有人指出我做错了什么。
谢谢。
发布于 2014-12-04 13:47:00
好的,我无意中找到了解决方案,去掉了左端17/1701和右原托特=17/%any的线。不知道这怎么能买到嘿嘿!我现在可以从服务器切换到路由器,也可以平移挂在路由器上的设备。我现在有了另一个问题,但我会提出另一个问题。谢谢大家。
https://serverfault.com/questions/648540
复制相似问题