linux对于$route -n命令查看路由表的困惑?
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.55.1 0.0.0.0 UG 600 0 0 wlp3s0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlp3s0
192.168.55.0 0.0.0.0 255.255.255.0 U 600 0 0 wlp3s0
对于0.0.0.0有一点不了解。这是查到的对于0.0.0.0的解释:
If used in a routing table, it identifies the default gateway; a route to 0.0.0.0 is the default one, i.e. the one used when there is not any more specific route available to a destination address.
问题一:Destination中这个0.0.0.0代表的是啥?是匹配所有的目标ip吗,如果这样的话,后面两条记录不就失去意义了吗?
问题二:第二条和第三条记录Gateway中0.0.0.0表示的default gateway又是哪一个网关?而第一条记录查处的Gateway 192.168.55.1这个网关地址就是家里的路由器吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
问题一:0.0.0.0代表的是匹配所有目标地址,但注意默认网关的描述
the one used when there is not any more specific route available to a destination address
,一般路由匹配要符合掩码最长匹配
原则,而默认路由的掩码是最短的,它只有在没有其他匹配条目的时候才会被选择。问题二:这两条记录中的gateway并没有意义,
Flags
那一列中有G
时才会使用Gateway
。这两条路由并没有这样的标志,由于它们是本地的,匹配这些条目的数据包会直接通过Iface
列中的网卡发送出去。