linux openvpn 客户端连接到服务器但无法访问互联网

linux openvpn 客户端连接到服务器但无法访问互联网

我在 Linux 上使用 openvpn 时遇到问题。我在 Windows 虚拟机上测试过,运行正常。使用 Linux 连接时,我仍然可以 ping 通 IP 地址(如“8.8.8.8”),但无法访问网站。显示以下服务器日志:

Fri Jul  8 10:48:41 2016 us=369113 client1/84.14.214.213:27118 TUN WRITE [51]
Fri Jul  8 10:48:41 2016 us=466396 client1/84.14.214.213:27118 UDPv4 READ [77] from [AF_INET]84.14.214.213:27118: P_DATA_V1 kid=0 DATA len=76
Fri Jul  8 10:48:41 2016 us=466751 client1/84.14.214.213:27118 MULTI: bad source address from client [192.168.19.82], packet dropped

我在 Linux 和 Windows 上使用完全相同的配置,所以我猜测它来自 Linux 上的外部配置。

IP“192.168.19.82”应该是我的 eth0 上的 Linux IP 地址。

以下是我连接到 VPN 后的客户端路由:

root /home/user # ip r
0.0.0.0/1 via 10.8.0.5 dev tun0 
default via 192.168.19.254 dev eth0 
10.8.0.1 via 10.8.0.5 dev tun0 
10.8.0.5 dev tun0  proto kernel  scope link  src 10.8.0.6 
128.0.0.0/1 via 10.8.0.5 dev tun0 
my_vpn_server_ip via 192.168.19.254 dev eth0 

答案1

如果您使用分割隧道,请添加内部子网的静态路由。如果您使用 VPN 服务器作为网关,并且 VPN 服务器将帮助将数据包转发到互联网,请删除以下路由条目并添加指向隧道 IP 的默认路由条目:

默认通过 192.168.19.254 dev eth0

另外,请使用 nslookup 检查 DNS 是否正常工作。

希望这可以帮助。

相关内容