插件窝 干货文章 linux添加路由的命令是哪个

linux添加路由的命令是哪个

route 路由 网关 899    来源:    2025-04-24

在 Linux 系统中,添加路由的命令主要有以下几种,根据不同的需求选择合适的方式:


1. 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


2. 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

3. 持久化路由配置

临时添加的路由在重启后会失效,需写入配置文件以持久化:

Ubuntu/Debian

编辑 /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

RHEL/CentOS

/etc/sysconfig/network-scripts/route-<接口名> 中添加:

192.168.1.0/24 via 10.0.0.1 dev eth0

通用方法(systemd-networkd)

编辑 /etc/systemd/network/50-static.network

[Route]
Destination=192.168.1.0/24
Gateway=10.0.0.1

4. 验证路由表

# 查看当前路由表
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

注意事项

  • 确保网关 IP 可达且网卡配置正确。
  • 使用 -dev 参数指定出口网卡(如 eth0)可避免路由歧义。
  • 持久化配置需根据发行版选择对应方法。

如果有特定需求(如策略路由或多路径),可进一步使用 ip rule 或高级工具如 nmcli