我整个早上都在研究和尝试一些东西,但我似乎无法理解它。请耐心等待,以防我在这里遗漏一些基本的东西。
场景:
我已经用 netplan(ubuntu 服务器 18.04)配置了接口,除了 DNS 部分外,一切都运行良好。当我执行“nslookup local-domain-name ”时,我得到了 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 已启用并正在运行。
- 网络服务被禁用。
- resolvconf、dnsmasq、dnsmasq-base - 未安装软件包。
- /etc/nsswitch.conf 看起来像这样:“主机:文件解析 [!UNAVAIL=return] dns”。
- 每次更改后都重新启动系统。
提前感谢您的任何建议。我希望,这是一个合理的问题。
这是从哪里来的?/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
,可能足以解决您的问题。