背景是:我想建立一个 utun,把数据包都导到 utun,再由 utun 处理(例如过滤、加密)后发出去(直连或发到代理)。
问题是本机已有 en0 默认路由,只能选择曲线救国,添加 0/1,128/1 两条路由到 utun,但是这样的话,utun 就没法直连了。
查看了系统 Network Extension 的做法,路由表如下( en0 也有一个 default ):
╰─ netstat -rn -f inet | grep utun
default link#18 UCS 24 0 utun2
8.8.8.8 link#18 UHW3I 0 0 utun2 25
13.32.254.219 link#18 UHWIi 1 18 utun2
13.75.94.24 link#18 UHWIi 3 37 utun2
17.167.135.57 link#18 UHWIi 1 12 utun2
17.167.135.59 link#18 UHWIi 17 234 utun2
17.188.148.184 link#18 UHW3I 0 1 utun2 22
17.188.165.207 link#18 UHWIi 1 19 utun2
17.248.130.210 link#18 UHWIi 1 11 utun2
17.249.44.8 link#18 UHW3I 0 1 utun2 22
17.249.44.14 link#18 UHWIi 1 29 utun2
23.57.1.247 link#18 UHWIi 4 9 utun2
35.167.148.66 link#18 UHWIi 1 13 utun2
61.135.217.100 link#18 UHWIi 1 5 utun2
65.54.238.85 link#18 UHW3I 0 3 utun2 23
104.80.88.91 link#18 UHWIi 1 7 utun2
104.80.88.107 link#18 UHWIi 1 8 utun2
151.101.53.147 link#18 UHW3I 0 2 utun2 22
157.56.74.180 link#18 UHWIi 7 41 utun2
173.194.202.188 link#18 UHWIi 2 14 utun2
180.149.156.143 link#18 UHW3I 0 1 utun2 22
184.73.220.206 link#18 UHWIi 3 12 utun2
192.0.2.1 192.0.2.1 UH 0 0 utun2
203.205.146.16 link#18 UHWIi 1 9 utun2
203.205.146.17 link#18 UHWIi 1 6 utun2
207.254.73.244 link#18 UHWIi 1 11 utun2
224.0.0/4 link#18 UmCS 0 0 utun2
255.255.255.255/32 link#18 UCS 0 0 utun2
╰─ ifconfig
utun2: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
inet 192.0.2.1 --> 192.0.2.1 netmask 0xffffff00
对路由表不是很熟悉,请教这样的路由表是如何创建的?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.