Linux 路由表简介
Linux 路由表管理主要通过 ip route
命令,早前的发行版可以用 route
或 netstat -r
命令,本质上是一样的,但因为前者功能更强大所以已逐渐取代后者。
下面两张图是笔者在自己的树莓派上分别使用 ip route
和 route -n
命令查看路由的输出结果:
ip route
命令:
route -n
命令:
一个 IP 包的寻路过程是通过目的 IP 去匹配路由条目,匹配过程是最长路径匹配,也就是说报文优选掩码最长的路由,比如 10.0.0.0/24
和 10.0.0.1/32
,会优先匹配后者。
路由条目按照目标地址不同可以分为主机路由、网络路由和默认路由,下面我们按照这三种分类举例解释一下每种条目所代表的含义。