LAN에서 네트워크 작동이 느려지는 역방향 DNS 조회


9

환경

내 LAN 설정은 매우 기본적입니다.

  • ISP의 모뎀과 인터넷에 연결된 라우터
  • 라우터에 직접 연결된 개발 PC

라우터는 DHCP를 제공하지만 자체 DNS 서버를 실행하지는 않습니다. 실제로 내 LAN (일반적인 홈 네트워크 설정)의 어느 곳에서나 호스팅되는 DNS 서버가 없습니다. 라우터는 DHCP 임대 정보의 일부로 ISP의 DNS 서버를 보내도록 구성되어 있습니다.

개발 PC에 VirtualBox 시스템을 설치하고 데비안 스퀴즈 (6.0.4)를 설치했습니다. VirtualBox 네트워크 모드는 Bridged AdapterLAN에서 독립형 서버를 시뮬레이션하는 것입니다. 실제 서버 대신 VirtualBox 서버가되는 것은 중요하지 않지만 완전성을 위해 언급했습니다.

문제

네트워크 작업이 실행 전에 LAN IP의 DNS 역방향 조회를 실행할 때마다 서버의 지연 시간이 길어집니다. 느린 네트워크 운영의 몇 가지 예 :

  • 개발자 PC에서 서버로 SSH 연결
  • Glassfish 서버의 관리 포트에 연결
  • netstat -l( netstat -nl매우 빠릅니다)
  • Starting MTA: exim4 부팅시 완료하는 데 시간이 오래 걸림

이들 중 일부는 내 dev pc의 Ip를 /etc/hosts추가하거나 DNS 역방향 조회를 피하기 위해 명령 별 옵션을 추가하는 등 의 해결 방법이 있습니다 . 분명히 /etc/hostsDHCP와는 상충되기 때문에 지금까지만 사용 합니다.

그러나 나는 도울 수 없지만 뭔가 빠졌다고 생각합니다. 나는 마십시오 정말 설정 내 LAN에 DNS 서버 곳이 필요하십니까? 그것은 내 필요에 대한 거대하고 쓸모없는 노력처럼 보이며 나는 DHCP 환경에 다른 옵션이 없다고 믿을 수 없습니다.

나는 이것에 대해 그물을 많이 검색했고 올바른 검색어가 없지만 어쩌면 해결책을 찾을 수 없습니다 ...

BillThor의 답변에 따라 1 업데이트

호스트 사용 (dig는 동일한 결과를 제공합니다) :

# ip of stackoverflow.com
$ time host -v 64.34.119.12
Trying "12.119.34.64.in-addr.arpa"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15537
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;12.119.34.64.in-addr.arpa.     IN      PTR

;; ANSWER SECTION:
12.119.34.64.in-addr.arpa. 143  IN      PTR     stackoverflow.com.

Received 74 bytes from 192.168.1.1#53 in 15 ms

real    0m0.020s
user    0m0.008s
sys     0m0.000s

# ip of dev pc
$ time host -v 192.168.1.50
Trying "50.1.168.192.in-addr.arpa"
;; connection timed out; no servers could be reached

real    0m10.004s
user    0m0.004s
sys     0m0.000s

내 /etc/resolv.conf (설치 중에 자동으로 생성됨)

nameserver 192.168.1.1

호스트와 발굴 모두 공용 IP의 경우 매우 빠르게 반환되지만 LAN IP의 경우 시간 초과에 10 초가 걸립니다. 10s가 현재 시간 초과 값이라고 생각합니다.

업데이트 2

으로 dev-pc/ etc / hosts 파일에 :

$ time getent hosts 192.168.1.50
192.168.1.50    dev-pc

real    0m0.001s
user    0m0.000s
sys     0m0.000s

없이 dev-pc/ etc / hosts 파일에 :

$ time getent hosts 192.168.1.50

real    0m10.012s
user    0m0.004s
sys     0m0.000s

역 DNS 조회를 시도하는 각각에 대한 조각 별 프로그램 옵션 또는 매개 변수를 찾아야하는 것처럼 점점 더 많이 보입니다! 항상 작동하지 않기 때문에 어떤 시스템 (가상이든 아니든)은 LAN에서 DNS 서버로 작동 할 수 없습니다. 불행히도 라우터의 펌웨어에는 DNS 서버가 포함되어 있지 않습니다.

답변:


3

192.168.1.1이 라우터의 IP 주소입니까?

nameserver 192.168.1.1 라우터가 "ISP의 DNS 서버를 보내는"대신 DNS 서버로 광고하고 있음을 나타냅니다.

어떤 브랜드와 모델의 라우터가 있습니까? 웹 인터페이스에 로그 메시지가 표시됩니까?

라우터가 요청을 ISP의 네임 서버로 전달하고 있는지 궁금하지만 ISP의 네임 서버는 IP 192.168.1.50가있는 컴퓨터가 무엇인지 알기를 원하지 않기 때문에 요청을 삭제합니다 .

제안 :

  • 라우터 설정을 다시 확인하십시오. 자신의 개인 네트워크에 대한 요청에 응답해야 합니다 . 라우터의 웹 인터페이스에 고정 호스트 항목을 추가 할 수 있습니까?
  • 네트워크의 모든 시스템에 Avahi 를 설치 하십시오.
  • 라우터에게 Google 퍼블릭 DNS ( 8.8.8.88.8.4.4) 또는 OpenDNS 를 사용하도록 지시

내 라우터는 "NETGEAR 라우터 WNR3500L"@ 192.168.1.1입니다. 로그에는 DHCP 임대 및 관리 인터페이스 로그인 만 표시됩니다. DHCP 임대를 처리 할 때 라우터가 192.168.1.1을 DNS 서버로 보냅니다 (Wireshark로 확인). 라우터의 관리 인터페이스에서 DNS 주소에 대해 "ISP에서 자동으로 가져 오기"를 사용하고 있습니다. 다른 옵션은 IP로 DNS 서버를 직접 지정하는 것입니다. 이것은 DNS 요청이 실제로 라우터에 의해 전달된다는 것을 의미한다고 생각합니다.
bernie

예, DNS 요청을 전달하는 것 같습니다. 대신 Google 퍼블릭 DNS ( 8.8.8.88.8.4.4) 를 사용하도록 변경하면 어떻게 되나요?
Mikel

와우 이것은 실제로 큰 차이를 만듭니다! 개인 IP 주소를 제공하면 이러한 DNS 서버 (Google 및 OpenDNS)가 빠르게 실패하는 것 같습니다. 몇 가지 테스트를 더 실행할 것이지만 이것이 내 문제를 해결한다고 생각합니다!
bernie

이것을 정답으로 표시하십시오. 3 가지 답변이 도움이되었지만 dns 서버를 변경하면 "대규모"문제가 해결되었습니다.
bernie

4

실패한 DNS 조회는 빠르게 실패합니다. 그러나 일반적으로 dnsmasq를 실행하여 호스트 파일을 읽고 정방향 및 역방향 조회를 위해 해당 항목을 제공합니다. 또한 업스트림 DNS 서버의 부하를 줄이기 위해 DNS 캐싱 서버의 역할을합니다.

host또는 dig조회 를 사용하여 느린 조회를 확인할 수 있습니다 . DNS를 실행하지 않는 DNS 서버로 리디렉션하면 실패하는 데 꽤 오랜 시간이 걸립니다. 시간 초과 및 재 시도를 조정 /etc/resolv.conf하여 실패 속도를 높일 수 있습니다.

편집 : 확인자 응답을 테스트하려면을 사용하십시오 time getent hosts 192.168.1.50. 그러면 /etc/hosts파일뿐만 아니라 DNS 에서 조회가 반환 됩니다. hostdig명령은 DNS를 확인합니다. 이것이 반환되지만 몇 초가 걸리면 파일 이동 hosts목록에서 항목 의 순서를 /etc/nsswitch.conf목록 앞쪽으로 변경할 수 있습니다 .

이름 조회를 위해 DNS에만 의존하는 프로그램이있는 경우 dnsmasq기본 DNS 이름 서버로 설정하고 이를 사용 /etc/resolve.conf하여 문제를 해결해야합니다. Exim은 기본 조회에 대해 리졸버를 사용해야합니다. /etc/hosts라우터에서 DHCP 서버를 비활성화 할 수 없다면 파일 이 필요 dnsmasq합니다. DHCP에 사용할 수 있습니다 . dnsmasq처리하는 DHCP 요청에 이름이 제공되면 자동으로 이름을 등록합니다.

EDIT2 : 컴퓨터가 항상 작동하지 않으면 samba를 설치하고 winsnsswitch 구성에서 사용 하는 것이 좋습니다. 속도가 빠르므로 dns호스트 항목에 앞서 넣으면 작동 할 수 있습니다 .

avahi링크 로컬 네트워크에서 자동 검색을 가능하게 하는 유틸리티 설치도 볼 수 있습니다 . IPv6 측에서 작동하지만 IPv4 주소를 게시하지 않습니다. 호스트의 기본 도메인은 '.local'입니다. 이것은 귀하의 경우에는 적합하지 않지만 재정의 될 수 있습니다. 또한 이상의 조회하고 느린 것 같다 wins퍼팅 때문에 mdns앞으로의 dnsnsswitch에 구성하는 것이 적합하지 않을 수 있습니다.


나는 LAN 조회가 느리고 모든 호스트 파일을 피하려고 노력하고 있다고 말했다.
ckhan

이 서버는 테스트 서버 일 뿐이며 가상 서버이기도하므로 전체 LAN의 DHCP 서버로 사용할 수 없습니다. 개발자 PC와 테스트 서버가 실행되지 않는 경우에도 IP가 필요한 다른 무선 클라이언트도 있습니다.
bernie

내 게시물을 다시 업데이트했습니다. 지금까지 도와 주셔서 감사합니다.
bernie

3

홈 네트워크에 로컬 DNS (및 잠재적으로 DHCP) 서버를 설정하는 연습을 거치지 않으려면 서비스에서 역방향 DNS 조회를 수행 할 수없는 위치를 알려줄 수 있습니다.

예를 들어 SSHD에 대한 역방향 DNS 조회를 비활성화하려면 sshd_config파일에 다음을 추가 하십시오 (또는 배포판에 따라 유사 함).

UseDNS no

Exim 구성에서이 라인을 제거 할 수 있지만 시작 속도에 영향을 줄지 확실하지 않지만 클라이언트 연결에서 역방향 DNS 조회를 방지합니다.

host_lookup = *

Glassfish 프로세스를 시작하는 사용자에 대해이 환경 변수를 내보낼 수있는 것 같습니다.

export AS_NO_REVERSE_DNS=true


실제 장비를 사용하여 DNS 서버를 설정할 수 있기를 원하지만 라우터에 대체 펌웨어를로드하지 않는 한 실제로 실현할 수 없습니다. 구성 옵션에 감사드립니다. AS_NO_REVERSE_DNSGlassfish 의 옵션에 대해 알지 못 했으므로 살펴볼 것입니다.
bernie

1

동적 IP에서 고정 IP로 변경 한 후에도 같은 문제가있었습니다. 내 네트워크가 지금 구성되었습니다 : STATIC-NO IPv6이며 메일 서버를 사용하지 않습니다.

나는 다음을 수행하여 문제를 해결했다.

1 : dpkg-reconfigure exim4-config를 실행하십시오.

2 : DNS 조회 질문에 도달하면-> DNS 조회를 최소로 설정 (전화 걸기)

이런 종류의 조회가 작동하지 않고 / etc / hosts를 편집하라는 제안이 나에게 오류가 있었지만 / etc / hosts로 한 유일한 작업은 ip6-allnodes 및 ip6-allrouters 행을 주석 처리하는 것이 었습니다.

재부팅은 지금 빨라야합니다 (적어도 나에게는).

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.