DNS 서버 주소가 resolv.conf에 더 이상 저장되지 않습니다. 지금 어? 어?


14

작업 표시 줄의 NetworkManager 표시기를 사용하여 DNS 서버를 전환하는 경우가 있습니다. 이것은 이전 버전에서 잘 작동했으며 실제로 12.04에서도 잘 작동합니다. 단, Conky를 사용하여 DNS 주소를 포함한 일부 시스템 정보를 표시하면 항상 표시 127.0.0.1됩니다.

나는 resolv.conf이 주소를 얻는 곳을 보았고 , 그것이 항상 그것이 말하는 것입니다. 파일을 직접 편집하지 말라고 권고하는 한 줄이 있습니다.

nameserver 127.0.0.1

내가 지금 DNS 서버 주소를 확인하는 유일한 방법은 네트워크 관리자 GUI를 열어 정보 페이지를 확인하는 것입니다. 그렇다면이 정보는 어디에 저장됩니까?

답변:


17

정보는 Network Manager에 의해 내부적으로 관리됩니다. 포함 된 nmcli도구를 사용하여 명령 행에서이 정보를 얻을 수 있습니다 .

다음 명령을 사용하여 특정 네트워크 인터페이스에 대한 Network Manager 정보를 검색 할 수 있습니다.

nmcli dev list iface eth0

( eth0연결중인 인터페이스로 교체하십시오 ). 출력에는 인터페이스 및 해당 인터페이스에서 현재 활성화 된 연결에 대한 정보가 포함됩니다.

GENERAL.DEVICE:                         eth0
GENERAL.TYPE:                           802-3-ethernet
...
IP4.DNS[1]:                             192.168.0.1
...

이 출력에서 ​​얻은 정보를 추출하는 것이 너무 어렵지 않아야합니다.

의 출력에 의존하지 않는이 데이터에 액세스하는 프로그래밍 방식이 필요한 경우 nmcliNetwork Manager의 D-Bus 인터페이스에서도이 정보를 사용할 수 있습니다.


고마워요. 좋은 정보입니다. nmcli다양한 흥미로운 매개 변수를 나열하기 위해 해당 명령을 사용하여 간단한 쉘 스크립트를 작성하는 것이 매우 쉬워야합니다 . 어쩌면 나는 유용한 것을 채찍질하고 어딘가에 공유 할 수 있습니다. 실제로 Network Manager가 필요하다고 생각하지 않았으며 다른 방법으로 다른 방법을 사용할 수 있다고 생각하지만 이것이 나에게 효과적입니다.
Marty Fried

수신 대기중인 서버 가 Network Manager에 의해 시작된 127.0.0.1인스턴스 임을 알 수 있습니다 dnsmasq(의 출력 참조 sudo netstat -tlnp). 그러나 구현 세부 사항으로 생각하고 Network Manager에 원하는 정보를 요청하는 것이 가장 좋습니다. 여기서 결정하는 것이 가장 중요합니다.
James Henstridge

좋은 정보를 제공해 주셔서 감사합니다. 또한 질문을 편집 해 주셔서 감사합니다. 앞으로 더 많은 시간을 할애 할 것입니다. :) 내 변명은 방금 12.04로 업그레이드했으며 여러 전선에서 약간의 불을 피우고 있다는 것입니다. :)
Marty Fried

4
nmcli dev list iface나를 위해 작동하지 않지만 nmcli dev show[ubuntu 15.04]
Beni Cherniavsky-Paskin

10

우분투 개발자는에 이러한 변경 사항을 문서화해야 /etc/resolv.conf하지만 그렇지 않습니다.

다음은 빠른 명령 목록입니다.

  1. 현재 DNS 서버 표시

    nm-tool | grep DNS
    
  2. 에서 정적 DNS 서버를 정의하십시오 /etc/dhcp/dhclient.conf. 다음 줄을 추가하고 로컬 확인자를 다시 시작하십시오.

    supersede domain-search "sub.mydomain.com", "domain.com";
    prepend domain-name-servers 192.168.0.1;
    

    명령 프롬프트에서 :

    invoke-rc.d network-manager restart
    

더 많은 문서 : resolvconf (8), /usr/share/doc/resolvconf/README.gz.
jdthood

4

nmcli를 사용한다고해서 항상 완전한 답을 얻을 수있는 것은 아닙니다. 예를 들어 openconnect (또는 아마도 vpnc)를 사용하여 VPN을 시작하고 resolvconf 패키지가 설치되어있는 경우 (/etc/resolv.conf 자동 관리를 위해) 여전히 자동으로 127.0.0.1보다 먼저 /etc/resolv.conf에 VPN의 DNS 설정. 이 경우 "nmcli -f IP4 dev list"를 확인하면 실제 DNS 목록이 표시되지 않습니다. 이 시나리오가 당신에게 영향을 미치는지 확실하지 않지만 언급 할 가치가 있다고 생각했습니다.


추가 정보에 감사드립니다. 항상 더 배우는 것이 좋습니다. 내 유스 케이스의 경우 두 개의 가능한 DNS 주소 중 어느 것이 활성화되어 있는지 알고 싶기 때문에 걱정할 필요가 없습니다.
Marty Fried

네트워크 관리자를 사용하여 VPN에 연결하는 경우 DNS에 어떤 명령을 제공해야합니까? DNS가 작동하지만 찾을 수 없습니다.
Jorge Suárez de Lis
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.