동일한 네트워크에 있는 두 개의 Ubuntu 시스템이 DNS 확인 시 다르게 동작하는 이유는 무엇입니까?

동일한 네트워크에 있는 두 개의 Ubuntu 시스템이 DNS 확인 시 다르게 동작하는 이유는 무엇입니까?

동일한 네트워크 내에 Ubuntu 12.04를 실행하는 두 개의 시스템이 있습니다(라우팅 논리 없이 허브를 통해 연결됨). 두 시스템의 구성은 매우 유사하지만 동일하지는 않습니다. 특히 이 명령은 route두 시스템 모두에서 동일한 결과를 제공합니다.

네트워크에서 Windows 서버는 이름으로 실행됩니다 winshared. Linux 시스템은 IP를 확인하기 위해 작동합니다.

> nslookup winshared
Server:     127.0.0.1
Address:    127.0.0.1#53

Name:   winshared.somepc.xx
Address: 172.16.0.110

그리고 다른 Linux 시스템은 실패했습니다.

> nslookup winshared
;; connection timed out; no servers could be reached

두 시스템의 DNS 확인에 차이가 나타나는 이유는 무엇입니까? 어떻게 고치나요?

추가 정보:

  • 내용은 두 시스템 모두에서 동일 /etc/resolv.conf하며 다음과 같습니다.

    nameserver 127.0.0.1
    

답변1

이 질문에 대한 대답은 그 안에 있는 항목에서 시작됩니다 /etc/resolv.conf. 내용은 동일하며 주어진 IP 주소는 127.0.0.1시스템 자체를 나타냅니다.

다음 힌트는 출력에서 ​​나옵니다 . 이는 포트 53에서 수신 대기하는 프로세스에 의해 nslookup의 주소가 확인되고 있음을 보여줍니다 . 작동 중인 시스템에서 사용하면 이 포트에서 수신 대기 중인 프로세스가 표시됩니다. 그러나 다른 시스템에는 해당 포트를 수신하는 두 번째 프로세스가 있습니다 . 은 DNS 서버이므로 이름이 확인되지 않아 혼동이 발생할 수 있습니다.winsharedsudo netstat -nlpdnsmasqnamednamed

설명대로서비스를 제거하면 서비스가 중지될 수 있으며 , 그 후에는 실패한 시스템의 DNS 서비스가 중지됩니다. 두 시스템 모두 DNS 요청에 대한 경량 전달 서비스인 포트 53에서 실행되는 bind9프로세스가 하나만 있습니다 .dnsmasq

winshared그런 다음 두 시스템 모두에서 이름을 확인할 수 있습니다.

답변2

일반적으로 서버는 다르게 구성되기 때문에 다르게 동작합니다. ;)

DNS 서버는 DHCP에 의해 설정되거나 /etc/resolv.conf파일에서 수동으로 구성됩니다.

일부 호스트 이름/IP 주소에 대한 정적 항목이 에 존재할 수 있습니다 /etc/hosts.

/etc/nsswitch.conf확인자는 로컬 파일/NIS/LDAP 또는 DNS와 같은 소스에 다른 우선 순위를 부여하도록 지시받을 수 있습니다 .

답변3

/etc/resolv.conf 파일은 resolvconf 패키지에 의해 생성된 것 같습니다.

정적 또는 동적 네트워크 구성을 사용합니까?

/etc/resolvconf/ 및 /etc/networks/interfaces에서 다른 파일을 살펴보세요.

또는 설치된 경우 Network Manager를 사용하십시오.

관련 정보