需检查系统路由表以确认网络路径或排查连通性问题,可使用route -n或ip route show查看,用route add或ip route add添加临时路由,并通过ip route get、ping和tcpdump验证生效。
如果您需要确认当前Linux系统中已配置的网络路径,或排查数据包无法到达特定目标的问题,则需检查系统路由表。以下是查询及添加路由规则的具体操作方法:
一、使用 route 命令查看路由表
route 命令是传统路由管理工具,可直接显示内核IP路由表内容,-n 参数避免DNS解析,提升响应速度与准确性。
1、在终端中执行 route -n 命令,输出将包含 Destination(目标网络)、Gateway(网关)、Genmask(子网掩码)、Iface(出口接口)等字段。
2、若仅需查看默认路由,可执行 route -n | grep ‘^0.0.0.0’ 过滤出 default 条目。
3、如需查看主机路由(单IP目标),可执行 route -n | grep ‘UH’,其中 UH 标志表示该行为主机路由。
二、使用 ip route 命令查看路由表
ip route 是现代推荐的替代命令,属于 iproute2 工具集,输出更结构化,支持 IPv4/IPv6 统一语法,且不依赖过时的 net-tools 包。
1、运行 ip route show 显示全部当前生效的路由条目,包括 kernel 自动添加的直连网段和静态配置项。
2、如需筛选特定目标网络,例如 192.168.5.0/24,执行 ip route show 192.168.5.0/24。
3、查看默认网关时,可直接输入 ip route | grep ‘default via’ 获取下一跳地址与出接口。
三、使用 route 命令添加临时路由
route add 添加的路由仅存在于内存中,系统重启、网络服务重载或网卡 down/up 后即丢失,适用于调试与临时通路建立。
1、向指定主机添加路由:执行 sudo route add -host 10.0.0.100 gw 192.168.1.1 dev eth0,表示访问 10.0.0.100 时经由 192.168.1.1 转发,强制走 eth0 接口。