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 = "admin@domain.tld"
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.