TCPIP linux路由表详解
程序员文章站
2022-06-02 18:49:00
...
TCP/IP linux路由表详解
Linux内核的路由表
通过route -n命令查看Linux内核路由表:
[[email protected] ~]# route -n
Kernel IP routing table
Destination Gateway Genmask FLags Metric Ref Use Iface
0.0.0.0 10.139.128.1 0.0.0.0 UG 0 0 0 eth0
10.0.0.10 10.139.128.1 255.255.255.255 UGH 0 0 0 eth0
10.139.128.0 0.0.0.0 255.255.224.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
字段 | 含义 |
---|---|
Destination | 目的网络或者目标主机;当Destination为default(0.0.0.0)时,表示所有数据发送到默认网关,上图中所示为10.139.128.1 |
Gateway | 网关地址,0.0.0.0表示当前记录对应的Destination与本机所属网络相同,通信时不需要路由。 |
Genmask | Destination的网络掩码 |
Flags | U-路由是活动的;H-目标是一个主机;G-路由指向网关;R-恢复动态路由产生的表项;D-由路由的后台程序动态地安装;M-由路由的后台程序修改;!-拒绝路由 |
Metric | 路由距离,到达指定网络所需的中转数(linux内核中没有使用) |
Ref | 路由项引用次数 |
Use | 此路由项被路由软件查找的次数 |
Iface | 网卡名字,如上图中的eth0。网卡名字可通过ifocnfig命令查看 |
Linux内核的路由种类
主机路由
路由表中指向单个IP地址或者主机名的路由记录,其Flags字段为UGH。例如,在下面的示例中,本地主机通过IP地址为10.139.128.1的路由器到达IP地址为10.0.0.10的主机。
[[email protected] ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.10 10.139.128.1 255.255.255.255 UGH 0 0 0 eth0
网络路由
网络路由是代表主机可以到达的网络。下图示例中,对于10.0.0.0网络,通过网关10.139.128.1的路由器可以达到。
[[email protected] ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.0 10.139.128.1 255.255.255.0 UG 0 0 0 eth0
默认路由
当目标主机的IP地址或网络不在路由表中时,数据包就被发送到默认路由上。默认路由的Flags字段为G。在下面的示例中,默认路由是IP地址为192.168.1.1的路由器。默认路由的Destination是default或0.0.0.0。
[[email protected] ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
推荐阅读