Ubuntu

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

  • November 23, 2021

我正在嘗試在這裡遵循本教程:

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

使用 Debian 10 作為 vagrant 主機,並且由於 Debian 不再支持 Virtual Box,我正在使用 libvirt。

因此,我不得不將圖像更改為generic/ubuntu2010.

不幸的是,DNS 似乎無法在 vm 中執行。

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 上重新生成呢?

問題是 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 損壞的人有什麼用處。

引用自:https://unix.stackexchange.com/questions/678203