ฉันมีเซิร์ฟเวอร์ 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 ถูกลบออกจากไฟล์คอนฟิกูเรชันโซนย้อนกลับ ตัวอย่างไฟล์ด้านบนถูกต้อง