欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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