Ci sono voluti molti interpolanti post del blog più vecchi e frugare nel filesystem, ma questa ricetta sembra funzionare ora per me:
Il servizio DNS di Mavericks OS X Server memorizza i suoi file di zona in /Library/Server/named
:
sh-3.2# ls -lF /Library/Server/named
total 64
-rw-r--r-- 1 root wheel 14 Sep 15 17:29 .version
-rw-r--r-- 1 root wheel 327 Sep 18 16:57 db.19.0.10.in-addr.arpa
-rw-r--r-- 1 root wheel 362 Sep 18 16:57 db.example.com
-rw-r--r--@ 1 root wheel 195 Sep 15 17:29 localhost.zone
-rw-r--r--@ 1 root wheel 2994 Sep 15 17:29 named.ca
-rw-r--r--@ 1 root wheel 1164 Sep 18 16:57 named.conf
-rw-r--r--@ 1 root wheel 433 Sep 15 17:29 named.local
-rw------- 1 root wheel 77 Feb 14 2012 rndc.key
Si noti che sono in una shell di root qui ... Tutti questi file sono di proprietà di root, quindi questo è il modo più semplice per modificarli senza rovinare casualmente la proprietà o le autorizzazioni.
Tutto ciò che dobbiamo fare è modificare il file db.*
che corrisponde alla zona in cui vogliamo aggiungere un carattere jolly a ... Qui db.example.com
. Innanzitutto, esegui il backup del file nella tua directory home o in qualche altra posizione sicura.
Quindi apri il file con il tuo editor di riga di comando preferito e aggiungi queste tre righe alla fine del file (ovviamente sostituendo l'indirizzo IP del tuo server):
@ 300 IN A 4.3.2.1
* 300 IN CNAME @
NO-EDITING-IN-GUI 300 IN A 1.2.3.4
L'ultima riga serve come promemoria del seguente avviso importante:
Attenzione a modificare i record successivamente con la GUI! Se apri la finestra di dialogo per modificarla, il nome host viene visualizzato come example.com
, e fai clic su OK sovrascriverà il tuo jolly con un record di indirizzo non valido! Caveat emptor.
Quindi sono passato all'app Server e ho utilizzato l'interruttore di scorrimento per interrompere e riavviare il servizio DNS. Nel flash prima del riavvio ho notato che la GUI stava già mostrando il mio nuovo% host host% co_de, ma non fatevi ingannare da questo ... Il display della GUI si basa su ciò che è nei file di zona, non su ciò che il server in esecuzione ha caricato .
Dopo il riavvio, puoi% com_de% per verificare che l'host con caratteri jolly funzioni:
aoide:~ kaelin$ dig nonexistant.example.com
; <<>> DiG 9.8.3-P1 <<>> nonexistant.example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56808
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;nonexistant.example.com. IN A
;; ANSWER SECTION:
nonexistant.example.com. 300 IN CNAME example.com.
example.com. 300 IN A 4.3.2.1
;; AUTHORITY SECTION:
example.com. 10800 IN NS ns1.example.com.
example.com. 10800 IN NS ns2.example.com.
;; ADDITIONAL SECTION:
ns1.example.com. 300 IN A 10.0.19.63
ns2.example.com. 300 IN A 10.0.19.62
;; Query time: 5 msec
;; SERVER: 10.0.19.63#53(10.0.19.63)
;; WHEN: Thu Sep 18 22:13:32 2014
;; MSG SIZE rcvd: 141