ฉันจะรีเซ็ตหรือลดอนุกรมที่ใช้ในบันทึก SOA ของเซิร์ฟเวอร์ BIND DNS ได้อย่างไร


9

ฉันใช้ BIND เป็นเซิร์ฟเวอร์ DNS ที่บ้าน สำหรับการเริ่มต้นใช้งาน (บันทึก SOA) ของฉันฉันจะใช้อนุกรมในรูปแบบที่แนะนำเสมอ

YYYYMMDD ##

ที่##เป็นเคาน์เตอร์สำหรับการเปลี่ยนแปลงในวันนั้น

น่าเสียดายที่ฉันเปลี่ยนอนุกรมและเพิ่มตัวเลขอีก 1 หลักโดยไม่ได้ตั้งใจ หลังจากอัปเดต name-daemon ฉันไม่สามารถเปลี่ยนกลับได้อีกต่อไป

มีวิธีที่เป็นไปได้ในการรีเซ็ตซีเรียล / ตัวนับภายในไลบรารีภายในของ BIND หรือไม่?


คำตอบ:


8

"ไลบรารีภายในของ BIND" ไม่สนใจว่าหมายเลขซีเรียลคืออะไร เป็นเพียงข้อตกลงระหว่างเซิร์ฟเวอร์หลักและเซิร์ฟเวอร์ทาสที่มีความสำคัญ กล่าวอีกนัยหนึ่งคือ BIND จะช่วยให้คุณลดหมายเลขซีเรียลในไฟล์โซนโดยไม่มีการร้องเรียน .. เพียงว่าทาสจะไม่ได้รับการอัพเดตอีกต่อไป

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

  • เพิ่มหมายเลขซีเรียลโดยการเพิ่มขึ้นครั้งใหญ่ แต่ไม่เกิน 2147483647
  • รอให้เซิร์ฟเวอร์ทาสทั้งหมดติดตามและเป็นปัจจุบันด้วย SOA ปัจจุบัน
  • ทำซ้ำ

คุณสามารถเลือกการเพิ่มขึ้นได้เสมอโดยที่คุณไม่จำเป็นต้องวนซ้ำมากกว่าสองครั้ง

ทำตามHOWTOนี้


13

หากคุณมีสิทธิ์เข้าถึงเชลล์ไปยังเซิร์ฟเวอร์ทาสทั้งหมดจะมีวิธีแก้ไขที่ง่ายกว่า:

เพื่อให้สามารถพร่องหมายเลขบนเซิร์ฟเวอร์ทาส, rndc retransfer my.zone.nameคุณสามารถเข้าสู่เซิร์ฟเวอร์ทาสและการทำงาน สิ่งนี้จะทำให้ทาสเรียกโซนจากต้นแบบและละเว้นหมายเลขซีเรียลทั้งหมด


2
ใช่นั่นคือสมมติว่าคุณมีสิทธิ์เข้าถึงเซิร์ฟเวอร์ทาสทุกเครื่องหรืออื่น ๆ ที่คุณต้องการให้ผู้ดูแลระบบของแต่ละคนเรียกใช้คำสั่งนั้นเพื่อคุณ
Celada

1
มีประโยชน์มากมี upvote! อย่างไรก็ตามเนื่องจากคำตอบอื่น ๆ นั้นไม่จำเป็นหรือไม่เก่าคุณอาจต้องการเปลี่ยนบรรทัดแรกเป็น "มีวิธีที่ง่ายกว่าถ้าคุณมีการเข้าถึงเชลล์ไปยังเซิร์ฟเวอร์ทาสทั้งหมด:"
Heinzi
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.