2009-11-08 6 views
0

로컬 dns 서버에 연결하려고하는 dns 클라이언트를 구현하고 있지만 DNS 서버가 오류 코드 5와 함께 메시지를 반환하고 있습니다. 즉, 연결을 거부했다는 의미입니다.DNS 서버 연결 거부

왜 이런 일이 일어날 지에 대한 생각은 무엇입니까 ?? 감사합니다

+0

로컬로 동일한 머신, 동일한 LAN을 의미합니까 ?? – jldupont

답변

0

정책 시행?

DNS 서버는 특정 호스트의 연결 만 허용하도록 구성 할 수 있습니다.

+0

오 ... 내가 사용하는 DNS 서버가 대학 내 로컬 서버 ... 어떻게 해결할 수 있습니까? 외부 DNS 서버에 연결할 수 있습니까? –

+0

... ** 요청 ** **에 보내는 컴퓨터가 동일한 LAN에 있습니까? 아니면 ** 원격으로 DNS 서버 **에 액세스하려고합니까? – jldupont

+0

그것의 동일한 랜에있는 ... –

0

흠, StackOverflow에 액세스 할 수 있다면 작동하는 DNS 서버가있는 것입니다. 그것은 분명히 얘기 기꺼이 - 그 라인에서 주소를 선택하고 DNS로하는지 사용

host -v stackoverflow.com

을하고 시도하고

Received 50 bytes from 192.168.1.1#53 in 75 ms

같은 메시지를 찾습니다.

Windows를 사용하는 경우 NSLOOKUP을 동일한 용도로 사용하십시오. 네임 서버의 주소는 출력의 어느 곳에서나됩니다.

편집 :

나는 DNS 서버 붙어 때, 나는 그의 주소 내가 가장 쉽게 기억할 수있는 하나를 사용 4.2.2.2합니다. 그것이 당신을 위해 어떻게 작동하는지보십시오.

+0

나는 나의 DNS 서버를 알고 그것을 사용할 수있다 ... 나는 또한 시스템에서 어떤 도메인 이름을 파낼 수있다 ...하지만 나는 그것을 사용하여 연결하는 것 내 자신의 DNS 클라이언트 .. –

+0

좋아, 클라이언트가 내장 클라이언트와 동일한 프로토콜을 사용하고 있는지 확인 했습니까? TCP 또는 UDP를 통해 DNS를 수행 할 수 있습니다. –

7

DNS 응답 오류 코드 5 ("거부 됨")는 DNS 서버에 대한 연결이 거부되었음을 의미하지 않습니다. DNS 서버는 사용자가 요청한 데이터를 제공하거나 요청한 모든 작업 (예 : 동적 업데이트)을 거부합니다.

"연결"이라고 언급 했으므로 TCP를 사용하고 있다고 가정합니다. DNS primarilly는 UDP를 사용하고 일부 DNS 서버는 TCP를 통해 모든 요청을 거부합니다. 그래서 솔루션은 UDP로 전환하는 것처럼 간단 할 수 있습니다.

그렇지 않으면 처음부터 자신의 DNS 클라이언트를 작성한다고 가정 할 때 처음에는 사용자가 요청을 잘못 형식화 한 것입니다. DNS 프로토콜이 상당히 단순한 것처럼 보일지라도,이 오류를 얻는 것은 매우 쉽습니다.

마지막으로 DNS 서버는 요청하는 내용에 대한 요청을 거부하도록 간단히 구성 될 수 있습니다.

+0

이것은 오래된 질문이지만 java DNS 클라이언트는보다 구체적인'A' 또는 무엇이든 대신'ANY'를 사용하여 질의를 실행합니다. 일부 DNS 서버는 DDoS 공격을 실행하기 위해 악용 된 (올바르게) 모든 요청을 차단합니다. – Tommaso

0

WireShark를 사용하여 대화를 모니터링 해보십시오. 또한 패킷을 디코딩하여 클라이언트 패킷이 올바르게 인코딩되었는지 여부를 판단하는 데 도움이 될 수 있습니다. 트레이스에서 캡처 한 패킷을 제한하려면 포트 53 (DNS)을 필터링하십시오.

또한 검색어에 UDP가 아닌 TCP를 사용하고 있는지 확인하십시오. TCP는 주로 쿼리가 아닌 영역 전송에 사용되어야합니다.

0

명시 적으로 내가 할 수 재귀 나에 대해이 문제를 해결 싶었다있는 네트워크 추가 :

이 두 라인이 /etc/bind/named.conf.options에 추가를

재귀 예; allow-recursion {10.2.0.0/16; };