route add
是 Linux 系统中用于手动添加静态路由的命令(传统工具),但现代 Linux 发行版更推荐使用 ip route
(来自 iproute2
工具包)。以下是两种方式的使用方法及示例:
route add
命令(已逐渐淘汰)route add -net <目标网络> netmask <子网掩码> gw <网关IP> dev <接口名>
或
route add -host <目标IP> gw <网关IP> dev <接口名>
-net
:指定目标网络地址。-host
:指定单个目标主机地址。netmask
:子网掩码。gw
:网关(Gateway)的 IP 地址。dev
:指定出口网络接口(如 eth0
、ens33
)。添加网络路由
将目标网络 192.168.2.0/24
的流量通过网关 192.168.1.1
发送:
route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.1 dev eth0
添加主机路由
将访问 10.0.0.5
的流量通过网关 192.168.1.1
发送:
route add -host 10.0.0.5 gw 192.168.1.1 dev eth0
添加默认路由
将所有未匹配的流量(默认路由)通过网关 192.168.1.1
发送:
route add default gw 192.168.1.1
route -n
ip route
命令(现代替代方案)iproute2
工具功能更强大,语法更简洁,是当前推荐的方式。
ip route add <目标网络> via <网关IP> dev <接口名>
添加网络路由
ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0
添加默认路由
ip route add default via 192.168.1.1 dev eth0
添加主机路由
ip route add 10.0.0.5/32 via 192.168.1.1 dev eth0
ip route show
sudo
或以 root
用户执行。/etc/network/interfaces
/etc/sysconfig/network-scripts/route-<接口名>
nmcli
(NetworkManager)。ip route show
或 route -n
检查是否生效。route: command not found
安装 net-tools
包:
sudo apt install net-tools # Debian/Ubuntu
sudo yum install net-tools # RHEL/CentOS
路由冲突或重复
删除旧路由后再添加:
ip route del 192.168.2.0/24 # 删除
ip route add 192.168.2.0/24 via 192.168.1.1
ip route
:语法更清晰,功能更全面。route add
:适合快速测试,但需注意兼容性。如果有特定场景需求(如策略路由、多路径路由),可以进一步探讨 ip rule
或 ip route
的高级用法。