/etc/resolv.conf.d를 사용하여 /etc/resolv.conf의 변경 사항을 적용하는“올바른 방법”은 무엇입니까?


11

나는 옛날, resolv.conf정적이고 당신이 직접 편집했습니다.

나중에 DHCP 클라이언트는 정적 항목과 DHCP 임대에서 얻은 항목을 사용하여 DHCP 클라이언트를 다시 작성합니다.

요즘에는 (Minist 18.1)과 같은 일부 배포판 /etc/resolv.conf.d에는 스크립트의 여러 하위 디렉토리 가있는 메커니즘이 있으며 글쎄, 나는 그것의 머리와 꼬리를 만들 수 없습니다.

그렇다면 올바른 방법은 무엇입니까?

  • DHCP 임대에서 얻은 DNS 서버를 사용하거나 사용하지 않을 것임을 나타냅니다.
  • DHCP 임대 획득 네임 서버가 없을 때 항상 또는 대체로 resolv.conf에 고정 항목을 추가하는 방법은 무엇입니까?
  • 파일에서 상대 순서에 대한 결정을 내릴 수 있습니까?

필자가 가지고있는 스크립트를 직접 작성해도 상관 없습니다. 기존 메커니즘에 대해 "작업"하거나 중복 작업을 수행하고 싶지 않습니다.


4
resolvconf서버에서 제거 합니다 ... unix.stackexchange.com/questions/286195/…
Rui F Ribeiro

dhclientDHCP DNS 정보를 무시 / 대체 하도록 구성 할 수도 있습니다 . /etc/resolv.conf.d이 작업을 수행 하는 메커니즘이 확실 하지 않습니다 (그러나 민트를 사용하지 않으며 해당 스크립트가 없습니다).
dirkt

@dirkt : 사실, 현재로서는 /etc/resolv.confdnsmasq를 실행하는 로컬 호스트 만 dnsmasq, resolv.conf.d 메커니즘 및 DHCP 클라이언트가 어떻게 상호 작용하는지 명확하지 않습니다.
einpoklum

답변:


2

대답은 간단합니다. resolv.conf.d폴더는 / etc / resolvconf /에 있으며 head / base / original 및 tail 파일을 포함합니다. 각각 편집하면 resolv.conf/ etc / 의 파일 이 업데이트됩니다

resolv.conf/ etc / 의 시작 부분에 정적 DNS 주소를 넣고 싶다고 가정하십시오 (재부팅 할 때마다 기본 설정으로 자동 재설정되므로) head/etc/resolvconf/resolvconf.d/ 에서 파일 을 편집하고 예를 들면 :

nameserver 1.1.1.1
nameserver 1.0.0.1

그 후 다음을 사용하여 resolvconf 서비스를 다시 시작하십시오.

sudo service resolvconf restart

이제 cat resolv.conf을 / etc /에 추가하면 새로운 변경 사항이 표시됩니다.

파일의 맨 아래에 물건을 넣고 싶다면 /etc/resolvconf/resolvconf.d/ tail대신에 같은 것을 적용하십시오head

추신 : 이것은 100 % 테스트되었으며 우분투와 데비안에서 작동합니다.

편집 : 귀하의 질문의 마지막 두 글 머리 기호에 대해 이미 답변했습니다. 이제 첫 번째 글 머리 기호에 대해서는 DHCP에서 제공하는 DNS 주소를 사용하지 않는 방법에 대해 설명합니다. 실제로 설치 한 DNS 소프트웨어 / 패키지에 따라 달라 지므로이 Post 를 확인 하고 아래의 내용을 읽고있는 것이 좋습니다 dnsmasq.


1
+1이지만 이것은 내가 요청한 것의 일부를 수행하는 방법만을 설명합니다.
einpoklum

0

resolve.conf 및 이와 같은 메커니즘은 지난 몇 년 동안 지금까지 존재합니다. 이 파일을 처리하는 명령 행이 dhclient있지만 resolvconf최근 Linux에서는 nmcli 라는 이름으로 NetworkManager 구성을위한 새로운 인터페이스가 도입되었습니다 . 이것은 모든 영구 네트워크 구성 (런타임이 아님)을 관리하는 풍부한 명령입니다. 당신은 같은 것을 사용할 수 있습니다 :

$ nmcli connection modify eth0 ipv4.dns 8.8.8.8

이 명령은 resolv.conf파일을 덮어 씁니다 . RHCA에서는 resolv.conf를 직접 편집하지 말고 명령을 사용하는 것이 좋습니다. 당신이 언급 한 resolvconf 디렉토리에 대해서, DNS를위한 자체 conf가있는 서비스가있을 수 있으므로 OpenVpn과 같은 자체 conf를 사용할 수 있습니다. /etc/nsswitch해결에 대한 자세한 정보를 얻기 위해 파일을 확인할 수도 있습니다 .


나는 이것이 실제로 내 질문에 대답한다고 생각하지 않습니다.
einpoklum

아마도 이것은 귀하의 질문에 대해 이해하는 미스이지만 nsswitch파일은 귀하의 답변입니다.
Ali Ghasempour '

@einpoklum은 해결에 사용되는 수단의 순서가 아닌 resolv.conf( man resolv.conf) 의 DNS 서버 순서를 제어하기를 원한다고 생각합니다 man nsswitch.conf. 그럼에도 불구하고 당신의 대답은 흥미 롭습니다.
xhienne

관심을 가져 주셔서 감사합니다 . 내가 아는 한 resolv.conf는 순차 파일이며 확인 우선 순위는 위 아래입니다.
알리 Ghasempour
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.