![동일한 네트워크에 있는 두 개의 Ubuntu 시스템이 DNS 확인 시 다르게 동작하는 이유는 무엇입니까?](https://linux55.com/image/3777/%EB%8F%99%EC%9D%BC%ED%95%9C%20%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC%EC%97%90%20%EC%9E%88%EB%8A%94%20%EB%91%90%20%EA%B0%9C%EC%9D%98%20Ubuntu%20%EC%8B%9C%EC%8A%A4%ED%85%9C%EC%9D%B4%20DNS%20%ED%99%95%EC%9D%B8%20%EC%8B%9C%20%EB%8B%A4%EB%A5%B4%EA%B2%8C%20%EB%8F%99%EC%9E%91%ED%95%98%EB%8A%94%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
동일한 네트워크 내에 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 서버이므로 이름이 확인되지 않아 혼동이 발생할 수 있습니다.winshared
sudo netstat -nlp
dnsmasq
named
named
설명대로서비스를 제거하면 서비스가 중지될 수 있으며 , 그 후에는 실패한 시스템의 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를 사용하십시오.