Score:-1

รับ SERVFAIL / NOTAUTH ในการโอนโซน - ISC BIND 9

ธง ma

ฉันมีเซิร์ฟเวอร์ BIND สองตัวที่ใช้ BIND 9:

BIND 9.11.36-RedHat-9.11.36-3.el8 (เวอร์ชันการสนับสนุนเพิ่มเติม) <id:68dbd5b>
ทำงานบน Linux x86_64 4.18.0-372.9.1.el8.x86_64 #1 SMP วันอังคารที่ 10 พฤษภาคม 08:57:35 EDT 2022
สร้างโดย make with '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--program-prefix=' '--disable-dependency-tracking' '-- คำนำหน้า=/usr' '--exec-คำนำหน้า=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr /share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--sharedstatedir=/var/lib' '--mandir=/usr /share/man' '--infodir=/usr/share/info' '--with-python=/usr/libexec/platform-python' '--with-libtool' '--localstatedir=/var' '- -enable-threads' '--enable-ipv6' '--enable-filter-aaaa' '--with-pic' '--disable-static' '--includedir=/usr/include/bind9' '-- with-tuning=large' '--with-libidn2' '--enable-openssl-hash' '--with-geoip2' '--enable-native-pkcs11' '--with-pkcs11=/usr/lib64/ pkcs11/libsofthsm2.so' '--with-dlopen=ใช่' '--with-dlz-ldap=yes' '--with-dlz-postgres=yes' '--with-dlz-mysql=yes' '- -กับ-dlz-filesystem=yes' '--with-dlz-bdb=yes' '--with-gssapi=yes' '--disable-isc-spnego' '--with-lmdb=no' '-- กับ-libjson' ' --enable-dnstap' '--with-cmocka' '--enable-fixed-rrset' '--with-docbook-xsl=/usr/share/sgml/docbook/xsl-stylesheets' '--enable-เต็ม -รายงาน' 'build_alias=x86_64-redhat-linux-gnu' 'host_alias=x86_64-redhat-linux-gnu' 'CFLAGS= -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 - Wp, -D_GLIBCXX_ASSERTIONS - ข้อยกเว้น -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin -cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' 'LDFLAGS=-Wl,-z,relro -Wl,-z,now -specs=/usr/lib/ rpm/redhat/redhat-hardened-ld' 'CPPFLAGS= -DDIG_SIGCHASE' 'PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig'
รวบรวมโดย GCC 8.5.0 20210514 (Red Hat 8.5.0-10)
รวบรวมด้วยเวอร์ชัน OpenSSL: OpenSSL 1.1.1k FIPS 25 มี.ค. 2564
เชื่อมโยงกับเวอร์ชัน OpenSSL: OpenSSL 1.1.1k FIPS 25 มี.ค. 2564
รวบรวมด้วยเวอร์ชัน libxml2: 2.9.7
เชื่อมโยงกับเวอร์ชัน libxml2: 20907
รวบรวมด้วยเวอร์ชัน libjson-c: 0.13.1
เชื่อมโยงกับเวอร์ชัน libjson-c: 0.13.1
รวบรวมด้วยเวอร์ชัน zlib: 1.2.11
เชื่อมโยงกับเวอร์ชัน zlib: 1.2.11
เชื่อมโยงกับเวอร์ชัน maxmindb: 1.2.0
รวบรวมด้วยรุ่น protobuf-c: 1.3.0
เชื่อมโยงกับเวอร์ชัน protobuf-c: 1.3.0
เปิดใช้งานการสนับสนุนเธรด

เส้นทางเริ่มต้น:
  การกำหนดค่าที่มีชื่อ: /etc/named.conf
  การกำหนดค่า rndc: /etc/rndc.conf
  รูทคีย์ DNSSEC: /etc/bind.keys
  คีย์เซสชัน nsupdate: /var/run/named/session.key
  ชื่อไฟล์ PID: /var/run/named/named.pid
  ไฟล์ล็อคชื่อ: /var/run/named/named.lock
  ไดเรกทอรี geoip: /usr/share/GeoIP

เซิร์ฟเวอร์หลักอยู่ที่ 172.16.19.243 และรองอยู่ที่ 172.16.19.251 พวกเขาสามารถ ping ซึ่งกันและกันและพอร์ต 53 (UDP และ TCP) เปิดอยู่บนทั้งสอง ทั้งคู่เคยทำงาน แต่มีการพุชรหัสใหม่บางอย่างในระบบอัตโนมัติของเรา และทั้งคู่สูญเสียการเข้าถึงเครือข่ายเป็นเวลาประมาณสองชั่วโมง เป็นไปได้ว่าการกำหนดค่ามีการเปลี่ยนแปลง

รองไม่แสดงไฟล์โซนใน /etc/named/ การถ่ายโอนโซนล้มเหลว:

ชื่อรอง DNS [546308]: ทั่วไป: ข้อมูล: โซน 19.16.172.in-addr.arpa/IN: รีเฟรช: rcode ที่ไม่คาดคิด (SERVFAIL) จากต้นแบบ 172.16.19.251#53 (แหล่งที่มา 0.0.0.0#0)

/var/log/named/zone_transfers ในการแสดงหลัก:

xfer-out: ข้อมูล: ลูกค้า @ 0x7f48600ebf90 69.61.12.108#47302 (ns4.mydomain.example): คำขอโอนโซนไม่ถูกต้อง: 'ns4.mydomain.example/IN': โซนที่ไม่ได้รับอนุญาต (NOTAUTH)
... 3 วันต่อมาไฟดับ แต่ไม่มีบันทึกปรากฏขึ้น ...
...ไม่กี่ชั่วโมงหลังจากเครื่องดับและเกิดซ้ำจนถึงปัจจุบัน ...
แจ้งเตือน: ข้อมูล: โซน mydomain.example/IN: กำลังส่งการแจ้งเตือน (ซีเรียล 2022051909)
แจ้ง: ข้อมูล: โซน 19.16.172.in-addr.arpa/IN: ส่งการแจ้งเตือน (ซีเรียล 2022051909)
แจ้ง: ข้อมูล: โซน 16.16.172.in-addr.arpa/IN: ส่งการแจ้งเตือน (ซีเรียล 2022051909)
แจ้ง: ข้อมูล: โซน 17.16.172.in-addr.arpa/IN: ส่งการแจ้งเตือน (ซีเรียล 2022051909)
แจ้ง: ข้อมูล: โซน 18.16.172.in-addr.arpa/IN: ส่งการแจ้งเตือน (ซีเรียล 2022051909)

ปัญหาไม่ได้รับการแก้ไขโดยการเรียกใช้ rndc retransfer mydomain.example. การร้องขอ AXFR ด้วยการขุดก็ล้มเหลวเช่นกัน:

ขุด -t axfr mydomain.example 172.16.19.243

; <<>> DiG 9.11.36-RedHat-9.11.36-3.el8 <<>> -t axfr mydomain.example 172.16.19.243
;; ตัวเลือกส่วนกลาง: +cmd
; การถ่ายโอนล้มเหลว
; การถ่ายโอนล้มเหลว

การสืบค้นบันทึก A และ PTR จากอินเทอร์เน็ตเพื่อทำงานหลัก การทำเช่นเดียวกันกับรองล้มเหลว:

ขุด @ 172.16.19.251 191.19.16.172.in-addr.arpa ptr

; <<>> DiG 9.18.2 <<>> @172.16.19.251 191.19.16.172.in-addr.arpa ptr
; (พบ 1 เซิร์ฟเวอร์)
;; ตัวเลือกส่วนกลาง: +cmd
;; ได้รับคำตอบ:
;; ->>HEADER<<- opcode: QUERY, สถานะ: SERVFAIL, id: 57626
;; ธง: qr rd; คำถาม: 1, คำตอบ: 0, ผู้มีอำนาจ: 0, เพิ่มเติม: 1
;; คำเตือน: มีการร้องขอการเรียกซ้ำ แต่ไม่สามารถใช้ได้

;; เลือก PSEUDOSECTION:
; EDNS: เวอร์ชัน: 0, แฟล็ก:; UDP: 1232
; คุกกี้: 204e72e23787aef415f9ec7562866219e93a158c23f1f323 (ดี)
;; ส่วนคำถาม:
;191.19.16.172.in-addr.arpa. ใน PTR

;; เวลาสืบค้น: 48 มิลลิวินาที
;; เซิร์ฟเวอร์: 172.16.19.251#53(172.16.19.251) (UDP)
;; เมื่อ: พฤ. ที่ 19 พฤษภาคม 10:28:39 น. CDT 2022
;; ขนาดผงชูรส rcvd: 83

/etc/named.conf ของ master แสดงอยู่ด้านล่าง:

ตัวเลือก {
        อนุญาตแบบสอบถาม {
          ไม่มี;
        };
        อนุญาตให้โอน {
          ไม่มี;
        };
        เรียกซ้ำไม่;

        auth-nxdomain เลขที่; # สอดคล้องกับ RFC1035
        การตอบสนองน้อยที่สุด ใช่;
        น้อยที่สุด - ใด ๆ ใช่;
        เปิดใช้งาน dnssec ใช่;
        การตรวจสอบ dnssec ใช่;
};

โซน "." ใน {
        พิมพ์คำใบ้;
        ไฟล์ "named.ca";
};

รวม "/etc/named.rfc1912.zones";
รวม "/etc/named.root.key";

// โซนระบบ
โซน "mydomain.example" ใน {
  พิมพ์ต้นแบบ;
  ไฟล์ "/etc/named/mydomain.example.db";
  แบบสอบถามอนุญาต {ใด ๆ ;
  };
  อนุญาตให้โอน {
    โลคอลโฮสต์;
    172.16.19.243;
  };
  แจ้งว่าใช่;
};

โซน "16.16.172.in-addr.arpa" ใน {
  พิมพ์ต้นแบบ;
  ไฟล์ "/etc/named/16.16.172.in-addr.arpa.rev";
  แบบสอบถามอนุญาต {ใด ๆ ;
  };
  อนุญาตให้โอน {
    โลคอลโฮสต์;
    172.16.19.243;
  };
  แจ้งว่าใช่;
};
// โซนสำหรับ 17 - 19 จะรวมอยู่ในการกำหนดค่าที่มีรูปแบบ *ตรงกัน* เหมือนกัน สร้างโดยทางโปรแกรม - ถ้ามี
// พิมพ์ผิดตรงนี้ มันคือทั้งหมด ไม่มีการถ่ายโอนโซนทำงาน

/etc/named/16.16.172.in-addr.arpa.rev บน master มีดังนี้:

$TTL 86400

@ ใน SOA ns3.mydomain.example admin.mydomain.example. (
                                                2022051917 ;อนุกรม
                                                3600 ;รีเฟรช
                                                1800 ;ลองใหม่
                                                604800 หมดอายุ
                                                86400 ;TTL ขั้นต่ำ
)

;; บันทึกโซน NS ทั้งหมด
@ ใน NS ns3.mydomain.example
@ ใน NS ns4.mydomain.example

;; บันทึก PTR โซนทั้งหมด

* ใน PTR HDN-UIDO

อีกครั้ง ไม่มีการค้นหา DNS สำหรับระเบียนใด ๆ ที่ใช้งานได้กับข้อมูลรอง แต่ทั้งหมดใช้งานได้กับข้อมูลหลัก ไม่มีการถ่ายโอนโซนจากต้นแบบไปยังรอง โซนและการกำหนดค่าทั้งหมดถูกสร้างขึ้นโดยทางโปรแกรม ดังนั้นหากมีข้อผิดพลาดในโซนใดโซนหนึ่ง ข้อผิดพลาดนั้นจะแสดงสำหรับทุกโซน ไม่พบข้อผิดพลาดอื่นๆ ของโน้ตในบันทึก ไม่มีการปฏิเสธ SELinux บนเซิร์ฟเวอร์ใดเซิร์ฟเวอร์หนึ่ง สิทธิ์ของ /etc/named/ คือ 0770 root:named system_u:object_r:named_conf_t:s0 บนเซิร์ฟเวอร์ทั้งสอง การลบไฟล์ .jnl ทั้งหมดไม่ได้ช่วยอะไร (มีเพียงไฟล์เดียวในไฟล์มาสเตอร์ และไม่ได้อยู่ใน /etc/named)

อะไรเป็นสาเหตุ? ขอขอบคุณ.

แก้ไข 5/19
ฉันยืนยันว่าทั้งสองเซิร์ฟเวอร์เปิด 53/UDP และ 53/TCP ซึ่งกันและกัน

จากรอง:

ขุด @ 172.16.19.243 +tcp 200.18.16.172.in-addr.arpa ptr

; <<>> DiG 9.11.36-RedHat-9.11.36-3.el8 <<>> @172.16.19.243 +tcp 200.18.16.172.in-addr.arpa ptr
; (พบ 1 เซิร์ฟเวอร์)
;; ตัวเลือกส่วนกลาง: +cmd
;; ได้รับคำตอบ:
;; ->>HEADER<<- opcode: QUERY, สถานะ: NOERROR, id: 6246
;; ธง: qr aa rd; คำถาม: 1, คำตอบ: 1, ผู้มีอำนาจ: 0, เพิ่มเติม: 1
;; คำเตือน: มีการร้องขอการเรียกซ้ำ แต่ไม่สามารถใช้ได้

;; เลือก PSEUDOSECTION:
; EDNS: เวอร์ชัน: 0, แฟล็ก:; UDP: 1232
; คุกกี้: a9c777930fc7d210a2b794de6286b88d1d5f01b2a729a2f5 (ดี)
;; ส่วนคำถาม:
;200.18.16.172.in-addr.arpa ใน PTR

;; ส่วนคำตอบ:
200.18.16.172.in-addr.arpa. 86400 ใน PTR EHB-DYN.18.16.172.in-addr.arpa

;; เวลาสืบค้น: 0 มิลลิวินาที
;; เซิร์ฟเวอร์: 172.16.19.243#53(172.16.19.243)
;; เมื่อ: พฤ. ที่ 19 พฤษภาคม 16:37:15 น. CDT 2022
;; ขนาดผงชูรส rcvd: 110

ชื่อ-checkzone ถูกใช้ในการตรวจสอบทุกโซน ปัญหาเดียวที่รายงานคือไม่มีบันทึกสำหรับ NS4 ซึ่งถูกชี้ให้เห็นในความคิดเห็นด้วย ฉันจดบันทึกสิ่งนี้และเปลี่ยนแปลงบนเซิร์ฟเวอร์ แต่การเปลี่ยนแปลงไม่ได้ทำให้เกิดคำถามนี้เมื่อฉันเขียน ไม่ว่าในกรณีใด มันไม่ได้ช่วยแก้ปัญหา ชื่อ-checkconf ได้รับการเรียกใช้บนเซิร์ฟเวอร์ทั้งสองและสถานะที่ส่งคืน 0

เซิร์ฟเวอร์สเลฟมีหลายแอดเดรส แต่ใช้แอดเดรส (ที่แสดง) ที่ถูกต้องในการสืบค้นมาสเตอร์ ตามที่ยืนยันด้วยการจับแพ็กเก็ตบนมาสเตอร์

ระเบียน A ถูกลบออกจากไฟล์คอนฟิกูเรชันโซนย้อนกลับ ตัวอย่างไฟล์ด้านบนถูกต้อง

Patrick Mevzek avatar
cn flag
คุณจำการเปิด TCP/53 ระหว่างทั้งสองหรือไม่ เนื่องจาก AXFR ใช้ TCP ไม่ใช่ UDP นอกจากนี้ `ping` ยังไม่ใช่เครื่องมือที่เพียงพอในการแก้ปัญหา DNS `ขุด` คือ และคุณสามารถใช้ตัวเลือก `+tcp` เพื่อบังคับให้ TCP ดูว่าข้อความค้นหาปกติทำงานได้หรือไม่ นอกเหนือจากนั้น 'NOTAUTH' จะปรากฏขึ้นสำหรับการค้นหาในโซนที่เซิร์ฟเวอร์ไม่ได้รับอนุญาต และ 'SERVFAIL' ควรทริกเกอร์รายละเอียดในล็อกไฟล์ PS: โปรดอย่าทำให้งงงวยไม่ดี ใช้ `example.com` หรือ `.example` TLD หากคุณต้องการตัวยึดตำแหน่ง (แต่คำถามที่มีข้อมูลจริงมักจะดีกว่าและได้คำตอบที่ดีกว่าเสมอ)
Patrick Mevzek avatar
cn flag
"การลบไฟล์ .jnl ทั้งหมดไม่ได้ช่วยอะไร" แน่นอนว่าอย่าทำสิ่งนั้นแบบสุ่มภายใต้อินสแตนซ์การโยงที่กำลังทำงานอยู่ดูที่ `rndc` และคำสั่ง `freeze` และ `thaw` ใช้ "named-checkconf" และ "named-checkzone" เพื่อประเมินความถูกต้องของไฟล์ของคุณ มีบรรทัดที่ซ้ำกันอย่างน้อยหนึ่งบรรทัดในโซนย้อนกลับของคุณ (`NS ns3` ปรากฏขึ้นสองครั้ง) และคุณไม่สามารถมี `ns3 A` ในโซนย้อนกลับซึ่งไม่สมเหตุสมผล (ตามที่กำหนดไว้ หมายความว่าชื่อคือ `ns3 16.16.172.in-addr.arpa` ซึ่งไม่ใช่สิ่งที่คุณตั้งใจอย่างแน่นอน)
Nikita Kipriyanov avatar
za flag
จริงๆ แล้ว วิธีที่เหมาะสมในการลบไฟล์ .jnl คือการเรียกใช้ `rndc sync -clean `.
Nikita Kipriyanov avatar
za flag
ดังนั้นการกำหนดค่าของทาสอยู่ที่ไหน นอกจากนี้ สเลฟอาจมีที่อยู่ IP หลายที่อยู่และใช้ที่อยู่ผิดในการเชื่อมต่อขาออกไปยังมาสเตอร์
Nikita Kipriyanov avatar
za flag
โซนของคุณก็ดูแปลกๆ หากชื่อเซิร์ฟเวอร์ NS ทั้งหมดอยู่ในโซนนี้ เซิร์ฟเวอร์ทั้งหมดควรมีระเบียน A ในโซนนี้ ไม่ใช่แค่ ns3 แต่รวมถึง ns4 ด้วย นอกจากนี้ ด้วยความอยากรู้อยากเห็น คุณต้องการบรรลุอะไรด้วยบันทึก PTR แบบไวด์การ์ดในโซน "ไปข้างหน้า"
vpseg avatar
ma flag
ขอบคุณ @PatrickMevzek และ Nikita Kipriyanov ฉันพยายามอย่างเต็มที่เพื่อทำตามสิ่งที่คุณทั้งสองพูด (แม้คำแนะนำของคุณเกี่ยวกับบันทึก A ที่ดูเหมือนจะขัดแย้งกัน) และอัปเดตคำถาม
Nikita Kipriyanov avatar
za flag
ฉันอ่านคำถามผิด ฉันไม่ได้สังเกตว่าคุณกำลังกำหนดค่าโซนย้อนกลับ อย่างไรก็ตาม คุณกำหนดค่าใน `named.conf` เพื่ออ้างถึงไฟล์ `/etc/named/16.16.172.in-addr.arpa.rev` แต่แสดงเนื้อหาของ `/etc/named/16.16.172.in- addr.arpa` (ไม่มี `.rev` ต่อท้าย) มันเป็นข้อผิดพลาดในคำถามหรือการกำหนดค่า? นอกจากนี้ คุณกำลังแสดงปัญหาสำหรับโซน `19.16.172.in-addr.arpa` แต่แสดงการกำหนดค่าและเนื้อหาของ `16.16.172.in-addr.arpa` ฉันเข้าใจว่าโซน "คล้ายกัน" แต่คุณยังทำให้สิ่งต่างๆ คุณอาจพบข้อผิดพลาดเมื่อคุณจะทำอย่างนั้น

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา