阿里云的服务器,CentOS 7,用 routel 查看得到的路由表里面 default 的 gateway 是一个 172 开头的内网 ip,也就是我的网关,但是用 traceroute 测试到任何一个公网的 ip 的路由,开头的几跳里面都没有我的网关,而是 10 开头的内网 ip,我的路由表中也没有任何 10 开头的 ip 。
例如: 我的路由表的 default:
target gateway source proto scope dev tbl default 172.17.x.x eth0
traceroute 的前几跳
traceroute to bing.com (13.107.21.200), 30 hops max, 60 byte packets 1 10.12.4.46 (10.12.4.46) 1.334 ms 10.4.40.10 (10.4.40.10) 1.323 ms 10.12.16.42 (10.12.16.42) 1.172 ms 2 10.4.44.65 (10.4.44.65) 4.187 ms 10.12.4.73 (10.12.4.73) 4.159 ms * 3 10.54.130.5 (10.54.130.5) 4.114 ms 11.217.0.18 (11.217.0.18) 2.181 ms 11.217.0.50 (11.217.0.50) 2.161 ms
所以这里路由表为什么不起作用了呢?
![]() | 1 HertzHz 2021-08-31 11:47:14 +08:00 ![]() traceroute 里的 IP 是路由器任意设置的,如果一个路由器存在多个网卡多个 IP 就会出现这种情况。 |
2 trepwq 2021-08-31 12:28:41 +08:00 via iPhone 1:1nat |
3 julyclyde 2021-08-31 15:08:14 +08:00 route get 对方 ip 看一下返回内容 |
![]() | 4 wangyu17455 2021-08-31 20:19:49 +08:00 你自己的虚拟专用网以一个 10 开头的 ip 接入了阿里云的好多个虚拟专用网构成的那个大网,在属于你自己的虚拟专用网里网关的 ip 是 172.xxx(这是你自己设置的),也就是多层 nat ? |