一、route命令
route命令用来显示并设置Linux内核中的网络路由表,route命令设置的路由主要是静态路由。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。
在Linux系统中设置路由通常是为了解决以下问题:该Linux系统在一个局域网中,局域网中有一个网关,能够让机器访问Internet,那么就需要将这台机器的ip地址设置为Linux机器的默认路由。要注意的是,直接在命令行下执行route命令来添加路由,不会永久保存,当网卡重启或者机器重启之后,该路由就失效了;可以在/etc/rc.local中添加route命令来保证该路由设置永久有效。
Route命令的正确用法
使用 Route 命令行工具查看并编辑计算机的 IP 路由表。Route 命令和语法如下所示:
route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]]
-f 清除所有网关入口的路由表。
-p 与 add 命令一起使用时使路由具有永久性。
Command 指定您想运行的命令 (Add/Change/Delete/Print)。
Destination 指定该路由的网络目标。
mask Netmask 指定与网络目标相关的网络掩码(也被称作子网掩码)。
Gateway 指定网络目标定义的地址集和子网掩码可以到达的前进或下一跃点 IP 地址。
metric Metric 为路由指定一个整数成本值标(从 1 至 9999),当在路由表(与转发的数据包目标地址最匹配)的多个路由中进行选择时可以使用。
if Interface 为可以访问目标的接口指定接口索引。若要获得一个接口列表和它们相应的接口索引,使用 route print 命令的显示功能。可以使用十进制或十六进制值进行接口索引。
? 在命令提示符处显示帮助。
1.1 语法
route(选项)(参数)
1.2 选项
选项 描述
-A 设置地址类型;
-C 打印将Linux核心的路由缓存;
-v 详细信息模式;
-n 不执行DNS反向查找,直接显示数字形式的IP地址;
-e netstat格式显示路由表;
-net 到一个网络的路由表;
-host 到一个主机的路由表。
1.3 参数
选项 描述
Add 增加指定的路由记录;
Del 删除指定的路由记录;
Target 目的网络或目的主机;
gw 设置默认网关;
mss 设置TCP的最大区块长度(MSS),单位MB;
window 指定通过路由表的TCP连接的TCP窗口大小;
dev 路由记录所表示的网络接口。
二、示列
2.1 显示当前路由
[root@localhost ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 100 0 0 ens33
192.168.3.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.3.2 192.168.3.22 255.255.255.255 UGH 0 0 0 ens33
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.3.1 0.0.0.0 UG 100 0 0 ens33
192.168.3.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.3.2 192.168.3.22 255.255.255.255 UGH 0 0 0 ens33
Flags标志说明
Flags为路由标志,标记当前网络节点的状态
U Up表示此路由当前为启动状态。
H Host,表示此网关为一主机。
G Gateway,表示此网关为一路由器。
R Reinstate Route,使用动态路由重新初始化的路由。
D Dynamically,此路由是动态性地写入。
M Modified,此路由是由路由守护程序或导向器动态修改。
! 表示此路由当前为关闭状态。
2.2 其他示列
添加网关/设置网关
#增加一条到达192.168.3.21的路由,子网掩码255.255.255.255划分子网最小的掩网,
#表示你只在一个网址的网段内可参见子网的划分,下一跳地址192.168.3.22。
route add -net 192.168.3.21 netmask 255.255.255.255 gw 192.168.3.22
或
route add -net 192.168.3.21 netmask 255.255.255.255 dev eth0
#向带有 255.255.0.0 子网掩码和 10.27.0.1 下一跃点地址的 10.41.0.0 目标中添加一个永久路由
route -p add 10.41.0.0 mask 255.255.0.0 10.27.0.1
屏蔽一条路由
#增加一条屏蔽的路由,目的地址为224.x.x.x将被拒绝。
route add -net 224.0.0.0 netmask 240.0.0.0 reject
删除路由记录
route del -net 192.168.3.21 netmask 255.255.255.255 gw 192.168.3.22
route del -net 224.0.0.0 netmask 240.0.0.0
route del -net 224.0.0.0 netmask 240.0.0.0 reject
删除和添加设置默认网关
route del default gw 192.168.120.240
route add default gw 192.168.120.240