一、命令简介
route
命令用于查看和修改 Linux 系统的路由表。
相关命令:ip route
命令更为常用和推荐,它们的许多功能和参数是相同的。
二、命令参数
route [options] [add|del] [target] [gw gateway] [netmask mask] [device]
-
add
: 添加一条路由。 -
del
: 删除一条路由。 -
target
: 目标网络或主机的 IP 地址。 -
gw gateway
: 目标网络的网关 IP 地址。 -
netmask mask
: 指定子网掩码。 -
device
: 指定网络接口。
常用选项
-
-n
: 显示路由表时不解析主机名,仅显示 IP 地址。 -
-C
: 显示缓存的路由信息。 -
-A family
: 指定协议族(如inet
、inet6
等)。
其他选项
-
-v
:显示详细的处理信息。 -
-e
:显示路由表信息,与netstat -r
命令显示的格式相同。
三、命令示例
显示当前路由表
route
输出
default via 192.168.10.1 dev ens18 proto dhcp src 192.168.10.63 metric 100
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1
192.168.10.0/24 dev ens18 proto kernel scope link src 192.168.10.63 metric 100
192.168.10.1 dev ens18 proto dhcp scope link src 192.168.10.63 metric 100
或者使用 -n
选项查看路由表,并显示 IP 地址而不是主机名:
route -n
输出:
内核 IP 路由表
目标 网关 子网掩码 标志 跃点 引用 使用 接口
0.0.0.0 192.168.10.1 0.0.0.0 UG 100 0 0 ens18
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
192.168.10.0 0.0.0.0 255.255.255.0 U 100 0 0 ens18
192.168.10.1 0.0.0.0 255.255.255.255 UH 100 0 0 ens18
添加默认网关
要为网络接口设置默认网关,可以使用以下命令:
route add default gw 192.168.1.1
这将默认的网关设置为 192.168.1.1
。
添加网络路由
为特定网络添加一条静态路由:
route add -net 10.10.0.0 netmask 255.255.255.0 gw 192.168.1.1
这会将到达 10.10.0.0/24
网络的数据包通过网关 192.168.1.1
发送。
添加主机路由
为某个特定的主机添加一条路由:
route add -host 10.10.10.5 gw 192.168.1.1
这会将发送到 10.10.10.5
的数据包通过 192.168.1.1
发送。
删除路由
可以删除某条特定的路由。例如,删除一条到某个网络的路由:
route del -net 10.10.0.0 netmask 255.255.255.0
或者删除一条到特定主机的路由:
route del -host 10.10.10.5
配置多条路由
如果希望为不同的网络接口配置多条路由,可以指定不同的设备:
route add -net 10.10.10.0 netmask 255.255.255.0 gw 192.168.2.1 dev eth1
这会将发送到 10.10.10.0/24
网络的数据包通过网卡 eth1
发出,并且网关为 192.168.2.1
。
删除默认网关
要删除当前的默认网关:
route del default gw 192.168.1.1
注意事项:
在较新的 Linux 发行版中,route
命令已经被 ip route
命令所取代,后者提供了更强大的功能和更好的语法。例如:
查看路由表:
ip route show
添加默认网关:
ip route add default via 192.168.1.1
添加网络路由:
ip route add 10.10.0.0/24 via 192.168.1.1
删除路由:
ip route del 10.10.0.0/24
本文共 506 个字数,平均阅读时长 ≈ 2分钟
评论 (0)