ขุดส่งกลับ“ สถานะ: รีเฟรช” สำหรับการสืบค้นภายนอกหรือไม่


14

ฉันไม่สามารถระบุสาเหตุที่ DNS ของฉันทำงานไม่ถูกต้องหากฉันเรียกใช้ dig จาก nameserver มันทำงานได้อย่างถูกต้อง:

# 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 หากใครก็ตามสามารถทำให้เข้าใจถึงสิ่งนี้สำหรับฉันมันจะทำให้ฉันมีความสุขมาก!

ขอบคุณ


ส่วน "ตัวเลือก" ของคุณในการกำหนดค่า bind มีลักษณะอย่างไรบนเซิร์ฟเวอร์ที่ไม่ทำงาน โดยค่าเริ่มต้นบน Ubuntu ฉันเชื่อว่ามันมีอยู่ใน /etc/bind/named.conf.options
Cory J

ฉันได้อัปเดตคำถามแล้วฉันยังไม่ได้เปลี่ยนอะไรเลยในตัวเลือก

1
นิยามโซนใน named.conf.local เป็นอย่างไร?
ktower

เพิ่มในโพสต์หลัก

คำตอบ:


18

แม้ว่าฉันอาจกำลังขุดเธรดเก่า แต่ฉันก็ทำเช่นนี้เพราะนี่เป็นหนึ่งในผลลัพธ์ที่เกี่ยวข้องมากที่สุดในขณะที่ทำการค้นหาโดย Google สำหรับ "สถานะการสืบค้นที่ถูกปฏิเสธ"

ในกรณีของฉันโดยเฉพาะฉันพบว่าฉันต้องรวมallow-query { any; };ไว้ในคำจำกัดความของแต่ละโซนใน named.conf


คุณคือนางฟ้าแห่งการช่วยชีวิตของฉัน! ขอบคุณมาก
codezombie

5

listen-on { 127.0.0.1; };เพียงแค่ได้อย่างรวดเร็วก็จะปรากฏขึ้นกับผมว่ามันไม่ได้กำหนดค่าให้ฟังส่วนที่เหลือของโลกเนื่องจาก คุณจะต้องเพิ่มที่อยู่ IP ที่เหมาะสมในนั้น


ฉันได้เปลี่ยนสิ่งนี้เป็นที่อยู่ IP ทางอินเทอร์เน็ตของเซิร์ฟเวอร์ (188.165.34.72) และเชื่อมโยงอีกครั้ง แต่ฉันยังคงได้รับข้อความปฏิเสธเดียวกัน

1
มีไฟร์วอลล์ในเครื่องของเครื่องนั้นหรือไม่ คุณอาจต้องเปิดพอร์ต (53 TCP และ UDP)
John Gardeniers

ดูเหมือนว่า URL จะใช้งานได้ในขณะนี้ แต่ยังคงแสดงสถานะถูกปฏิเสธเดียวกันจากเซิร์ฟเวอร์อื่นของฉัน

4

ฉันทำบางสิ่งบางอย่าง แต่ฉันใส่ตัวเลือก allow-query ใน named.conf.options


1

NOERROR เมื่อไม่ได้มาพร้อมกับบันทึกทรัพยากร (RR) หมายความว่าไม่มีบันทึกดังกล่าวดังนั้นเมื่อคุณได้รับการตอบสนอง NOERROR และไม่มี 'บันทึก' เมื่อตั้งค่า "รุ่น" เป็น "ไม่มี" ก็จะทำงานตามที่คาดไว้

นอกจากนี้ยังมีallow-queryคำสั่งการกำหนดค่าด้วย BIND9 แต่ฉันคิดว่าค่าเริ่มต้นคือการอนุญาตให้ค้นหาได้จากทุกที่


1

ฉันมีปัญหาเดียวกันทุกประการ (สถานะการขุด NOERROR ในเครื่อง, สถานะการขุดที่อ้างอิงจากภายนอก) และวิธีแก้ไขเปลี่ยนการจับคู่ไคลเอนต์จาก "localhost" (ซึ่งเป็นค่าเริ่มต้นสำหรับการติดตั้งผูก) เป็น "ใด ๆ " (ภายหลัง ค้นหาว่า IP ที่แน่นอนของผู้ให้บริการชื่อโดเมนของฉันคืออะไรและ จำกัด เฉพาะ IP นั้นเพื่อเหตุผลด้านความปลอดภัย) นอกจากนี้ฉันเปลี่ยนชื่อมุมมองจาก local_something เป็นค่าเริ่มต้น ชื่อไม่สำคัญ

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

นั่นเป็นปัญหาของธุรกิจ "สถานะขุดปฏิเสธ" ทันทีหลังจากที่ฉันเปลี่ยนพารามิเตอร์การจับคู่ไคลเอนต์แบบสอบถาม dig @ 12.34.56.78 ของฉันเริ่มที่จะแก้ไขด้วยสถานะ NOERROR และผู้ให้บริการชื่อโดเมน (godaddy) แคชเรคคอร์ดเนมเซิร์ฟเวอร์ทันที เนื่องจากไฟล์โซนของฉันมีการกำหนดค่าอย่างเหมาะสมแล้วชื่อโดเมนจะปรากฏทันทีบนอินเทอร์เน็ต

ฉันกำลังต่อสู้กับกำแพงอยู่ครู่หนึ่งเพื่อแก้ปัญหานี้


1
คุณช่วยอธิบายไฟล์ที่คุณดัดแปลงคอมพิวเตอร์เครื่องไหนได้บ้าง?
Alexey

1

ฉันต้องป้อนการอ้างอิงที่ชัดเจนสำหรับเครือข่ายที่ฉันต้องการอนุญาตให้เรียกซ้ำ การระบุ "ใด ๆ " ไม่ได้ช่วยอะไร โดยค่าเริ่มต้น (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

0

คุณแน่ใจหรือไม่ว่าคุณกำลังส่งคำถามไปยังสถานที่ที่เหมาะสม

เซิร์ฟเวอร์ของคุณใน 188.165.34.72 ( r29901.ovh.net) กำลังเรียกใช้ BIND 9.5.1-P2.1 - มันจะตอบแบบสอบถามdig @ip version.bind ch txtตามที่คาดไว้ด้วยสตริงการตอบกลับนั้น

อย่างไรก็ตามที่อยู่ IP ที่คุณอ้างถึงข้างต้นจะส่งคืนNOTIMPLข้อผิดพลาดแม้ว่าจะไม่มีสิ่งใดในไฟล์*.bindกำหนดค่าของคุณเกี่ยวกับหลอกระเบียนและ BIND ต้องการการกำหนดค่าที่ชัดเจนเพื่อปิดการใช้งาน


NOTIMPL ไม่ได้ใช้งานหรือไม่ ทำไมถึงมีคุณสมบัติที่ไม่ได้เปิดใช้งานโดยค่าเริ่มต้น

หากเป็น BIND จะมีตัวเลือกที่เรียกว่า "version" ซึ่งจะบอกให้ส่งค่าที่ผู้ใช้ระบุไปยังข้อความค้นหานั้นหรือ "none" เพื่อปิดใช้งานคุณสมบัตินี้ หากไม่ได้ระบุตัวเลือกไว้จะส่งคืนหมายเลขเวอร์ชันจริง คุณไม่ได้อ้างถึงตัวเลือกดังกล่าวซึ่งทำให้ฉันสงสัยว่าคุณไม่ได้พูดคุยกับเซิร์ฟเวอร์ที่ถูกต้อง ดูisc.org/software/bind/documentation/arm95
Alnitak

ฉันได้ตรวจสอบเพิ่มเติม - ในกล่อง MacOSX ของฉันด้วยการผูก 9.6.0 การตั้งค่า "version" เป็น "none" จะกลับมาNOERRORไม่ใช่NOTIMPLข้อผิดพลาดที่ฉันเห็นจาก IP นั้น
Alnitak

0

เพราะคุณอนุญาตให้เรียกซ้ำจากเครื่องในประเทศของคุณเท่านั้น

หากคุณต้องการอนุญาตให้เพิ่มที่อยู่ IP ที่เหมาะสมและคุณต้องเปลี่ยนการฟังค่าเป็นอะแดปเตอร์ใด ๆ จากเครื่องท้องถิ่นของคุณหรือใส่ที่อยู่ IP ของอินเทอร์เฟซของเครื่องท้องถิ่น:

listen-on { any;} or x.x.x.x;
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.