Ubuntu 添加永久路由的几种常见方法

在 Ubuntu 系统中,添加永久路由有多种方法,以下是几种最常用的方案:

图片[1]_Ubuntu 添加永久路由的几种常见方法_知途无界

1. 通过 /etc/network/interfaces 文件配置(传统方法)

sudo nano /etc/network/interfaces

在文件中添加(示例):

auto eth0
iface eth0 inet static
    address 192.168.1.100
    netmask 255.255.255.0
    gateway 192.168.1.1
    # 添加永久路由
    up route add -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.1.254
    down route del -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.1.254

保存后应用更改:

sudo systemctl restart networking

2. 使用 Netplan 配置(Ubuntu 17.10 及更新版本)

编辑 Netplan 配置文件(路径可能不同):

sudo nano /etc/netplan/01-netcfg.yaml

示例配置:

network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:
      dhcp4: no
      addresses: [192.168.1.100/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]
      routes:
      - to: 10.0.0.0/24
        via: 192.168.1.254

应用配置:

sudo netplan apply

3. 使用 /etc/rc.local 文件(系统启动时执行)

sudo nano /etc/rc.local

exit 0 之前添加路由命令:

route add -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.1.254
exit 0

确保 rc.local 可执行:

sudo chmod +x /etc/rc.local

4. 创建单独的 route- 文件

sudo nano /etc/network/if-up.d/route-eth0

内容示例:

#!/bin/sh
if [ "$IFACE" = "eth0" ]; then
    ip route add 10.0.0.0/24 via 192.168.1.254
fi

设置权限:

sudo chmod +x /etc/network/if-up.d/route-eth0

5. 使用 systemd-networkd 服务(较新系统)

创建路由配置文件:

sudo nano /etc/systemd/network/10-eth0.network

内容示例:

[Match]
Name=eth0

[Network]
Address=192.168.1.100/24
Gateway=192.168.1.1

[Route]
Destination=10.0.0.0/24
Gateway=192.168.1.254

重启服务:

sudo systemctl restart systemd-networkd

6. 使用 ip route 命令添加临时路由(非永久)

临时添加路由(重启后失效):

sudo ip route add 10.0.0.0/24 via 192.168.1.254

查看当前路由表:

ip route show

注意事项

  1. 根据 Ubuntu 版本选择合适的方法:
  • 旧版(17.04 之前):/etc/network/interfaces
  • 新版(17.10+):Netplan
  • 最新版:systemd-networkd
  1. 确保网关地址是可到达的
  2. 添加路由后测试连通性:
   ping 10.0.0.1
   traceroute 10.0.0.1
  1. 永久路由配置后需要重启网络服务或系统才能生效
  2. 对于复杂的网络环境,可能需要配置多个路由规则
© 版权声明
THE END
喜欢就点个赞,支持一下吧!
点赞30 分享
评论 抢沙发
头像
欢迎您留下评论!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容