Bagaimana cara mengimpor data zona otoritatif (primer) ke Lion Server DNS?

2

Server DNS otoritatif kami saat ini menderita masalah reboot acak.

Itulah sebabnya kami ingin mengimpor zona DNS kami ke server DNS Lion (BIND). Kami tidak dapat menemukan opsi untuk mengimpor data DNS melalui transfer zona (AXFR).

Bagaimana cara mengimpor data zona DNS ke Lion Server DNS?

Pro Backup
sumber
1
Dimulai dengan Lion, saya menandai hal-hal yang Server.app karena tidak ada OS monolitik untuk menginstal lagi dan sebagai gantinya aplikasi Server mengkonfigurasi OS konsumen untuk dijalankan dengan layanan dan pengguna server.
bmike

Jawaban:

2

Ada perintah Bash / Terminal / Command line yang mungkin membantu untuk mengimpor data zona DNS ke Mac OS X Lion server DNS-nya.

$ sudo serveradmin settings dns:views:_array_id:com.apple.ServerAdmin.DNS.public:primaryZones:_array_id:domain.tld:allowZoneTransfer = yes

Mengeluarkan perintah ini akan membuat file zona (dalam contoh ini untuk "domain.tld") dengan beberapa pengaturan default dan tanpa catatan host.

$ sudo serveradmin settings dns | grep dns:views:_array_id:com.apple.ServerAdmin.DNS.public:primaryZones:_array_id:domain.tld
dns:views:_array_id:com.apple.ServerAdmin.DNS.public:primaryZones:_array_id:domain.tld:allowZoneTransfer = yes
dns:views:_array_id:com.apple.ServerAdmin.DNS.public:primaryZones:_array_id:domain.tld:aliases = _empty_array
dns:views:_array_id:com.apple.ServerAdmin.DNS.public:primaryZones:_array_id:domain.tld:expire = 604800
dns:views:_array_id:com.apple.ServerAdmin.DNS.public:primaryZones:_array_id:domain.tld:serial = 2013122701
dns:views:_array_id:com.apple.ServerAdmin.DNS.public:primaryZones:_array_id:domain.tld:allow-update = no
dns:views:_array_id:com.apple.ServerAdmin.DNS.public:primaryZones:_array_id:domain.tld:adminEmail = "[email protected]"
dns:views:_array_id:com.apple.ServerAdmin.DNS.public:primaryZones:_array_id:domain.tld:machines = _empty_array
dns:views:_array_id:com.apple.ServerAdmin.DNS.public:primaryZones:_array_id:domain.tld:nameservers = _empty_array
dns:views:_array_id:com.apple.ServerAdmin.DNS.public:primaryZones:_array_id:domain.tld:refresh = 86400
dns:views:_array_id:com.apple.ServerAdmin.DNS.public:primaryZones:_array_id:domain.tld:mailExchangers = _empty_array
dns:views:_array_id:com.apple.ServerAdmin.DNS.public:primaryZones:_array_id:domain.tld:reverseMappings = _empty_array
dns:views:_array_id:com.apple.ServerAdmin.DNS.public:primaryZones:_array_id:domain.tld:retry = 3600
dns:views:_array_id:com.apple.ServerAdmin.DNS.public:primaryZones:_array_id:domain.tld:timeToLive = 345600
dns:views:_array_id:com.apple.ServerAdmin.DNS.public:primaryZones:_array_id:domain.tld:serviceRecords = _empty_array
dns:views:_array_id:com.apple.ServerAdmin.DNS.public:primaryZones:_array_id:domain.tld:bonjourRegistration = no
dns:views:_array_id:com.apple.ServerAdmin.DNS.public:primaryZones:_array_id:domain.tld:name = "domain.tld"

File zona yang dibuat dengan pengaturan default sekarang terlihat seperti:

$ cat /private/var/named/db.domain.tld
domain.tld.           10800 IN SOA  domain.tld. admin.domain.tld. (
                            2013122701 ; serial
                            86400      ; refresh (1 day)
                            3600       ; retry (1 hour)
                            604800     ; expire (1 week)
                            345600     ; minimum (4 days)
                            ) 

Dengan perintah di bawah ini Anda dapat membuat (mengimpor) catatan zona DNS default untuk setiap domain yang terdaftar pada baris terpisah dalam file bernama "domains.txt".

$ while read line; do sudo serveradmin settings dns:views:_array_id:com.apple.ServerAdmin.DNS.public:primaryZones:_array_id:"$line":allowZoneTransfer = yes; done < domains.txt

Dan ketika server DNS sumber Anda memungkinkan transfer zona (axfr), skrip di bawah ini dapat digunakan untuk menyalin data zona DNS dari server lama ke server DNS Mac OS X baru.

$ authNS=ns1.mydns.net;while read line; do dig +noall +multiline +answer +onesoa -t axfr "$line" @"$authNS" | sudo tee /private/var/named/db."$line"; done < domains.txt

Catatan: Anda perlu mengubah "ns1.mydns.net" menjadi nama host atau alamat IP dari server yang Anda coba impor.

Pro Backup
sumber