Linux系统添加路由

在 Linux 系统中添加路由主要涉及 临时路由(重启失效)和 永久路由(重启保留)两种方式。以下是详细操作指南:


一、临时添加路由(重启失效)
使用 ip routeroute 命令(推荐 ip route,功能更强大)。

1. 查看当前路由表

ip route show
# 或
route -n

2. 添加静态路由
语法:

sudo ip route add <目标网络/子网掩码> via <网关IP> dev <接口名>

示例:
• 添加一条到 192.168.2.0/24 的路由,网关为 192.168.1.1,通过网卡 eth0

sudo ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0

• 添加默认网关(默认路由):

sudo ip route add default via 192.168.1.1 dev eth0

3. 删除路由

sudo ip route del <目标网络/子网掩码>
# 示例:删除默认路由
sudo ip route del default via 192.168.1.1 dev eth0

二、永久添加路由(重启保留)
不同 Linux 发行版的配置文件可能不同,常见方法如下:

1. 通用方法(适用于大多数系统)
编辑 /etc/network/interfaces(Debian/Ubuntu)或 /etc/sysconfig/network-scripts/route-<接口名>(CentOS/RHEL)。

Debian/Ubuntu

  1. 编辑 /etc/network/interfaces
    sudo nano /etc/network/interfaces
    
  2. 在网卡配置块中添加:
    up ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0
    

CentOS/RHEL

  1. 创建或编辑路由配置文件(如 route-eth0):
    sudo nano /etc/sysconfig/network-scripts/route-eth0
    
  2. 添加内容:
    192.168.2.0/24 via 192.168.1.1 dev eth0
    

2. 使用 netplan(Ubuntu 18.04+)

  1. 编辑 Netplan 配置文件(如 /etc/netplan/01-netcfg.yaml):
    sudo nano /etc/netplan/01-netcfg.yaml
    
  2. 添加 routes 配置:
    network:
      version: 2
      ethernets:
        eth0:
          addresses: [192.168.1.10/24]
          gateway4: 192.168.1.1
          routes:
            - to: 192.168.2.0/24
              via: 192.168.1.1
    
  3. 应用配置:
    sudo netplan apply
    

3. 通过 rc.local(不推荐,但兼容旧系统)

  1. 编辑 /etc/rc.local
    sudo nano /etc/rc.local
    
  2. exit 0 前添加路由命令:
    ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0
    
  3. 确保 rc.local 有执行权限:
    sudo chmod +x /etc/rc.local
    

三、高级用法
1. 策略路由(基于源 IP 的路由)
使用 ip ruleip route 实现多路由表:

# 创建自定义路由表(如表编号 100)
echo "100 custom_table" >> /etc/iproute2/rt_tables

# 添加路由到自定义表
ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0 table custom_table

# 添加策略规则:来自 192.168.1.10 的流量使用 custom_table
ip rule add from 192.168.1.10 lookup custom_table

2. 持久化策略路由
将命令写入 /etc/network/interfaces 或单独的启动脚本。


四、验证与调试

  1. 查看路由表:

    ip route show
    
  2. 测试连通性:

    ping 192.168.2.100
    traceroute 192.168.2.100
    
  3. 检查网关可达性:

    ping 192.168.1.1  # 确认网关是否可达
    

五、注意事项

  1. 网关必须可达:确保网关 IP 与当前网络接口在同一子网。
  2. 避免路由冲突:若目标网络已存在其他路由,新路由可能不生效。
  3. 备份配置:修改永久路由前备份配置文件。
  4. 防火墙限制:若路由生效但通信失败,检查防火墙规则(如 iptables/nftables)。

附:快速命令参考

操作命令
添加临时路由sudo ip route add <目标> via <网关>
删除路由sudo ip route del <目标>
查看路由表ip routeroute -n
持久化路由(Ubuntu)修改 /etc/netplan/*.yaml
持久化路由(CentOS)修改 /etc/sysconfig/network-scripts/route-<接口>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会飞的土拨鼠呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值