路由启用ping VPN服务器

我想能够通过tun0上build立的VPN连接从客户端访问服务器networking。 我有以下设置:

  • 客户端(tun0上的10.8.0.6和wlan上的172.28.220.95)
  • VPN服务器(tun0上的10.8.0.1和eth上的192.168.178.32)
  • 服务器端networking(192.168.178.0/24)

在客户端路由

client$ ip route show 10.8.0.0/24 dev tun0 scope link src 10.8.0.6 client$ ip route show table local local 10.8.0.6 dev tun0 proto kernel scope host src 10.8.0.6 local 172.28.220.95 dev wlp2s0 proto kernel scope host src 172.28.220.95 

而在服务器端:

 server$ ip route show default via 192.168.178.1 dev eth0 10.8.0.0/24 dev tun0 scope link 192.168.178.0/24 dev eth0 proto kernel scope link src 192.168.178.32 server$ ip route show table local local 10.8.0.1 dev tun0 proto kernel scope host src 10.8.0.1 local 192.168.178.32 dev eth0 proto kernel scope host src 192.168.178.32 

为了清楚起见,不相关的路线和广播路线被遗漏了。

服务器可以在10.8.0.1上自己ping。 客户端可以自己在10.8.0.6。 但是,当我尝试从服务器ping客户端,反之亦然,我没有得到任何答复(但没有错误,除了100%的数据包丢失)。

关于这里出了什么问题的任何想法? 我也不太明白IP地址的对端地址的含义。

 # server 4: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100 link/none inet 10.8.0.1 peer 10.8.0.2/32 scope global tun0 # client 8: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100 link/none inet 10.8.0.6 peer 10.8.0.5/32 brd 10.8.0.6 scope global tun0 

两个tun0显然都有一个IP地址不匹配。 这是一个点对点的连接。 无需广播并进行第2层地址parsing。 离开这个界面的一切都达到了目标。 只涉及两个地址。 在这两个系统上,一个必须是本地tun0地址,另一个是对等地址。

如果地址不匹配,您很难拥有正在运行的VPN连接。 所以如果服务器输出是正确的,那么客户端输出必须是

 # client 8: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100 link/none inet 10.8.0.2 peer 10.8.0.1/32 brd 10.8.0.6 scope global tun0 

其中一个configuration文件可能有错误。