nslookup 中未使用特定接口的 netplan 名称服务器设置

nslookup 中未使用特定接口的 netplan 名称服务器设置

我整个上午都在研究和尝试一些东西,但似乎还是无法理解。如果我在这里遗漏了一些基本知识,请耐心等待。

场景:

我已经使用 netplan(ubuntu server 18.04)配置了接口,除了 DNS 部分,其他一切都运行正常。当我执行“nslookup本地域名“我得到了 8.8.8.8 的答案,相反,我想要一个来自 10.12.101.101 的答案

我的目标:

让系统(即 nslookup)在查找本地域名时使用我通过 netplan 配置文件配置的本地名称服务器。

当前配置:

对于特定接口 eth0,我已经配置了在查询本地 IP/本地网络时要使用的本地名称服务器。

/etc/resolv.conf 包含 8.8.8.8 的名称服务器条目

netplan.conf 如下所示:

network:
    ethernets:
        eth0:
            addresses:
            - 10.205.10.16/24
            match:
                macaddress: "xxxxxxxx"
            nameservers: {
                    addresses: [10.12.101.101, 10.12.101.102, 10.12.101.103]
                }
            routes:
            - xxxxxxxxxx

        eth1:
            addresses:
            - xxxx/28
            match:
                macaddress: "xxxxx"
            gateway4: xxxxxx

    version: 2

这是“systemd-resolve --status”的输出

Global
         DNS Servers: 8.8.8.8
          DNSSEC NTA: 10.in-addr.arpa
                      16.172.in-addr.arpa
                      168.192.in-addr.arpa
                      17.172.in-addr.arpa
                      18.172.in-addr.arpa
                      19.172.in-addr.arpa
                      20.172.in-addr.arpa
                      21.172.in-addr.arpa
                      22.172.in-addr.arpa
                      23.172.in-addr.arpa
                      24.172.in-addr.arpa
                      25.172.in-addr.arpa
                      26.172.in-addr.arpa
                      27.172.in-addr.arpa
                      28.172.in-addr.arpa
                      29.172.in-addr.arpa
                      30.172.in-addr.arpa
                      31.172.in-addr.arpa
                      corp
                      d.f.ip6.arpa
                      home
                      internal
                      intranet
                      lan
                      local
                      private
                      test

Link 3 (eth1)
      Current Scopes: none
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no

Link 2 (eth0)
      Current Scopes: DNS
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
         DNS Servers: 10.12.101.101
                      10.12.101.102
                      10.12.101.103

我还配置了什么:

  • systemd-networkd 已启用并正在运行。
  • systemd-resolved 已启用并正在运行。
  • networking.service 已禁用。
  • resolvconf、dnsmasq、dnsmasq-base - 软件包未安装。
  • /etc/nsswitch.conf 如下所示:“hosts:文件解析 [!UNAVAIL=return] dns”。
  • 每次更改后都要重新启动系统。

提前感谢任何建议。我希望这是一个合理的问题。

答案1

/etc/resolv.conf 包含 8.8.8.8 的名称服务器条目

这是从哪里来的? /etc/resolv.conf 是一个静态文件,而不是 ../run/systemd/resolve/stub-resolv.conf 的符号链接(应该是这样的)吗?

您的 netplan 配置未提及 8.8.8.8,这不是 Ubuntu 中的默认设置。但systemd-resolved会选择静态配置的 DNS 服务器并将其注入其配置中。

将 /etc/resolv.conf 更改为预期的符号链接,然后运行sudo systemctl restart systemd-resolved,可能就足以解决您的问题。

相关内容