웹사이트 검색

Ubuntu 및 Debian에서 영구 DNS 네임서버를 설정하는 방법


/etc/resolv.confDNS 이름 확인 라이브러리의 기본 구성 파일입니다. 확인자는 인터넷 도메인 이름 시스템(DNS)에 대한 액세스를 제공하는 C 라이브러리의 기능 집합입니다. 이 기능은 /etc/hosts 파일 또는 여러 DNS 이름 서버의 항목을 확인하거나 호스트의 네트워크 정보 서비스(NIS) 데이터베이스를 사용하도록 구성됩니다. ).

systemd(시스템 및 서비스 관리자)를 사용하는 최신 Linux 시스템에서는 DNS 또는 이름 확인 서비스가 를 통해 로컬 애플리케이션에 제공됩니다. >systemd-resolved 서비스. 기본적으로 이 서비스에는 도메인 이름 확인을 처리하기 위한 네 가지 모드가 있으며 기본 작업 모드에서 systemd DNS 스텁 파일(/run/systemd/resolve/stub-resolv.conf)을 사용합니다.

DNS 스텁 파일에는 로컬 스텁 127.0.0.53이 유일한 DNS 서버로 포함되어 있으며, 이를 추가하는 데 사용된 /etc/resolv.conf 파일로 리디렉션됩니다. 시스템이 사용하는 네임서버.

/etc/resolv.conf에서 다음 ls 명령을 실행하면 이 파일이 /run/systemd/resolve/stub-resolv.conf<에 대한 심볼릭 링크임을 알 수 있습니다. 파일입니다.

ls -l /etc/resolv.conf

lrwxrwxrwx 1 root root 39 Feb 15  2019 /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf

불행하게도 /etc/resolv.confsystemd-resolved 서비스에 의해 간접적으로 관리되고 어떤 경우에는 네트워크 서비스에 의해(initscripts<를 사용하여) 관리되기 때문에 또는 NetworkManager), 사용자가 수동으로 변경한 내용은 영구적으로 저장할 수 없거나 잠시 동안만 지속될 수 있습니다.

이 기사에서는 Debian 아래의 /etc/resolv.conf 파일에 영구 DNS 이름 서버를 설정하기 위해 resolvconf 프로그램을 설치하고 사용하는 방법을 보여줍니다. Strong> 및 Ubuntu Linux 배포판.

/etc/resolv.conf 파일을 편집하려는 이유는 무엇입니까?

주된 이유는 시스템의 DNS 설정이 잘못 구성되었거나 특정 이름 서버나 자체 이름 서버를 사용하는 것을 선호하기 때문일 수 있습니다. 다음 cat 명령은 내 Ubuntu 시스템의 /etc/resolv.conf 파일에 있는 기본 이름 서버를 보여줍니다.

cat /etc/resolv.conf

이 경우 APT 패키지 관리자와 같은 로컬 애플리케이션이 로컬 네트워크의 FQDN(정규화된 도메인 이름)에 액세스하려고 하면 결과는 " 이름 확인에 일시적인 실패 ” 오류가 다음 스크린샷에 표시됩니다.

ping 명령을 실행할 때도 마찬가지입니다.

ping google.com

따라서 사용자가 이름 서버를 수동으로 설정하려고 하면 변경 사항이 오래 지속되지 않거나 재부팅 후 취소됩니다. 이 문제를 해결하려면 reolvconf 유틸리티를 설치하고 사용하여 변경 사항을 영구적으로 적용할 수 있습니다.

다음 섹션에 표시된 대로 resolvconf 패키지를 설치하려면 먼저 /etc/resolv.conf 파일에 다음 이름 서버를 수동으로 설정해야 합니다. 인터넷에 있는 Ubuntu 리포지토리 서버의 FQDM입니다.

nameserver 8.8.4.4
nameserver 8.8.8.8

추가 읽기: Linux에서 /etc/hosts 파일을 사용하여 로컬 DNS를 설정하는 방법

Ubuntu 및 Debian에 resolvconf 설치

먼저 시스템 소프트웨어 패키지를 업데이트한 후 다음 명령을 실행하여 공식 저장소에서 resolvconf를 설치합니다.

sudo apt update
sudo apt install resolvconf

resolvconf 설치가 완료되면 systemdresolvconf.service를 자동으로 시작하고 활성화합니다. 실행 중인지 확인하려면 다음 명령을 실행하십시오.

sudo systemctl status resolvconf.service

어떤 이유로든 서비스가 자동으로 시작 및 활성화되지 않는 경우 다음과 같이 서비스를 시작하고 활성화할 수 있습니다.

sudo systemctl start resolvconf.service
sudo systemctl enable resolvconf.service
sudo systemctl status resolvconf.service

Ubuntu 및 Debian에서 영구 DNS 네임서버 설정

다음으로 /etc/resolvconf/resolv.conf.d/head 구성 파일을 엽니다.

sudo nano /etc/resolvconf/resolv.conf.d/head

그리고 그 안에 다음 줄을 추가하세요:

nameserver 8.8.8.8 
nameserver 8.8.4.4

변경 사항을 저장하고 resolvconf.servicesystemd-resolved를 다시 시작하거나 시스템을 재부팅합니다.

sudo systemctl restart resolvconf.service
sudo systemctl restart systemd-resolved.service

이제 /etc/resolv.conf 파일을 확인하면 이름 서버 항목이 영구적으로 저장되어야 합니다. 이제부터는 시스템의 이름 확인과 관련된 문제가 발생하지 않습니다.

이 빠른 기사가 Ubuntu 및 Debian 시스템에서 영구 DNS 이름 서버를 설정하는 데 도움이 되었기를 바랍니다. 문의 사항이나 제안 사항이 있으면 아래 댓글 섹션에서 공유해 주세요.