本机开了 VPN 。为了让全局流量都走 VPN ,加了类似如下路由:
0.0.0.0/1 dev vpn
128.0.0.0/1 dev vpn
除此之外,还加了几条路由让 VPN 服务器直连。配置好后,正常上网没有问题。
但用 wireshark 试着抓了一下本地接口上的包,发现有 ip 绕过了路由直连。后来发现,这个 ip 应该是 connectivity-check.ubuntu.com 的 ip ( 35.224.170.84 )。上网搜了一下,应该是 NetworkManager 发起的。
我检查过 ip rule ,只有默认的几个规则和路由表。并且我自己 ping 了一下 35.224.170.84 ,wireshark 并抓不到 icmp 包(因为按理说,这个 ip 该走的是 vpn 接口再从本地接口发送出去,所以在本地接口上是看不到的),所以路由规则应该没错,而是被某种方式绕过了。比较好奇,NetworkManager 是通过什么方式绕开了系统的路由的?
0.0.0.0/1 dev vpn
128.0.0.0/1 dev vpn
除此之外,还加了几条路由让 VPN 服务器直连。配置好后,正常上网没有问题。
但用 wireshark 试着抓了一下本地接口上的包,发现有 ip 绕过了路由直连。后来发现,这个 ip 应该是 connectivity-check.ubuntu.com 的 ip ( 35.224.170.84 )。上网搜了一下,应该是 NetworkManager 发起的。
我检查过 ip rule ,只有默认的几个规则和路由表。并且我自己 ping 了一下 35.224.170.84 ,wireshark 并抓不到 icmp 包(因为按理说,这个 ip 该走的是 vpn 接口再从本地接口发送出去,所以在本地接口上是看不到的),所以路由规则应该没错,而是被某种方式绕过了。比较好奇,NetworkManager 是通过什么方式绕开了系统的路由的?