Linux路由表

2018-04-09  本文已影响611人  EVANMORE

Linux系统中可以定义从1-252个路由表,系统本身维护了4个路由表:

table number Description
0 系统保留表
253 default表,没有指定的默认路由都放在这个表里面
254 main表,没有指明路由表的所有路由都会放到这个表里面
255 local表,保存本地接口地址,广播地址,NAT地址,系统自己维护,不可以修改

查看一下文件/etc/iproute2/rt_tables,这里面保存了路由表序号和名字的关系

255     local
254     main
253     default
0       unspec

当然你可以通过命令添加自己定义的路由表。

1. 路由类型

依据子网掩码的类型可以分为三类,

路由类型 子网掩码 Flag字段 描述
主机路由 255.255.255.255 UH 指向单个IP地址或主机名的路由记录
网络路由 255.255.255.0 UN 代表主机可以到达的网络,比如说目的地址是192.19.12
默认路由 0.0.0.0 UG 当主机不能在路由表中查找到目标主机的IP时,数据包就发到默认路由上

2. 查看路由表

有两个命令,一个是route -n,另一个是ip route show,两个的输出是截然不同的,第二个命令默认显示main路由表的内容,

2.1. 查看main路由表

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.99.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         192.168.99.254  0.0.0.0         UG    0      0        0 eth0

$ip route show
192.168.99.0/24 dev eth0  scope link 
127.0.0.0/8 dev lo  scope link 
default via 192.168.99.254 dev eth0

上面两种显示方式虽然不太一样,但是他们表达的意思还是一样的。

  1. 回环网络的路由
    127.0.0.0/8是回环网络的路由信息;
  2. 依据网络接口的IP而产生的路由信息
  1. 默认路由

关于IP地址的scopt的描述,举个例子来说,比如说127.0.0.1这个地址属于local地址,它的scope就是host;比如说一个物理网卡分配了IP是192.168.56.101,这个地址就属于global的。

Scope 描述
global 全局合法
site 只在这个站点合法 (IPv6)
link 只在这个设备合法
host 只在这个host(机器)合法

2.2. 查看local路由表

$ ip route show table local
local 192.168.99.35 dev eth0  proto kernel  scope host  src 192.168.99.35 
broadcast 127.255.255.255 dev lo  proto kernel  scope link  src 127.0.0.1 
broadcast 192.168.99.255 dev eth0  proto kernel  scope link  src 192.168.99.35 
broadcast 127.0.0.0 dev lo  proto kernel  scope link  src 127.0.0.1 
local 127.0.0.1 dev lo  proto kernel  scope host  src 127.0.0.1 
local 127.0.0.0/8 dev lo  proto kernel  scope host  src 127.0.0.1

输出的信息有助于我们了解这个机器直接连接的IP网络的信息,以及了解这个路由表是怎么去处理一些特殊地址,比如说广播地址

3. 显示路由缓存

内核通常会参考路由缓存表来进行路由,可以通过一下命令来查看

$ ip route show cache 192.168.100.17
192.168.100.17 from 192.168.99.35 via 192.168.99.254 dev eth0 
    cache  mtu 1500 rtt 18ms rttvar 15ms cwnd 15 advmss 1460
192.168.100.17 via 192.168.99.254 dev eth0  src 192.168.99.35 
    cache  mtu 1500 advmss 1460
上一篇 下一篇

猜你喜欢

热点阅读