Netplan 配置的名称服务器可以取代(而不是合并) DHCP 名称服务器吗?

Netplan 配置的名称服务器可以取代(而不是合并) DHCP 名称服务器吗?

我想使用 DHCP 为我的服务器分配 IP 地址,但手动指定 DNS 服务器。我尝试了以下简单配置:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: yes
      nameservers: [8.8.8.8,8.8.4.4]

运行后,netplan apply我检查名称服务器systemd-resolve --status并显示:

DNS Servers: 8.8.8.8
             8.8.4.4
             192.168.1.1

最后是DHCP提供的DNS服务器,我不希望其出现在列表中。

netplan 有办法实现这个吗?

答案1

该问题已在 github 上的 netplan 存储库中修复,并且很可能会在某个时候出现在 Ubuntu 中。

添加了两个新选项,dhcp4-overridesdhcp6-overrides。要忽略来自 DHCP 的 DNS 服务器,您可以执行以下操作:

dhcp4: yes
dhcp4-overrides:
  use-dns: no

答案2

不幸的是,netplan 中没有更新日志github 仓库以确定新功能何时推出。然而,发布版本数量在 https://github.com/CanonicalLtd/netplan/releases从 2018 年 11 月的 0.40 升至 0.90

在 Ubuntu 18.10 上,netplan 当前版本为 0.40.2.2

使用该 netplan 版本,尝试使用无线配置来执行 DHCP,但使用 Cloudflare 匿名 DNS 服务器:

network:
  version: 2
  renderer: NetworkManager
    ethernets:
      wlp4s0:
        dhcp4: yes
        dhcp4-overrides:
          use-dns: no
        nameservers:
          addresses: [1.1.1.1,1.0.0.1]

产生Unknown key dhcp4-overrides错误:

在此处输入图片描述

根据以下情况,没有针对 cosmic 的反向移植ubuntu.packages.org

在 Ubuntu 19.04 beta 上安装了 netplan 0.96 版本,dhcp4-overrides可以使用:

在此处输入图片描述

答案3

这是一个非常常见的设置,在 Ubuntu 18.04 中完全被破坏,Netplan 在使用 DHCP 时需要支持 NetworkManager 选项:

nmcli connection modify ${ID} ipv4.ignore-auto-dns yes
nmcli connection modify ${ID} ipv4.dns 'xx.xx.xx.10 xx.xx.xx.20'
nmcli connection modify ${ID} ipv4.dns-search 'abc01.domain.com. abc02.domain.com.' 

答案4

使用 dhcp6-overrides 和“use-dns: false”无法忽略通过 DHCP6 提供的 DNS 服务器。

注意:我在 Ubuntu 19.04(disco)中使用 netplan.io 0.96 和 systemd 240。

# cat /etc/netplan/10-enp3s0-init.yaml
network:
    version: 2
    renderer: networkd
    ethernets:
        enp3s0:
            critical: true
            dhcp4: true
            dhcp4-overrides:
                use-dns: false
            dhcp6: true
            dhcp6-overrides:
                use-dns: false
            ipv6-privacy: true
            nameservers:
                search: [home]
                addresses: [1.0.0.1, 1.1.1.1]

# resolvectl status enp3s0
Link 2 (enp3s0)
      Current Scopes: DNS
DefaultRoute setting: yes
       LLMNR setting: yes
MulticastDNS setting: no
  DNSOverTLS setting: opportunistic
      DNSSEC setting: yes
    DNSSEC supported: yes
  Current DNS Server: 1.0.0.1
         DNS Servers: 1.0.0.1
                      1.1.1.1
                      fd50:a94:67b3:0:26a7:dcff:fe27:a60 <--- DHCP6 provided?
          DNS Domain: home

相关内容