Ip

嘗試添加/設置預設網關時沒有任何反應

  • December 21, 2015

我使用 VPN(由 NetworkManager 管理,Fedora 23)連接到網路,我想通過 VPN 網路路由所有流量。但是由於某種原因,當我跑步ip route addip 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

預設網關沒有更新,有人知道為什麼嗎?

替換預設網關的正確方法是

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地址,但是tun0tap0必須插入一個網橋,它是新的網橋,br0它接收 IP 地址。 tun0確實會收到 IP 地址,但不需要將其插入網橋。

那麼,你需要哪一個?這取決於您的伺服器。您想連接哪種 VPN?開放式VPN?如果是這樣,那是arouted還是bridgedVPN?一旦您回答了這些問題,我也許可以為您提供更多幫助。

引用自:https://unix.stackexchange.com/questions/250704