当在OpenVPN固件上使用OpenWRT时,我无法获得通过VPN隧道路由的流量。
路由器是一个WRT3200ACM,连接到Ubuntu上的OpenVPN服务器。
OpenVPN客户端正在连接,我可以从路由器上的SSH控制台在远程网络上平ip。但是,当建立OpenVPN连接时,网络上的所有连接端客户端都将与internet断开连接。
OpenVPN客户端配置当前如下所示:
dev tun
proto udp
remote x.x.x.x 1194
cipher AES-256-CBC
auth SHA1
resolv-retry infinite
nobind
persist-key
persist-tun
client
redirect-gateway def1
verb 3
<ca>
-----BEGIN CERTIFICATE-----
REMOVED
-----END CERTIFICATE-----
</ca>
key-direction 1
<tls-auth>
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
REMOVED
-----END OpenVPN Static key V1-----
</tls-auth>
<cert>
-----BEGIN CERTIFICATE-----
REMOVED
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
REMOVED
-----END PRIVATE KEY-----
</key>这种配置在Windows和MacOS客户端上运行得很好,流量被正确地路由,但是一旦我在Linksys WRT3200ACM路由器上连接了它,事情就会出错。
我还在路由器上使用了OpenWRT固件进行了测试,但问题是一样的,但是在使用OpenWRT时不可能对远程ip进行ping,因此OpenWRT解决方案的工作情况稍微好一些。
本地网络配置是:
Network: 192.168.237.0
Subnet: 255.255.255.0
GW: 192.168.237.1远程网络配置是:
Network: 192.168.37.0
Subnet: 255.255.255.0
GW: 192.168.37.1OpenVPN虚拟网络配置是:
Network: 10.8.0.0
Subnet: 255.255.255.0
GW: 10.8.0.1
IP-range: 10.8.0.6-10
OpenVPN server: 10.8.0.5发布于 2018-06-28 23:12:23
我认为在你的情况下,这是一个路由问题。您说明配置在客户端上运行良好,因此您的客户端在10.8.0.6-10/24范围内获得一个IP-Addr,并通过Ubuntu路由所有通信量。这里的发送IP是一个10.8.0.x IP。此外,ping在连接本地路由器时与SSH一起工作,而不是从客户端。如果您希望您的所有客户端通过OpenVPN-隧道连接到internet,那么发送IP地址是192.168.237.0 -因此您的本地网络。在默认情况下,Ubuntu服务器对该网络一无所知。你在这里有两个选择:
192.168.237.0/24 IP访问网络10.8.0.x的静态路由。然后,您必须确保路由器始终获得完全相同的IP地址。quagga-zebra和quagga-ripd来轻松地启用它。那么你就不必关心OpenVPN中路由器的动态IP了。如果Ubuntu服务器不直接访问internet并执行NAT,则必须将路由进一步分发到您的下一个设备/防火墙,以使它能够返回到您的客户端。无论是通过RIP还是通过静态路由。你可能也得调整NAT声明了。
https://serverfault.com/questions/915931
复制相似问题