AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1160614
Accepted
Gilles Lesire
Gilles Lesire
Asked: 2024-06-08 21:06:55 +0800 CST2024-06-08 21:06:55 +0800 CST 2024-06-08 21:06:55 +0800 CST

Ubuntu 22.04 设置具有多个网络接口的网络计划仅适用于两个默认路由

  • 772

我正在设置一个具有 2 个网络接口的服务器,我希望主网络接口成为默认使用的网络接口,而另一个网络接口仅用于 3 个非常特定的子网。

但是,当我配置 netplan 时,如果不在两个接口上设置 to: 默认路由,就无法从这 3 个子网 ping 服务器,这显然没有意义。

我想要的配置

network:
version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      addresses:
        - 172.16.8.13/24
      nameservers:
        addresses: [172.16.6.244, 172.16.6.245]
      routes:
        - to: default
          via: 172.16.8.254
    enp11s0:
      addresses:
        - 10.129.81.215/24
      nameservers:
        addresses: [10.22.73.161, 10.22.73.33]
      routes:
        - to: 10.146.0.0/16
          via: 10.129.81.10
        - to: 10.230.0.0/16
          via: 10.129.81.10
        - to: 10.138.0.0/16
          via: 10.129.81.10

这使我能够从 10.146.xx 设备 ping 服务器

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      addresses:
        - 172.16.8.13/24
      nameservers:
        addresses: [172.16.6.244, 172.16.6.245]
      routes:
        - to: default
          via: 172.16.8.254
    enp11s0:
      addresses:
        - 10.129.81.215/24
      nameservers:
        addresses: [10.22.73.161, 10.22.73.33]
      routes:
        - to: default
          via: 10.129.81.10
        - to: 10.146.0.0/16
          via: 10.129.81.10
        - to: 10.230.0.0/16
          via: 10.129.81.10
        - to: 10.138.0.0/16
          via: 10.129.81.10

但是此配置会发出警告,因为有 2 个默认路由,这当然是有道理的。使用此配置会导致服务器仅在 172.16.8.0 子网上回复,而不会在 172.16.2.0 上回复。如何在 Ubuntu 中正确设置这样的路由表?我习惯使用 CentOS,但网络接口文件似乎在 Ubuntu 中不存在。

我试图在 Ubuntu 中找到与 Windows 中的以下命令等效的命令来添加永久路由:

route -p ADD 10.146.0.0 MASK 255.255.0.0 10.129.81.10 metric 30
route -p ADD 10.230.0.0 MASK 255.255.0.0 10.129.81.10 metric 30
route -p ADD 10.138.0.0 MASK 255.255.0.0 10.129.81.10 metric 30

ip ro 输出

default via 172.16.8.254 dev ens160 proto static
10.129.81.0/24 dev ens192 proto kernel scope link src 10.129.81.215
10.138.0.0/16 via 10.129.81.10 dev ens192 proto static
10.146.0.0/16 via 10.129.81.10 dev ens192 proto static
10.230.0.0/16 via 10.129.81.10 dev ens192 proto static
172.16.8.0/24 dev ens160 proto kernel scope link src 172.16.8.13
local-area-network
  • 1 1 个回答
  • 51 Views

1 个回答

  • Voted
  1. Best Answer
    Peter Zhabin
    2024-06-10T17:47:45+08:002024-06-10T17:47:45+08:00

    最初的问题使用了不正确的子网规范,即 10.138.0.0/12 实际上是 10.128.0.0/12,但netplan似乎默默地routes:忽略了节中不正确的路由前缀;netplan try和命令不会生成有关此事的警告netplan apply。

    与往常一样,用来ip route show验证所讨论的前缀的路由是否安装为上述内容提供了提示。

    • 1

相关问题

  • 为什么我的系统不断从 255.255.255.255:bootps 下载?

  • 为 LAN 上的 20 台“普通”计算机供电需要多少电力?

  • 购买网络交换机需要注意什么?

  • 通过 VPN 使您的打印机可用的最佳方法是什么?

  • 10 Gb 网络:在光纤和双绞线之间做出决定

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve