Linux之route命令
route命令⽤来显⽰并设置Linux内核中的⽹络路由表,route命令设置的路由主要是静态路由。要实现两个不同的⼦⽹之间的通信,需要⼀台连接两个⽹络的路由器,或者同时位于两个⽹络的⽹关来实现。
在Linux系统中设置路由通常是为了解决以下问题:该Linux系统在⼀个局域⽹中,局域⽹中有⼀个⽹关,能够让机器访问
Internet,那么就需要将这台机器的ip地址设置为Linux机器的默认路由。要注意的是,直接在命令⾏下执⾏route命令来添加路由,不会永久保存,当⽹卡重启或者机器重启之后,该路由就失效了;可以在/etc/rc.local中添加route命令来保证该路由设置永久有效。
命令语法
route(选项)(参数)
命令选项
-A:设置地址类型;
-C:打印将Linux核⼼的路由缓存;
-v:详细信息模式;
-n:不执⾏DNS反向查,直接显⽰数字形式的IP地址;
-e:netstat格式显⽰路由表;
-net:到⼀个⽹络的路由表;
-host:到⼀个主机的路由表。
命令参数
add:增加指定的路由记录;
del:删除指定的路由记录;
target:⽬的⽹络或⽬的主机;
gw:设置默认⽹关;
mss:设置TCP的最⼤区块长度(MSS),单位MB;
window:指定通过路由表的TCP连接的TCP窗⼝⼤⼩;
dev:路由记录所表⽰的⽹络接⼝。
显⽰当前路由
> route
显⽰当前路由表(显⽰ip地址)
> route -n
route -n不执⾏DNS反向查,直接显⽰数字形式的IP地址,列出速度会⽐route快
字段说明
列含义
Destination⽬标⽹络或⽬标主机。Destination 为 default(0.0.0.0)时,表⽰这个是默认⽹关,所有数据都发到这个⽹关(这⾥是
10.139.128.1)
Gateway⽹关地址,0.0.0.0 表⽰当前记录对应的 Destination 跟本机在同⼀个⽹段,通信时不需要经过⽹关
Genmask Destination 字段的⽹络掩码,Destination 是主机时需要设置为 255.255.255.255,是默认路由时会设置为 0.0.0.0
Flags标记,含义参考表格后⾯的解释
Metric路由距离,到达指定⽹络所需的中转数,是⼤型局域⽹和⼴域⽹设置所必需的(不在Linux内核中使⽤。)
Ref路由项引⽤次数(不在Linux内核中使⽤。)
Use此路由项被路由软件查的次数
Iface⽹卡名字,例如 eth0
Flags 含义
U 路由是活动的
H ⽬标是个主机
G 需要经过⽹关
R 恢复动态路由产⽣的表项
D 由路由的后台程序动态地安装
M 由路由的后台程序修改
! 拒绝路由
route add命令实例主机路由
路由表中指向单个 IP 地址或主机名的路由记录,其 Flags 字段为 H。下⾯⽰例中,对于10.0.0.8这个主机,通过⽹关192.168.0.1⽹关路由:
> route add -net 10.0.0.8 gateway 192.168.0.1 netmask 255.255.255.255 dev eth0
> route -n
Destination    Gateway        Genmask        Flags Metric Ref    Use Iface
10.0.0.8        192.168.0.1    255.255.255.255 UGH  0      0        0 eth0
⽹络路由
主机可以到达的⽹络。下⾯⽰例中,对于10.0.0.0/24这个⽹络,通过⽹关192.168.0.1⽹关路由:
> route add -net 10.0.0.0/24 gateway 192.168.0.1  dev eth0
> route -n
Destination    Gateway        Genmask        Flags Metric Ref    Use Iface
10.0.0.0        192.168.0.1    255.255.255.0  UG    0      0        0 eth0
//或者
> route add -net 10.0.0.0 gateway 192.168.0.1  dev eth0
默认路由
当⽬标主机的 IP 地址或⽹络不在路由表中时,数据包就被发送到默认路由(默认⽹关)上。默认路由的Destination是default或
0.0.0.0。
> route
default        gateway        0.0.0.0        UG    100    0        0 eth0
添加同⼀个局域⽹的主机
不指定 gw 选项时,添加的路由记录不使⽤⽹关:
> route add -net 10.10.1.0 netmask 255.255.255.0 dev eth0
> route
Destination    Gateway        Genmask        Flags Metric Ref    Use Iface
10.10.1.0      0.0.0.0        255.255.255.0  U    0      0        0 eth0
屏蔽路由
> route add -net 10.10.1.0 netmask 255.255.255.0 reject
> route
Destination    Gateway        Genmask        Flags Metric Ref    Use Iface
10.10.1.0      -              255.255.255.0  !    0      -        0 -
删除可⽤路由
> route del -net 10.0.0.0 netmask 255.255.255.0
同时匹配多个路由表时,执⾏⼀次删除⼀条
删除和添加设置默认⽹关
添加或删除默认⽹关时,Linux 会⾃动检查⽹关的可⽤性:
> route add default gw 192.168.1.1
SIOCADDRT: Network is unreachable
> route del default gw 192.168.1.1
SIOCDELRT: No such process

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。