网络定义错误:未知密钥 dhcp4-overrides

网络定义错误:未知密钥 dhcp4-overrides

我正在尝试设置 Ubuntu 18.04 LTS,它似乎正在使用 netplan 来配置网络。在这种情况下,我需要覆盖 DHCP 提供的 DNS 服务器并使用手动分配的名称服务器。因此,我修改了 netplan 配置,如下所示:

# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
    enp2s1:
      dhcp4: yes
      dhcp4-overrides:
        use-dns: false
      dhcp6: yes
      dhcp6-overrides:
        use-dns: false
      nameservers:
        addresses: ["fd35:2ff0:b0b9:d0c0::1:1", 192.168.255.17]

另一个问题等等netplan.io,有人解释说 netplan 有选项dhcp4-overrides可以dhcp6-overrides允许这样做,但这些选项似乎不起作用。netplan generatenetplan apply给出错误:

Error in network definition //etc/netplan/01-netcfg.yaml line 6 column 6: unknown key dhcp4-overrides

那么,我如何确保我指定的名称服务器将被使用,而从 DHCP 获取的名称服务器永远不会被使用?如果有必要,我愿意将 netplan 扔进垃圾箱。

答案1

dhcp4-overrides需要 netplan 0.95 或更高版本,Ubuntu 18.04 中尚不可用。请参阅https://bugs.launchpad.net/netplan/+bug/1759014了解此稳定更新的状态。

答案2

我快要把 netplan 扔进垃圾箱了,但我有一个似乎可行的解决方法。

看到它正在渲染到 networkd,并且 systemd-resolved 正在处理 DNS,所以我直接创建了相关配置。

我从 netplan 中删除了 dhcp 覆盖位,只剩下:

# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
    enp2s1:
      dhcp4: yes
      dhcp6: yes

然后我创建了一个文件/etc/systemd/resolved.conf.d/dns.conf来指定我需要的 DNS 服务器:

[Resolve]
DNS=fd35:2ff0:b0b9:d0c0::1:1 192.168.255.17

相关内容