如何从 /etc/systemd/resolved.conf 重新生成 /etc/resolv.conf?

如何从 /etc/systemd/resolved.conf 重新生成 /etc/resolv.conf?

我试图在这里遵循本教程:

https://www.itwonderlab.com/en/ansible-kubernetes-vagrant-tutorial/

使用 Debian 10 作为 vagrant 主机,并且由于 Debian 不再支持 Virtual Box,所以我使用 libvirt。

因此,我不得不将图像更改为generic/ubuntu2010.

不幸的是,DNS 似乎在虚拟机内不起作用。

curl google.com
curl: (6) Could not resolve host: google.com

/etc/resolv.conf看起来像这样:

nameserver 127.0.0.53
options edns0 trust-ad

一旦我将名称服务器行更改为知名名称服务器的 IP,它就可以正常工作。

所以应该像编辑一样简单/etc/resolv.conf,但我也看到:

This file is managed by man:systemd-resolved(8). Do not edit.

因此,在查看文档后,看来我需要编辑:

/etc/systemd/resolved.conf

打开该文件后,我可以看到其中已经存在一些不匹配的名称服务器 ip /etc/resolv.conf

那么我到底如何/etc/resolv.conf/etc/systemd/resolved.confUbuntu 20.10 上重新生成呢?

答案1

问题出在 DNSSEC。

添加这个:

- name: Fix DNS 
  lineinfile: 
    path: /etc/systemd/resolved.conf
    regex: '^DNSSEC='
    line: 'DNSSEC=no'

- name: Restart resolved
  service:
    name: systemd-resolved
    state: restarted

解决roles/common/add_packages/tasks/main.yml问题。

我不确定generic/ubuntu2010对于 DNS 损坏的人来说有什么用处。

相关内容