Linux中临时添加主机路由可用route或ip route命令:route add -host IP dev 接口(直连)或gw 网关(跨网段);ip route add IP/32 dev 接口或via 网关,重启后失效。

在Linux中临时添加一条主机路由,就是告诉系统:发往某个特定IP地址的数据包,应该走哪条路径。它不涉及整个网段,只针对单台设备,适合调试、测试或绕过默认路径的场景。
用 route 命令添加主机路由
这是最常用、兼容性最好的方式,需 root 权限(加 sudo):
- 如果目标主机与本机在同一网段(直连),可直接指定出口网卡:
sudo route add -host 192.168.5.20 dev eth0 - 如果目标主机在其他网段,必须通过网关中转:
sudo route add -host 10.10.3.100 gw 192.168.1.1 - 也可同时指定网关和出口网卡,更明确:
sudo route add -host 172.16.4.5 gw 192.168.2.254 dev eth1
用 ip route 命令添加主机路由
现代推荐方式,语法更统一,功能更强:
Linux 安全审计工具,检查 SSH 配置、开放/监听端口、防火墙规则(ufw/iptables/nftables)、失败登录尝试、sudoers 权限...
- 直连主机(无网关):
sudo ip route add 192.168.8.8/32 dev eth0 - 经网关转发:
sudo ip route add 10.20.30.40/32 via 192.168.0.254 dev eth0 - 注意:
/32表示单个主机地址,不能省略或写成/24,否则会被识别为网段
验证和清理
添加后立即检查是否生效:
- 查看所有路由:ip route show 或 route -n
- 搜索目标IP:ip route get 192.168.5.20 —— 这会模拟一次查找,显示实际走哪条路由
- 删除该主机路由:
• route 方式:sudo route del -host 192.168.5.20
• ip 方式:sudo ip route del 192.168.5.20/32
注意事项
这类路由是内核级配置,重启网络服务或系统后自动消失。不要依赖它做长期通信保障;若需持久化,请写入网络配置文件或启动脚本。另外,确保网关可达、接口已启用、IP未冲突,否则路由虽存在但无法实际转发。










