1. 默认路由(Default Gateway)
    默认路由通过 gateway 参数设置,通常与主接口的 IP 配置一起定义。
    示例:静态 IP + 默认网关
    



auto eth0
iface eth0 inet static
address 192.168.1.100/24
gateway 192.168.1.1   # 默认网关
dns-nameservers 8.8.8.8

  1. 静态路由(Static Routes)
    若需添加特定网络的路由(如访问其他子网或 VPN),需使用 up 或 post-up 命令调用 ip route add。
    2.1 直接在接口配置中定义
    在接口配置块中使用 post-up 添加路由:


auto eth0
iface eth0 inet static
address 192.168.1.100/24
gateway 192.168.1.1
# 添加静态路由:访问 10.0.0.0/8 子网通过 192.168.1.2
post-up ip route add 10.0.0.0/8 via 192.168.1.2


2.2 使用 routes 参数(部分系统支持)

某些版本的 ifupdown 支持 routes 语法(需确认是否可用):



auto eth0
iface eth0 inet static
address 192.168.1.100/24
gateway 192.168.1.1
# 添加路由
routes 10.0.0.0/8 via 192.168.1.2
routes 172.16.0.0/16 via 192.168.1.3

  1. 多接口路由配置
    若系统有多个网络接口(如 eth0 和 eth1),需明确指定路由规则。
    示例:双网卡路由


# 主接口 eth0(默认网关)
auto eth0
iface eth0 inet static
address 192.168.1.100/24
gateway 192.168.1.1
    
# 第二接口 eth1(专用子网)
auto eth1
iface eth1 inet static
address 10.10.0.100/24
# 添加静态路由:访问 10.20.0.0/24 子网通过 10.10.0.1
post-up ip route add 10.20.0.0/24 via 10.10.0.1

  1. 策略路由(高级场景)
    若需基于源地址或策略路由(如多网关),需结合 ip rule 命令。
    示例:基于源 IP 的路由


auto eth0
iface eth0 inet static
address 192.168.1.100/24
post-up ip route add default via 192.168.1.1 table 100
post-up ip rule add from 192.168.1.100 lookup 100

  1. 验证路由配置
    配置完成后,通过以下命令检查路由表:
# 查看完整路由表
ip route show
    
# 查看默认路由
ip route | grep default
    
# 查看特定子网路由
ip route get 10.0.0.1


  1. 配置生效
    6.1 重启网络服务


sudo systemctl restart networking

   

6.2 重新加载接口




sudo ifdown eth0 && sudo ifup eth0

  
  1. 常见问题
    7.1 路由未生效

    原因:

    语法错误(如 CIDR 格式错误)。
    网关不可达(检查网关 IP 是否有效)。

    解决:

    使用 ifup --force eth0 强制重新加载接口。
    检查日志:journalctl -u networking.service。
    

7.2 路由持久化失败


原因:未在配置文件中正确使用 post-up。
解决:确保路由命令在接口配置块中定义。
  1. 完整示例
    场景
    主接口 eth0:IP 192.168.1.100/24,默认网关 192.168.1.1。
    第二接口 eth1:IP 10.10.0.100/24,需访问子网 10.20.0.0/24 通过网关 10.10.0.1。
    配置文件


# 默认回环接口
auto lo
iface lo inet loopback
    
# 主接口 eth0(默认路由)
auto eth0
iface eth0 inet static
address 192.168.1.100/24
gateway 192.168.1.1
dns-nameservers 8.8.8.8
    
# 第二接口 eth1(专用子网路由)
auto eth1
iface eth1 inet static
address 10.10.0.100/24
post-up ip route add 10.20.0.0/24 via 10.10.0.1



最后修改:2025 年 06 月 02 日
如果觉得我的文章对你有用,请随意赞赏