resolvconf가 잘못 구성되었을 수 있습니다. resolvconf 및 NetworkManager의 작동 방식을 실제로 이해하지 않고 구성 파일을 가지고 놀았을 때 특히 그렇습니다.
배경 정보는 resolvconf 설명서 및 Stéphane Graber의 블로그 게시물을 참조하십시오.
https://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/
우선 우분투 데스크탑과 우분투 서버는 기본적으로 resolvconf가 설치되고 활성화되어 있음을 알아야합니다. Resolvconf는 /etc/resolv.conf 파일을 순서대로 되돌릴 수있는 방식으로 동적으로 업데이트하기위한 프레임 워크를 제공합니다.
둘째, Ubuntu Desktop에는 기본적으로 NetworkManager가 설치 및 활성화되어 있습니다. 기본적으로 NetworkManager는 dnsmasq 인스턴스를 시작하여 로컬 전달 이름 서버로 사용합니다. 이 NetworkManager 제어 dnsmasq 인스턴스는 127.0.1.1에서 쿼리를 수신합니다. NetworkManager가 dnsmasq 인스턴스를 시작하면 resolvconf에 주소 127.0.1.1
를 resolv.conf 에 삽입하도록 지시 합니다. 다른 답변에서 언급했듯이 로컬 전달 이름 서버 인스턴스를 시작하지 않도록 NetworkManager를 구성하면 로컬 전달 이름 서버가 시작되지 않으며 resolvconf에 주소 127.0.1.1
를 resolv.conf 에 삽입하도록 지시하지 않습니다 .
이 기본 구성은 올바르게 작동하므로 상황이 특별하지 않으면 기본 구성을 복원해야합니다.
기본 구성을 복원하려면 다음을 참조하십시오.
- /etc/resolvconf/resolv.conf.d/head은로 시작하는 두 행으로 구성된 단지 resolvconf 헤더 텍스트가 들어
#
문자를
- /etc/resolvconf/resolv.conf.d/base는 빈 파일입니다
- /etc/resolvconf/resolv.conf.d/tail은 빈 파일입니다.
- /etc/resolv.conf는 내용과의 심볼릭 링크입니다
../run/resolvconf/resolv.conf
이를 위해 다음 명령을 실행하십시오.
sudo su
dpkg-reconfigure resolvconf # And answer `Yes` to agree to dynamic updates
cd /etc/resolvconf/resolv.conf.d
echo '# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN' > head
rm -f base tail original
:> base
:> tail
NetworkManager의 원래 구성은
[main]
...
dns=dnsmasq
...
/etc/NetworkManager/NetworkManager.conf에 있습니다. dns=dnsmasq
회선 을 주석 처리하여 NetworkManager 제어 로컬 전달 이름 서버를 사용하지 않는 것이 합리적 입니다.
[main]
...
#dns=dnsmasq
...
이 작업을 모두 수행 한 후 오래된 네임 서버 정보 레코드를 지우려면 머신을 다시 시작하는 것이 좋습니다.
sudo reboot