我有一台客户端 ubuntu 18.04 PC,它已连接到互联网,但 DNS 不起作用。起初我以为我必须配置 netplan yaml 文件,我确实喜欢:
network:
version: 2
renderer: NetworkManager
ethernets:
enp2s0:
dhcp4: no
addresses: [10.246.5.248/24]
gateway4: 10.246.5.254
nameservers:
addresses: [10.246.5.1, 127.0.0.53]
search: [<my_domain_name>]
sudo netplan --debug apply
没有返回任何错误并且我重新启动了网络管理器,但是无论我如何编辑 yaml 文件,网络配置都不会改变。
然后,按照答案这个问题,我从 yaml 文件中删除了以太网配置,编辑了我的 /etc/network/interfaces 并重新启动了网络管理器,但 IP 地址和名称服务器仍然没有发生任何变化。
然后,我尝试运行nm-connection-editor
。那里没有列出任何接口,因此我尝试使用我的配置添加一个接口。即使重新启动网络管理器后,网络配置也没有变化。
我的 /etc/resolv.conf 文件有一个指向 /run/systemd/resolve/stub-resolv.conf 的符号链接。如果我使用 DNS 配置编辑存根,DNS 就会开始工作,但只能在我重新启动之前。
我是不是漏掉了什么?我猜是其他服务/程序正在更改 resolv.conf。我该如何确定是哪个服务/程序,并在那里配置我的 DNS?
答案1
答案已经在您发布的配置中了。
该行renderer: NetworkManager
表示所有网络配置都将由 NetworkManager(系统上的配置实用程序)处理。您需要做的是删除为接口添加的附加 netplan 配置,并删除/etc/network/interfaces
您可能已设置的任何配置,然后在 Network Manager 中配置您的网络接口。
DNS 由systemd-resolved
SystemD 处理,存根解析器项在那里很好。
systemd-resolve --status
您可以通过运行并查找“DNS 服务器”行来获取您正在使用的当前 DNS 服务器。
答案2
假设这是一个桌面安装,而不是服务器安装...
撤消对 /etc/network/interfaces 所做的更改
编辑你的 netplan .yaml 使其看起来像这样:
network:
version: 2
renderer: NetworkManager
sudo netplan generate
sudo netplan apply
reboot
然后使用 NetworkManager GUI 为您的以太网接口配置固定地址。
以下是使用 nm-connection-editor 的示例(如果愿意,可以使用常规 NetworkManager GUI):
使用设备弹出窗口选择您的以太网 MAC 地址...