在 Linux 系统中,添加路由的命令主要有以下几种,根据不同的需求选择合适的方式:
route
命令(传统命令,较旧)# 添加默认网关
sudo route add default gw <网关IP>
# 添加特定网络的路由
sudo route add -net <目标网络> netmask <子网掩码> gw <网关IP>
# 示例:将 192.168.1.0/24 的流量通过 10.0.0.1 网关
sudo route add -net 192.168.1.0 netmask 255.255.255.0 gw 10.0.0.1
注意:route
命令在较新系统中可能已被弃用,推荐使用 ip route
。
ip route
命令(推荐,现代方式)# 添加默认网关
sudo ip route add default via <网关IP>
# 添加特定网络的路由
sudo ip route add <目标网络>/<掩码位数> via <网关IP> dev <接口名>
# 示例:
sudo ip route add 192.168.1.0/24 via 10.0.0.1 dev eth0
临时添加的路由在重启后会失效,需写入配置文件以持久化:
编辑 /etc/network/interfaces
(或创建 /etc/network/interfaces.d/
下的文件):
up route add -net 192.168.1.0 netmask 255.255.255.0 gw 10.0.0.1
或使用 post-up
指令:
post-up ip route add 192.168.1.0/24 via 10.0.0.1 dev eth0
在 /etc/sysconfig/network-scripts/route-<接口名>
中添加:
192.168.1.0/24 via 10.0.0.1 dev eth0
编辑 /etc/systemd/network/50-static.network
:
[Route]
Destination=192.168.1.0/24
Gateway=10.0.0.1
# 查看当前路由表
route -n
# 或
ip route show
bash
sudo ip route add default via 192.168.1.1
bash
sudo ip route add 8.8.8.8 via 192.168.1.1 dev eth0
bash
sudo ip route del 192.168.1.0/24
-dev
参数指定出口网卡(如 eth0
)可避免路由歧义。如果有特定需求(如策略路由或多路径),可进一步使用 ip rule
或高级工具如 nmcli
。