我使用 VPN 连接到网络(由 NetworkManager 管理,Fedora 23),并且我想通过 VPN 网络路由所有流量。但由于某种原因,当我跑步ip route add
或ip route default
root@laptop:~ $ ip route
default via 192.168.144.1 dev wlp68s0b1 proto static metric 600
10.135.0.0/16 dev tap0 proto kernel scope link src 10.135.100.16 metric 50
192.168.144.0/24 dev wlp68s0b1 proto kernel scope link src 192.168.144.136 metric 600
并跑了 ip route replace
:
root@laptop:~ $ ip route replace default via 10.135.0.2 dev tap0
root@laptop:~ $ ip route
default via 192.168.144.1 dev wlp68s0b1 proto static metric 600
10.135.0.0/16 dev tap0 proto kernel scope link src 10.135.100.16 metric 50
192.168.144.0/24 dev wlp68s0b1 proto kernel scope link src 192.168.144.136 metric 600
跑步的时候也是同样的情况ip route add
root@laptop:~ $ ip route add default via 10.135.0.2 dev tap0
root@laptop:~ $ ip route
default via 192.168.144.1 dev wlp68s0b1 proto static metric 600
10.135.0.0/16 dev tap0 proto kernel scope link src 10.135.100.16 metric 50
192.168.144.0/24 dev wlp68s0b1 proto kernel scope link src 192.168.144.136 metric 600
默认网关没有更新,有人知道为什么吗?
答案1
更换默认网关的正确方法是
ip route del default via 192.168.144.1
ip route add default via x.y.w.z dev $DEV
我之所以没有在上一个命令中包含您希望看到的值(10.135.0.2 和tap0
),是因为这不是强制所有流量通过 VPN 的正确方法。但是,您无法拥有正确的路由表,因为您尚未将虚拟接口与以太网 NIC 桥接。通常,这是自动完成的,因此缺少适当的桥接表明您缺少某些组件。
也许,您丢失了bridge-utils
包裹。但还有另一种可能,即您创建了错误的虚拟接口。tap0
不应该接收 IP 地址,但事实却tun0
是。tap0
必须插入一个网桥,并且是新的网桥,br0
它接收IP地址。 tun0
确实接收 IP 地址,但不需要插入网桥。
那么,您需要哪一个?这取决于您的服务器。您尝试连接哪种 VPN?开放VPN?如果是的话,那是VPNrouted
吗bridged
?一旦您回答了这些问题,我也许可以为您提供更多帮助。