如果 openvpn 正在运行,正常的互联网连接将不起作用。
我的 wlan 路由器是 192.168.178.1
root@e520:~# ip route show
default via 192.168.178.1 dev eth0 proto static
10.0.0.0/8 via 192.168.156.1 dev tap0
128.0.0.0/1 via 192.168.156.1 dev tap0
169.254.0.0/16 dev wlan0 scope link metric 1000
172.17.6.0/24 via 192.168.156.1 dev tap0
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1
192.168.156.0/24 dev tap0 proto kernel scope link src 192.168.156.15
192.168.178.0/24 dev eth0 proto kernel scope link src 192.168.178.21 metric 1
192.168.178.0/24 dev wlan0 proto kernel scope link src 192.168.178.25 metric 2
194.113.71.71 via 192.168.178.1 dev wlan0
如果我尝试建立非 OpenVPN 连接,则会选择错误的路由:
root@e520:~# tcptraceroute web.de http
Selected device tap0, address 192.168.156.15, port 41576 for outgoing packets
Tracing the path to web.de (217.72.200.132) on TCP port 80 (www), 30 hops max
1 ... hanging
为什么192.168.156.15用于访问这个IP地址?
答案1
web.de has address 217.72.200.132
路由表中最长的前缀匹配是:
128.0.0.0/1 via 192.168.156.1 dev tap0
这告诉内核通过 VPN 路由数据包。你有redirect-gateway
选项集(在客户端配置中,或由服务器推送)。这会导致 OpenVPN 添加路由,以便所有流量都通过 VPN 路由(虽然我不确定为什么您有 128/1 而不是 0/1)。删除配置指令redirect-gateway
,您的路由应该可以正常工作。