在 Ubuntu 17.10 中似乎不会nslookup
回退到其他 DNS 服务器。
DNS 子系统现在由守护进程管理systemd-resolved
。我看到/etc/resolv.conf
链接如下:
$ ls -l /etc/resolv.conf
lrwxrwxrwx 1 root root 32 Jan 22 15:40 /etc/resolv.conf -> /run/systemd/resolve/resolv.conf
按照systemd-已解决手册页似乎应该同时尝试所有 DNS 服务器,但事实并非如此。如果第一个 DNS 服务器失败,它不会尝试辅助 DNS 名称服务器。
按照手册页,getaddrinfo()
内部会并行重试所有 DNS 服务器,但看起来似乎并非如此。
socket.getaddrinfo("internal.set", 80, 0, 0, socket.IPPROTO_TCP)
回溯(最近一次调用):
文件“”,第 1 行,在
文件“/usr/lib/python3.6/socket.py”,第 745 行,在 getaddrinfo 中,
用于 _socket.getaddrinfo(host, port, family, type, proto, flags) 中的 res:
socket.gaierror:[Errno -2] 名称或服务未知
在上述情况下,“internal.set”是有效名称,但只能通过辅助 DNS 服务器访问。
顺便说一句,我尝试set fail
按照nslookup 手册页Wireshark 仍然报告只尝试过一个 DNS 服务器。
$ nslookup
> set fail
> host internal.set
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
*** Can't find host: No answer
>
答案1
在 Ubuntu 17.10 中,他们改用 netplan 来管理网络。
对于桌面,它现在是 netplan/networkmanager 对于服务器(无头)它现在是 netplan/networkd
因此,基本上你过去编辑过的任何内容都不再起作用。让生活变得更加混乱的是,它们仍然存在,编辑它们只会增加更多问题(这是经验之谈)。一旦我开始只使用 netplan 的东西,一切都会重新开始工作。
据我所知,您现在可以在 gui 中编辑 gui(我不使用 gui),如果您在 Google 上搜索 ubuntu 18.04 static ip netplan networkd,您可能会找到您要找的内容。我刚刚发现了其中的大部分内容,但我仍然不能 100% 确定它们是如何工作的,这就是为什么我没有告诉您我如何设置我的网络。错误的建议只会让事情变得更糟。
我的关键信息在这里找到:https://websiteforstudents.com/configure-static-ip-addresses-on-ubuntu-18-04-beta/
一旦我有机会彻底完成它并对其进行全部测试,我就会对其写一篇简短的博客。