Come aggiungere alcuni domini di ricerca DNS aggiuntivi senza ignorare quelli DHCP?


12

Voglio solo aggiungere il mio elenco di domini di ricerca ma senza sovrascrivere quelli restituiti dal DHCP?

Come chiunque immaginerebbe, ho già provato ad aggiungerli a Rete> Avanzate> DNS, ma aggiungendoli lì sovrascriverà quelli dal DHCP, che non è mia intenzione.

Sarebbe perfetto se potessi aggiungerli dopo quelli da DHCP, ma accetterei anche una soluzione che li aggiunge dopo.

Il secondo tentativo sarebbe, /etc/resolv.confma il messaggio dal file è il più chiaro possibile:

# This file is not used by the host name and address resolution
# or the DNS query routing mechanisms used by most processes on
# this Mac OS X system.
#
# This file is automatically generated.

Personalmente, manderei il ragazzo che ha scritto questo messaggio a fare un po 'di assistenza telefonica per due mesi. Quindi, imparerebbe ad aggiungere alcuni suggerimenti la prossima volta che documenta le cose: dove dovresti mettere a punto le impostazioni? o includere un collegamento a un articolo della knowledge base.

Tuttavia, non voglio qualcosa che si perde con un aggiornamento minore di OS X.

Come posso fare questo per OS X 10.7?


1
Potresti spiegare un po 'di più cosa hai provato e perché inserire domini di ricerca nella posizione normale non è quello che desideri. In particolare, vuoi che i tuoi domini di ricerca vengano cercati prima di quelli DHCP o dopo quelli forniti?
bmike

Risposte:


1

Forse prova ad aggiungerli / aggiungerli a /etc/resolv.conf? Non puoi aggiungerli manualmente alla fine dell'elenco, delimitando con una virgola in Lion? Sembra funzionare in 10.6, lo aggiunge in aggiunta a quelli forniti da DHCP e l'intero lotto appare immediatamente in resolv.conf.

Forse questo non funzionerà per i tuoi scopi, ma perché non aggiungere manualmente quelli forniti da DHCP e quelli che desideri aggiungere e salvarli nelle Preferenze di Sistema? Quindi non dovrai preoccuparti di sovrascrivere nulla poiché li aggiungerai manualmente. Suppongo che il tuo dominio cambierà nomi molto frequentemente.

Posso dirvi che a partire da Snow Leopard mDNSResponder (Bonjour) gestisce tutto il DNS (non solo il DNS multicast).


resolve.confl'utilizzo è obsoleto, essendo documentato all'interno del file.
Sorin,

Questo non funziona e non dovrebbe essere la risposta accettata. @ La risposta di Yobert funziona alla grande e fa esattamente quello che voleva chi l'ha chiesto.
JakeRobb

3

È possibile utilizzare il networksetupcomando e aggiungere i domini di ricerca aggiuntivi in ​​un array sulla riga comandi: Dalla pagina man:

-setsearchdomains networkservice domain1 [domain2] [...]

Use this command to designate the search domain for the specified
<networkservice>. You can list any number of search domains
(replace domain1, domain2, and so on with the name of a local
domain). If you want to clear all search domain entries for the
specified network service, type aemptya in place of the domain

Così:

sudo networksetup -setsearchdomains Wi-Fi legacydomain.com secondlegacydomain.com additionaldomain.org evenmoresearchdomain.net

questa invocazione dovrebbe avere l'ordine corretto.


3
Anche se adoro l'approccio da riga di comando, devo dire che l'esecuzione di questo comando ha la precedenza sui domini DNS ricevuti dal server DHCP, quindi non è una soluzione adeguata. Voglio ancora essere in grado di usarli, solo per aggiungere il mio in cima alla lista. Hai bisogno di una soluzione automatizzata.
Sorin,

2

Basta inserire un file in / etc / resolver / con un nome come "searchappend" con questi contenuti:

search example.com

Basta non nominare il file "com" o qualche altro TLD valido. Questo funziona a causa della magia risolutiva di OSX. Per maggiori informazioni, leggi https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man5/resolver.5.html

Ho un file chiamato "console" che assomiglia a questo:

nameserver 127.0.0.1
port 8600
search consul

Ciò rende magicamente tale .consul viene aggiunto al percorso di ricerca e qualsiasi soluzione per i TLD .consul utilizza il mio nameserver locale.


Collegamenti interrotti, impossibile trovare un sostituto.
slm,

Sono d'accordo che i collegamenti sono interrotti, ma questo ha funzionato per me il 10.13.6. Prima dovevo creare / etc / resolver. Il file che ho creato conteneva solo search mydomain.com. Il dominio di ricerca aggiuntivo applicato a tutte le schede di rete e aggiunto ai domini di ricerca DHCP esistenti.
JakeRobb,

Questo non funziona più per me in Mojave. :(
JakeRobb,

1

Aggiungili a Preferenze di Sistema> Rete> Avanzate> | DNS |

(Qualche motivo particolare per cui questo è stato votato verso il basso? Fa esattamente quello che il richiedente sta chiedendo e non richiede l'uso di un Terminale.)


2
Perché ha scritto che non voleva sovrascrivere le voci DNS DHCP. Inoltre dovresti aggiungerli ad ogni interfaccia.
joelpittet,

0

Supponendo che il tuo router fornisca il suo set di server DNS, aggiungi il suo indirizzo IP (quello del tuo router) all'elenco dei server DNS . Aggiungi i tuoi server DNS sotto di esso.

Il computer eseguirà prima una query sul router, quindi scorrerà quelli definiti manualmente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.