You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 20.04下通过Netplan配置静态路由与默认路由遇到问题求助

Ubuntu 20.04下通过Netplan配置静态路由与默认路由遇到问题求助

别急,刚接触Linux就折腾双网卡路由,已经很棒了!我来一步步帮你解决遇到的两个问题:

第一个问题:YAML缩进错误(tabs are not allowed)

Netplan用的YAML配置文件绝对不能用Tab键缩进,必须用空格(一般推荐2个或4个空格)。你收到的错误就是因为配置里用了Tab,解决方法很简单:

  • 打开你的/etc/netplan/50-cloud-init.yaml文件
  • 把所有Tab缩进替换成空格(比如用编辑器的“替换”功能,把Tab换成2个空格)
  • 确保每一层的缩进是统一的,比如ethernets下面的网卡名缩进2个空格,routes下面的每一条路由再缩进2个空格,以此类推。

第二个问题:默认路由冲突

你目前的配置里,ens160网卡加了gateway4: 172.24.0.5,这会在系统的主路由表里添加一条默认路由,和ens192的默认路由重复,所以系统报错冲突。

根据你的需求(默认路由走外网ens192,内网网段走ens160),正确的配置应该是:

  • 只在ens192里设置默认网关(gateway4)
  • 移除ens160里的gateway4配置,只保留内网网段的静态路由

修正后的完整配置示例

network:
  version: 2
  renderer: networkd
  ethernets:
    ens192:
      dhcp4: no
      dhcp6: no
      addresses: [你的外网静态IP/子网掩码]  # 比如 203.0.113.10/24
      gateway4: 你的外网网关IP              # 比如 203.0.113.1
      # 可选:配置DNS服务器
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]
    ens160:
      dhcp4: no
      dhcp6: no
      addresses: [172.24.0.50/23]
      routes:
        - to: 10.0.0.0/8
          via: 172.24.0.5
        - to: 172.23.0.0/19
          via: 172.24.0.5
        - to: 172.17.10.0/24
          via: 172.24.0.5

验证配置的步骤

  1. 先测试配置(安全回滚):运行sudo netplan try,这个命令会临时应用配置,如果15秒内没出现问题(比如断网),就会永久生效;如果有问题,会自动回滚到之前的配置,非常适合新手。
  2. 永久应用配置:测试没问题后,运行sudo netplan apply
  3. 检查路由表:运行ip route show,你应该能看到:
    • 一条默认路由(default via 你的外网网关 dev ens192)
    • 三条内网路由(比如10.0.0.0/8 via 172.24.0.5 dev ens160)

这样配置后,系统就会自动把外网流量走ens192,内网指定网段的流量走ens160,不会再出现路由冲突的问题啦!

备注:内容来源于stack exchange,提问作者Wannabe_Golfer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 15:23:14