Dig는 외부 쿼리에 대해 “상태 : REFUSED”를 반환합니까?

이름 서버에서 dig를 실행하면 DNS가 제대로 작동하지 않는 이유를 알 수없는 것 같습니다.

# dig ungl.org

; <<>> DiG 9.5.1-P2.1 <<>> ungl.org
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24585
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 1

;; QUESTION SECTION:
;ungl.org.                      IN      A

;; ANSWER SECTION:
ungl.org.               38400   IN      A       188.165.34.72

;; AUTHORITY SECTION:
ungl.org.               38400   IN      NS      ns.kimsufi.com.
ungl.org.               38400   IN      NS      r29901.ovh.net.

;; ADDITIONAL SECTION:
ns.kimsufi.com.         85529   IN      A       213.186.33.199

;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sat Mar 13 01:04:06 2010
;; MSG SIZE  rcvd: 114

그러나 동일한 데이터 센터의 다른 서버에서 실행하면 다음과 같은 결과를 얻습니다.

# dig @87.98.167.208 ungl.org

; <<>> DiG 9.5.1-P2.1 <<>> @87.98.167.208 ungl.org
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 18787
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;ungl.org.                      IN      A

;; Query time: 1 msec
;; SERVER: 87.98.167.208#53(87.98.167.208)
;; WHEN: Sat Mar 13 01:01:35 2010
;; MSG SIZE  rcvd: 26

이 도메인의 내 영역 파일은

$ttl 38400
ungl.org.       IN  SOA r29901.ovh.net. mikey.aol.com. (
                201003121
                10800
                3600
                604800
                38400 )
ungl.org.       IN  NS  r29901.ovh.net.
ungl.org.       IN  NS  ns.kimsufi.com.
ungl.org.       IN  A   188.165.34.72
localhost.      IN  A   127.0.0.1
www             IN  A   188.165.34.72

named.conf.options가 기본값입니다.

options {
    directory "/var/cache/bind";

    // If there is a firewall between you and nameservers you want
    // to talk to, you may need to fix the firewall to allow multiple
    // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

    // If your ISP provided one or more IP addresses for stable
    // nameservers, you probably want to use them as forwarders.
    // Uncomment the following block, and insert the addresses replacing
    // the all-0's placeholder.

    // forwarders {
    //  0.0.0.0;
    // };

    auth-nxdomain no;    # conform to RFC1035
    listen-on-v6 { ::1; };
    listen-on { 127.0.0.1; };
    allow-recursion { 127.0.0.1; };
};

named.conf.local :

//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
// include "/etc/bind/zones.rfc1918";

zone "eugl.eu" {
         type master;
         file "/etc/bind/eugl.eu";
         notify no;
};


zone "ungl.org" {
         type master;
         file "/etc/bind/ungl.org";
         notify no;
};

서버가 Ubuntu 9.10 및 Bind 9를 실행 중입니다. 누구든지 나를 위해 약간의 빛을 비출 수 있다면 그것은 나를 매우 행복하게 만듭니다!

감사



답변

오래된 스레드를 파고 들었을 수도 있지만 Google은 “쿼리 상태 거부”에 대한 Google 검색을 수행하는 동안 가장 관련성이 높은 결과 중 하나이기 때문에 그렇게하고 있습니다.

필자의 경우에는 allow-query { any; };named.conf의 각 영역 정의에 포함시켜야한다는 것을 알았습니다 .


답변

한 눈에으로 인해 다른 지역의 소리를들을 수 있도록 구성되지 않은 것 같습니다 listen-on { 127.0.0.1; };. 거기에 적절한 IP 주소를 추가해야합니다.


답변

나는 똑같은 일을하지만 named-conf.options에 쿼리 허용 옵션을 넣습니다.


답변

RR (리소스 레코드)이없는 NOERROR는 해당 레코드가 없음을 의미하므로 NOversion 응답을 받고 “version”을 “none”으로 설정할 때 ‘record’가 없으면 예상대로 작동합니다.

allow-queryBIND9을 사용 하는 구성 문도 있지만 기본값은 어디서나 쿼리를 허용하는 것입니다.


답변

정확히 같은 문제 (로컬 상태 NOERROR 로컬, dig status REFUSED from outside)와 솔루션이 일치 클라이언트를 “localhost”(바인드 설치의 기본값)에서 “any”(나중에 내 도메인 이름 공급자의 정확한 IP가 무엇인지 확인하고 보안상의 이유로 특정 IP로 제한하십시오. 또한 뷰 이름을 local_something에서 default로 변경했습니다. 이름은 실제로 중요하지 않습니다.

view default {
        match-clients      { any; };
        match-destinations { any; };
        include "/etc/named.rfc1912.zones";
};

그것은 실제로이 “발굴 지위 거부”사업의 문제였습니다. match-clients 매개 변수를 변경 한 직후, 내 dig @ 12.34.56.78 mydomain.com 쿼리가 NOERROR 상태로 해결되기 시작했으며 도메인 이름 공급자 (godaddy)가 즉시 네임 서버 레코드를 캐시했습니다. 내 영역 파일이 이미 올바르게 구성되었으므로 도메인 이름이 인터넷에 즉시 표시됩니다.

그래도이 문제를 해결하기 위해 벽에 머리를 대고있었습니다.


답변

재귀를 허용하려는 네트워크에 대한 명시 적 참조를 입력해야했습니다. “any”를 지정해도 도움이되지 않았습니다. 기본적으로 (Umbutu Server 15) /etc/bind/named.conf.options파일에 이에 대한 항목이 없습니다 .

recursion yes;  << needed to add this but did not resolve greater prob
allow-recursion { any; }; << this did not work
allow-recursion { 10.1.0.0/16; }; << this did the trick


답변

올바른 장소로 검색어를 보내시겠습니까?

188.165.34.72 ( r29901.ovh.net) 의 서버 가 BIND 9.5.1-P2.1을 실행 중 dig @ip version.bind ch txt입니다. 해당 응답 문자열로 예상 한대로 쿼리에 응답합니다.

그러나 NOTIMPL인용 된 구성 파일에 *.bind의사 레코드 에 대한 내용이 없으며 BIND가 비활성화하기 위해 명시적인 구성이 필요 하더라도 위에서 인용 한 IP 주소는 오류를 반환 합니다.