C'è un comando di riga Bash / Terminale / Comando che potrebbe aiutare a importare i dati della zona DNS in Mac OS X Lion sul suo server DNS.
$ sudo serveradmin settings dns:views:_array_id:com.apple.ServerAdmin.DNS.public:primaryZones:_array_id:domain.tld:allowZoneTransfer = yes
L'emissione di questo comando crea un file di zona (in questo esempio per "domain.tld") con alcune impostazioni predefinite e senza alcun record 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"
Il file di zona creato con le impostazioni predefinite ora appare:
$ 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)
)
Con il comando qui sotto puoi creare (importare) i record di zona DNS predefiniti per ogni dominio elencato su una riga separata in un file denominato "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
E quando il server DNS di origine consente il trasferimento di zona (axfr), lo script seguente può essere utilizzato per copiare i dati della zona DNS dal vecchio server al nuovo server DNS di Mac OS X.
$ 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
Nota: è necessario modificare "ns1.mydns.net" con il nome host o l'indirizzo IP del server da cui si sta tentando di importare.