在使用Linux或macOS日常开发中,熟悉一些基本的命令有助于提高工作效率,route命令的功能是显示与设置路由信息,是Linux系统中常用的静态路由配置工具。要想让两台处于不同子网的服务器实现通信,需要有一个跨网段的路由器来连接它们,并用route命令为其设置路由信息。本篇学习记录route命令的基本使用。
首先查看帮助文档:
语法格式:route 参数 域名或IP地址
列出内核中的路由表
route [-nNvee] [-FC] [<AF>] List kernel routing tables
这条命令用于列出内核中的路由表。
[-nNvee]:这些是可选的标志,用于控制输出格式和行为。
-n:以数字格式显示 IP 地址和网关。
-N:显示每个路由的网络接口名称。
-v:显示详细信息。
-e:显示每个路由的扩展信息。
-e:重复 -e 标志,可能会启用更详细的输出。
[-FC]:这些标志用于指定输出格式或协议家族。
-F:显示 IPv6 路由表。
-C:显示 IPv4 路由表。
默认情况下,route 命令会显示 IPv4 路由表。如果需要显示 IPv6 路由表,可以使用 -F 标志。
<AF>:指定地址族(Address Family)。如果没有指定 <AF>,则默认为 IPv4。常见的 <AF> 包括:
AF_INET:IPv4 地址族。
AF_INET6:IPv6 地址族。
参数解释:
参数 | 参数解释 |
-A | 显示指定的网络地址类型(inet表示IPV4,inet6表示IPV6,即route -A inet等同于route -4, route -A inet6等同于route -6) |
-C | 显示内核路由缓存信息而不是FIB |
-e | 扩展显示其他/更多信息 |
-F | 显示转发信息库(默认) |
-n | 数字不解析名称,即显示数字形式的IP地址,列出速度会比route快 |
-v | 显示执行过程详细信息 |
-host | 一个主机的路由表 |
-net | 一个网络的路由表 |
add | 增加指定的路由记录 |
del | 删除指定的路由记录 |
target | 目的网络或目的主机 |
gw | 设置默认网关 |
mss | 设置TCP的最大区块长度(MB) |
window | 指定通过路由表的TCP连接的窗口大小 |
dev | 路由记录所表示的网络接口 |
--help | 显示帮助信息并退出 |
--version | 显示版本信息并退出 |
路由表字段解释
- Destination:目标网络或主机地址。
- Gateway:通往目标网络的下一跳地址。
- Genmask:网络掩码。
- Flags:标志位,如 U 表示可达(Up),G 表示通过网关(Gateway),H 表示主机(Host)等。
- Metric:路由的度量值,用于确定路由的优先级。
- Ref:参考计数。
- Use:使用次数。
- Iface:使用的网络接口。
1.-A 显示指定的网络地址类型(inet表示IPV4,inet6表示IPV6,即route -A inet等同于route -4, route -A inet6等同于route -6)
2.-C 显示内核路由缓存信息而不是FIB
3.-e 扩展显示其他/更多信息
4.-F 显示转发信息库(默认)
5.-n 数字不解析名称,即显示数字形式的IP地址,列出速度会比route快
6.-v 显示执行过程详细信息
-host 一个主机的路由表
-net 一个网络的路由表
add 增加指定的路由记录
del 删除指定的路由记录
target 目的网络或目的主机
gw 设置默认网关
mss 设置TCP的最大区块长度(MB)
window 指定通过路由表的TCP连接的窗口大小
dev 路由记录所表示的网络接口
7.添加静态路由
sudo route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.31.1
8.删除静态路由
sudo route del -net 192.168.1.0 netmask 255.255.255.0
9.添加默认网关
sudo route add default gw 192.168.31.2
10.删除默认网关
sudo route del default gw 192.168.31.2
使用route 命令添加的路由,机器重启或者网卡重启后路由就失效了,方法:
11.添加到主机的路由
sudo route add -host 192.168.31.2 dev enp0s3
sudo route add -host 192.168.31.3 gw 192.168.31.1 dev enp0s3
12.删除添加主机的路由
sudo route del -host 192.168.31.3
sudo route -v del -host 192.168.31.2
13.--help 显示帮助信息并退出
14.--version 显示版本信息并退出
参考:
route命令 – 显示与设置路由信息 – Linux命令大全(手册)
Linux网络命令:用于管理和显示网络路由表的工具route详解_linux route-优快云博客
linux中route命令超详细用法(十五万字)_linux route-优快云博客
Linux route 命令用法详解-Linux命令大全(手册)