Linux 路由表说明
Posted 夏沫の浅雨
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 路由表说明相关的知识,希望对你有一定的参考价值。
写在前面:
本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。
目录
route 命令
选项:
-
-v
:显示详细信息。 -
-n
:不执行 DNS 反向查找(即不解析名称),直接显示数字形式的 IP 地址。 -
-e
:netstat 格式显示路由表。 -
-C
:打印 Linux 内核的路由缓存。 -
add
:增加路由记录 /del
:删除路由记录-net
:目的地址是一个网络。-host
:目的地址是一台主机。netmask
:目的地址的网络掩码。gw
:路由数据包通过的网关。metric
:设置路由跃点。
eg:
1、添加主机路由
route add -net 10.0.0.10 netmask 255.255.255.255 gw 10.139.128.1 dev eth0
route -n
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
...
2、添加网络路由
route add -net 10.0.0.0 netmask 255.255.255.0 gw 10.139.128.1 dev eth0
route -n
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
...
3、添加设置默认网关跃点为 80
route add default gw 192.168.1.1 metric 80
route -n
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
...
4、删除路由
route del default gw 192.168.1.1 metric 80
字段分析
使用 route
or route -n
命令查看内核路由表:
route
Destination Gateway Genmask Flags Metric Ref Use Iface
default _gateway 0.0.0.0 UG 100 0 0 ens33
default _gateway 0.0.0.0 UG 1000 0 0 br0
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 br0
192.168.29.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33
_gateway 0.0.0.0 255.255.255.255 UH 100 0 0 ens33
route -n
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.29.2 0.0.0.0 UG 100 0 0 ens33
0.0.0.0 192.168.10.1 0.0.0.0 UG 1000 0 0 br0
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 br0
192.168.29.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33
192.168.29.2 0.0.0.0 255.255.255.255 UH 100 0 0 ens33
字段分类说明:
字段 | 说明 |
---|---|
Destination | 目标网络或目标主机。Destination 为 default(0.0.0.0 )时,表示这个是默认网关,所有数据都发到这个网关(这里是 10.139.128.1 )。 |
Gateway | 网关地址,0.0.0.0 表示当前记录对应的 Destination 跟本机在同一个网段,通信时不需要经过网关(同一个局域网内2台主机通信不需要经过网关)。 |
Genmask | Destination 字段的网络掩码,Destination 是主机时需要设置为 255.255.255.255 ,是默认路由时会设置为 0.0.0.0 。 |
Flags | 见下文说明。 |
Metric | 跃点,指到达指定网络所需的中转数,是大型局域网和广域网设置所必需的 (不在 Linux 内核中使用)。 |
Ref | 路由项引用次数 (不在 Linux 内核中使用)。 |
Use | 此路由项被路由软件查找的次数。 |
Iface | 网卡名字,例如 eth0 ;要去往这个网段需要使用哪一个网络接口。也就是 eth0 这张网卡。 |
可以看到 Flags 下面有许多字母组合,他们分别的含义是:
-
U (route is up) :该路由处于活跃;
-
H (target is a host) :目标是一部主机 (IP) 而非网域(子网掩码是 255.255.255.255);
-
G (use gateway) :需要透过外部的主机 (gateway) 来转递封包(一般指向默认网关);
-
R (reinstate route for dynamic routing) :使用动态路由时,恢复路由资讯的旗标;
-
D (dynamically installed by daemon or redirect) :已经由服务或转 port 功能设定为动态路由
-
M (modified from routing daemon or redirect) :路由已经被修改了;
-
! (reject route) :这个路由将不会被接受(用来抵挡不安全的网域)。
路由种类
路由类型 | 子网掩码 | Flag字段 | 描述 |
---|---|---|---|
主机路由 | 255.255.255.255 | UH | 指向单个 IP 地址或主机名的路由记录 |
网络路由 | 255.255.255.0 | U | 代表主机可以到达的网络,比如说目的地址是 192.168.10.xxx |
默认路由 | 0.0.0.0 | UG | 当主机不能在路由表中查找到目标主机的 IP 时,数据包就发到默认路由上 |
以上是关于Linux 路由表说明的主要内容,如果未能解决你的问题,请参考以下文章
linux netstat(网络信息统计) 工具说明及使用方法(检验本机各端口的网络连接情况,显示网络连接路由表网络接口)