Bagaimana saya bisa mereset atau menurunkan serial yang digunakan dalam catatan SOA server DNS BIND?

9

Saya menggunakan BIND sebagai server DNS saya di rumah. Untuk Otoritas Mulai Saya (catatan SOA) saya selalu menggunakan serial dalam format yang direkomendasikan

YYYYMMDD ##

di mana ##konter untuk perubahan pada hari itu.

Sayangnya saya mengubah serial dan menambahkan 1 digit lebih banyak karena kesalahan. Setelah memperbarui nama-daemon, saya tidak bisa mengembalikan ini lagi.

Apakah ada cara yang mungkin untuk mengatur ulang serial / penghitung di dalam perpustakaan internal BIND?

Master of Celebration
sumber
Saya menemukan solusi di serverfault.com/questions/158021/…
Master of Celebration

Jawaban:

8

"Perpustakaan internal BIND" tidak peduli apa nomor seri itu. Hanya perjanjian antara server master dan server slave yang penting. Dengan kata lain, BIND akan dengan senang hati membiarkan Anda mengurangi nomor seri dalam file zona tanpa keluhan .. Hanya saja para budak tidak akan lagi menerima pembaruan.

Nomor seri file zona adalah bilangan bulat 32-bit yang tidak ditandatangani dan membungkus bilangan bulat 32-bit terbesar yang tidak ditandatangani. Jadi ada cara untuk mengurangi nomor seri dengan menambahkannya berulang-ulang hingga berguling dan mendekati nol. Ada jumlah maksimum yang dapat Anda tambahkan secara bersamaan, jadi Anda harus melakukannya secara berulang dalam beberapa langkah:

  • Tambah nomor seri dengan kenaikan besar tetapi tidak lebih dari 2147483647
  • Tunggu semua server slave untuk mengejar ketinggalan dan perbarui dengan SOA saat ini.
  • Ulang

Anda selalu dapat memilih kenaikan sehingga Anda tidak perlu mengulangi lebih dari dua kali.

Ikuti HOWTO ini .

Celada
sumber
13

Jika Anda memiliki akses shell ke semua server slave, ada solusi yang lebih sederhana:

Untuk dapat mengurangi nomor seri pada server slave, Anda dapat masuk ke server slave dan jalankan rndc retransfer my.zone.name. Ini akan menyebabkan budak mengambil zona dari master dan sepenuhnya mengabaikan nomor seri.

Patrick
sumber
2
Ya, well, dengan asumsi Anda memiliki akses ke setiap server slave atau Anda ingin meminta administrator dari masing-masing server untuk menjalankan perintah itu untuk Anda.
Celada
1
Sangat berguna, dapatkan upvote! Namun, karena jawaban yang lain tidak perlu atau tidak lama, Anda mungkin ingin mengubah baris pertama Anda menjadi sesuatu seperti "Ada solusi yang lebih sederhana jika Anda memiliki akses shell ke semua server slave:".
Heinzi