1. route
关于route command的简要说明如下:
route manipulates the kernel IP routing tables. Its primary use is to set up static routes to specific hosts or networks via an interface after it was configured with the ifconfig program.
参见https://www.computerhope.com/unix/route.htm
route主要有两个命令add, delete,其中add的命令格式为:
route [-v] [-A family] add [-net|-host] target [netmask Nm] [gw Gw]
[metric N] i [mss M] [window W] [irtt m] [reject] [mod] [dyn]
[reinstate] [[dev] If]
一般用的比较多的应该只有:
route [-A family] add [-net|-host] target [netmask Nm] [gw Gw]
[metric N] [[dev] If]
下表罗列出了其中各字段的含义:
-A family | 地址族,inet=ipv4(默认),inet6=ipv6,详细可输入"route --help"了解 |
-net/-host | 是网络类型还是主机类型 |
target | 目的网络或目的主机,与-net/-host相对应 |
netmask Nm | 表示网络掩码为Nm,当target为网络时,必须使用netmask |
gw Gw | 分组转发经过的网关(路由器),个人认为可以理解为下一跳地址 |
metric N | 该路由的度量 |
dev if | 该路由转发的接口(interface) |
route delete的指令跟add是一洋的(跟下面的一样,而非上面的)。
下面给出route的指令的示例,以下示例来自https://blog.51cto.com/13150617/1963833
(1) 查看路由表
route -n
(不要-n也可以,会有一点点小区别)
(2) 添加到达目标主机的路由
route add -host 10.1.111.111 gw 10.2.111.111 dev eth0
(3) 添加到达目标网络的路由
route add -net 10.1.0.0 netmask 255.255.0.0 gw 10.2.111.111 dev eth0
或者 route add -net 10.1.0.0/16 gw 10.2.111.111 dev eth0
(4)添加默认路由
route add default gw 10.2.111.111
(5)删除路由记录:
1)删除到达目标主机的路由记录
route del -host 主机名
2)删除到达目标网络的路由记录
route del -net 目标网络/子网掩码
3)删除默认路由
route del default
(与add差不多的)
2. ip route
ip route要比route强大得多,但是常用的指令却大同小异,它们都是用来修改静态路由表的。关于ip route的详细指令,可以参见https://www.computerhope.com/unix/ip.htm,这里简单介绍一下常用指令。
(1) 显示路由
ip route [show | list]
(ip route显示路由的格式跟route不太一样,个人比较喜欢route)
(2) 添加路由
1)添加到达目标主机的路由记录
ip route add 目标主机 via 网关
2)添加到达网络的路由记录
ip route add 目标网络/掩码 via 网关
添加默认路由
ip route add default via 网关 下面只举一个例子说明一下。
比如增加一条到达主机10.2.111.112的路由,网关是10.1.111.112
ip route add 10.2.111.112 via 10.1.111.112
(3) 删除路由
ip route del 目标网络/掩码
ip route del default [via 网关]
(也是跟add差不多的)
(4) 清空路由
ip route flush
(不建议尝试)