다음은 (X) Ubuntu 18.04 Bionic 용 솔루션입니다.
dnsmasq 설치
sudo apt install dnsmasq
포트 53에서 systemd-resolved listener를 비활성화합니다 (업그레이드시 덮어 쓸 수 있으므로 /etc/systemd/resolved.conf를 만지지 마십시오).
$ cat /etc/systemd/resolved.conf.d/noresolved.conf
[Resolve]
DNSStubListener=no
다시 시작
$ sudo systemctl restart systemd-resolved
(또는로 완전히 비활성화 $ sudo systemctl disable systemd-resolved.service
)
/etc/resolv.conf를 삭제하고 다시 만드십시오. resolv.conf는 기본적으로 /run/systemd/resolve/stub-resolv.conf에 대한 심볼릭 링크이므로 중요합니다. 심볼릭 링크를 삭제하지 않으면 재부팅시 systemd가 파일을 덮어 씁니다 (systemd-resolved를 비활성화 한 경우에도). 또한 NetworkManager (NM)는 시스템 해결 구성을 감지하기위한 기호 링크인지 확인합니다.
$ sudo rm /etc/resolv.conf
$ sudo touch /etc/resolv.conf
NM에서 /etc/resolv.conf 덮어 쓰기를 비활성화합니다 (rc-manager 옵션도 있지만 NM 매뉴얼에 설명되어 있지만 작동하지 않습니다).
$ cat /etc/NetworkManager/conf.d/disableresolv.conf
[main]
dns=none
다시 시작하십시오.
$ sudo systemctl restart NetworkManager
Nns에서 resolv.conf를 사용하도록 dnsmasq에 지시하십시오.
$ cat /etc/dnsmasq.d/nmresolv.conf
resolv-file=/var/run/NetworkManager/resolv.conf
다시 시작하십시오.
$ sudo systemctl restart dnsmasq
해결을 위해 dnsmasq를 사용하십시오.
$ cat /etc/resolv.conf
# Use local dnsmasq for resolving
nameserver 127.0.0.1
sudo systemctl disable systemd-resolved
하시겠습니까? 제대로 구성된 경우 dnsmasq는 내가 생각하는 도메인 해상도를 처리해야합니다.