在探索我的本地openVPN虚拟接口如何utun0
工作时,我遇到了以下数据,我不知道如何理解它。(我在 Mac 上)
$ netstat -nr
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
0/1 10.8.0.5 UGSc 61 0 utun0
default 192.168.7.254 UGSc 7 0 en0
10.8.0.1/32 10.8.0.5 UGSc 1 0 utun0
10.8.0.5 10.8.0.6 UHr 110 12 utun0
54.242.164.191/32 192.168.7.254 UGSc 2 0 en0
...
看起来“0/1”是 CIDR 表示法。那是对的吗?如果是这样,我有后续问题。根据我的理解,接口是根据哪个子网与目标 ip 匹配来选择的。对于 0/1,只有第一位为 0 的 ip 地址才会匹配——这意味着只有 ip 地址 >= 128.0.0.0 会匹配。真的吗?我可以相信,除非我得到这个
$ ip route get 8.8.8.8
8.8.8.8 via 10.8.0.5 dev utun0 src 10.8.0.6
所以现在我真的很困惑“0/1”是什么意思以及为什么这条路线胜过默认路线。
编辑
0/1 实际上意味着 <128.0.0.0,但是,我仍然得到这个:
$ ip route get 198.41.208.137
198.41.208.137 via 10.8.0.5 dev utun0 src 10.8.0.6
所以大于和小于 128.0.0.0 的 ip 地址都通过路由器。如何?为什么?
我也看到了 128/1:
$ netstat -nr
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
0/1 10.8.0.5 UGSc 63 0 utun0
default 192.168.7.254 UGSc 5 0 en0
...
128.0/1 10.8.0.5 UGSc 42 0 utun0
...
所以@Teun Vink 似乎是正确的。