DHCP 覆盖

DHCP 覆盖

我需要有关使用 netplan 进行(简单)网络配置的帮助。这非常简单,我有 2 个 NIC:enp5s0 是以太网,可以访问公司网络,wlp4s0 是 WiFi,可以通过路由器访问互联网。

我只想通过 WiFi 连接路由互联网流量。netplan 配置应如下所示:

network:
  version: 2
  renderer: NetworkManager
  ethernets:
    enp5s0:
      dhcp4: true
      routes:
        - to: 192.168.1.0/24
          via: 192.168.1.1
  wifis:
    wlp4s0:
      dhcp4: true
      access-points:
        "My WiFi Network":
          password: "foobar"
      gateway4: 10.128.128.128
      routes:
        - to: 0.0.0.0/0
          via: 10.128.128.128

但它不起作用。令人惊讶的是,从命令行添加路由非常容易:

sudo route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1 dev enp5s0
sudo route del default gw 192.168.1.1
sudo route add default gw 10.128.128.128

这很有效。我只想用 netplan 来做这件事……

答案1

我心里想:dhcp 可能会重置默认网关,并且我们可以在 netplan 配置中指定的指标也会被覆盖。

这有效:

network:
  version: 2
  renderer: NetworkManager
  ethernets:
    enp5s0:
      dhcp4: false
      addresses: [192.168.1.143/24]
      routes:
        - to: 192.168.1.0/24
          via: 192.168.1.1
          metric: 10
  wifis:
    wlp4s0:
      dhcp4: true
      access-points:
        "My WiFi Network":
          password: "foobar"
      gateway4: 10.128.128.128

答案2

这些信息应该有帮助。

DHCP 覆盖

有几种 DHCP 行为覆盖可用。目前大多数仅在使用 networkd 后端时才有效,但 use-routes 和 route-metric 除外。

仅当相应的 dhcp4 或 dhcp6 设置为 true 时,覆盖才会有效。

如果 dhcp4 和 dhcp6 都为真,则 networkd 后端要求 dhcp4-overrides 和 dhcp6-overrides 包含相同的键和值。如果值不匹配,则会显示错误,并且不会应用网络配置。

使用路线(布尔)

默认值: true。设置为 true 时,从 DHCP 服务器收到的路由将正常安装在路由表中。设置为 false 时,将忽略来自 DHCP 服务器的路由:在这种情况下,用户负责在必要时添加静态路由以确保网络正常运行。这允许用户避免为通过 DHCP 配置的接口安装默认网关。可用于 networkd 和 NetworkManager 后端。

并阅读以下部分:

路由

来源:https://netplan.io/reference

相关内容