외부 DNS를 사용할 때 dig가 dns 서버를 127.0.0.1로보고하는 이유는 무엇입니까?


12

언 바운드를 사용하며 일반적으로 DNS 서버로 openDNS를 사용합니다.

내가 실행할 때 나는 dig google.com말한다 SERVER: 127.0.0.1#53(127.0.0.1). 이 것은 포트 # 53에서 정확히 듣고있는 것입니까? 이것은 언 바운드입니까 아니면 dnsmasq와 관련 dnsmasq.conf/etc있습니까?

resolv.conf에는 nameserver 127.0.0.1네트워크 관리자 가 있지만 DNS 서버는 두 개의 openDNS 주소를 가리 킵니다. 무슨 일이야? 로컬 이름 서버가 dnsmasq를 가리키고 네트워크 관리자의 값을 사용합니까? 아니면 실제로 듣고있는 것은 언 바운드입니까?


무엇을 이루려고 노력하고 있습니까?
Rahul Patil

3
정말 이해
fpghost

이 우분투 서버 에디션입니까?
Rahul Patil

어떤 단지 바탕 화면
fpghost

답변:


15

기본적으로 NetworkManager는 Dnsmasq를 설치 한 경우 DNS 확인 자로 사용합니다. 이는 데비안 기반 시스템의 기본값이므로 Dnsmasq는 기본 구성으로 실행되며 명령 구성 옵션 (및의 내용 /etc/hosts)으로 지정된 업스트림 서버를 기반으로 이름 만 확인합니다 . /etc/dnsmasq.conf해당 파일이 선택적 패키지 dnsmasq 에만 있기 때문에 없습니다 .

시스템에서 현재 DNS 쿼리에 Dnsmasq 또는 Unbound를 사용하고 있는지 확인하려면을 실행하십시오 netstat -ulnp | grep ":53 ".

우분투 12.04에서, 네트워크 매니저는 다른 DNS 리졸버 잘 재생되지 않는다 (참조 버그 959037을 - 토마스 후드의 요약 거의 커버 모두). NetworkManager와 함께 Unbound를 계속 실행하려면 NetworkManager에 Dnsmasq를 실행하지 말라고 알리는 것이 가장 좋습니다 (NetworkManager에서 사용하지 않는 Dnsmasq의 기능을 사용하지 않는 한 Unbound 이외에도 필요하지 않음). 하기 위해서:

  1. /etc/NetworkManager/NetworkManager.conf포함 된 행을 주석 처리하도록 편집하십시오 dns=dnsmasq( #해당 행의 시작 부분에 a 를 추가하십시오 ).
  2. 로 NetworkManager를 다시 시작하십시오 service network-manager restart.

Ubuntu는 현재 Unbound를 사용하는 방법을 어떻게 알고 있습니까? (실제로 사용하는 것 같습니다); 내가 얻는 것은 왜 내가 같은 것을 필요로하지 않는 것 dns=unbound입니다 /etc/NetworkManager/NetworkManager.conf. 현재 dns=dnsmasq파일에 있다고 가정하면 Ubuntu가 실제로 언 바운드를 사용하는 이유는 무엇입니까?
fpghost

@fpghost 어느 것이 먼저 시작했는지에 따라 다릅니다. 네트워크없이 부팅하면 먼저 시작되므로 Unbound가 표시됩니다. 네트워크 연결로 부팅하면 버린 것 같습니다.
Gilles 'SO- 악마 그만

좋아,하지만 정말로 궁금한 것은 dns=...dnsmasq 사용을 중지 하기 위해 줄을 완전히 주석 처리하는 것이 아니라 줄을 바꾸면 어떻게 dns=unbound됩니까? 그렇지 않으면 NetworkManager는 언 바운드가 로컬 리졸버가된다는 것을 어떻게 알 수 있습니까?
fpghost

1

우분투 12.04에서 dnsmasq는에 하드 코딩되어 기본적으로 실행됩니다 network-manager. 데스크탑 설치에서 기본적으로 dnsmasq를 로컬 리졸버로 사용 이번 릴리스의 두 번째 큰 변화입니다. 데스크탑 설치에서 DNS 서버는 "127.0.0.1"이되어 NetworkManager 관리 dnsmasq 서버를 가리 킵니다.

SERVER: 127.0.0.1#53(127.0.0.1)

이것은 DNSNSSQ와 같은 로컬 DNS에서 쿼리를 받고 있음을 의미합니다.

로컬 리졸버를 원하지 않으면 다음 절차에 따라 DNSMASQ를 끌 수 있습니다.

/etc/NetworkManager/NetworkManager.conf파일 을 편집해야 합니다

gksudo gedit /etc/NetworkManager/NetworkManager.conf

에서 다음 줄을 주석으로 처리하십시오.

dns=dnsmasq

#dns=dnsmasq

파일을 저장하고 종료하십시오.

이제 network-manager다음 명령을 사용하여 다시 시작해야합니다

sudo systemctl restart network-manager

참조 링크


1
그래도 언 바운드가 설치되어 있으면 로컬 리졸버로서 dnsmasq보다 우선합니까? 둘 다 # 53에서 듣고 있습니까? 그들은 어떻게 함께합니까?
fpghost

또한 왜 /etc/dnsmasq.conf결석합니까?
fpghost

@fpghost dnsmasq는 127.0.1.1에서 수신하고 unbound는 포트 53에서 127.0.0.1에서 수신합니다. 네트워크 관리자 구성에서 dns = unbound를 설정하여 unbound를 사용할 수 있습니다.
talonx

0

DNSMasq를 사용할 때 주소를 확인하는 데 사용 된 실제 DNS 서버를 확인하려면 대신 DIG보고 만하 기 때문에 사용할 수 없습니다 127.0.0.1.

DNSMasq에서 로깅 활성화 :

sed -i 's/\#log-queries/log-queries/' /etc/dnsmasq.conf
systemctl restart dnsmasq

DNSMasq를 기록하고 출력을 모니터링하십시오.

journalctl --unit dnsmasq.service -f

호스트 핑 :

ping google.ca

그러면 업스트림 DNS 서버 (192.168.1.1)가이를 해결하는 것을 볼 수 있습니다.

: query[A] google.ca from 127.0.0.1
: forwarded google.ca to 192.168.1.1
: query[AAAA] google.ca from 127.0.0.1
: forwarded google.ca to 192.168.1.1
: reply google.ca is 172.217.1.3
: reply google.ca is 2607:f8b0:400b:80f::2003
: query[PTR] 3.1.217.172.in-addr.arpa from 127.0.0.1
: forwarded 3.1.217.172.in-addr.arpa to 192.168.1.1
: reply 172.217.1.3 is iad23s25-in-f3.1e100.net
: reply 172.217.1.3 is yyz10s14-in-f3.1e100.net

* .company.com에 대해 회사 VPN 뒤에 호스트 Ping (분할 터널 중)

ping box.company.com

결과 :

: query[A] box.company.com from 127.0.0.1
: forwarded box.company.com to vpn.ser.ver.ip
: query[AAAA] box.company.com from 127.0.0.1
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.