Scoperta alternativa di Discoveryd per sostituire l'argomento mDNSResponder?

12

Questo è un seguito diretto a questa domanda . Prima di Yosemite , Aggiungerei l'argomento "-AlwaysAppendSearchDomains" al file plist mDNSResponder in modo che tutte le ricerche di resolver locali aggiungessero i domini di ricerca, indipendentemente dal fatto che ci fosse un punto nell'etichetta da cercare. Ad esempio, se provo a ssh su hostname foo.bar o foo, il dominio di ricerca di baz.com dovrebbe essere provato, non solo per il secondo caso, così come lo è stato (ed è) il comportamento predefinito.

Ora sembra che mDNSResponder sia sparito, sostituito da discoveryd. Non riesco a trovare un'opzione simile per farlo accodare sempre al dominio di ricerca. Suggerimenti? Preferirei non seguire la strada dell'utilizzo di un resolver locale non predefinito, ma lo considererei un'opzione. Per ora, digiterò solo i nomi FQDN lunghi, ma preferirei di no.

Grazie, Pete

    
posta Sigsegv 17.10.2014 - 21:37
fonte

4 risposte

18

Dal 10.10.1, il modo più semplice per risolvere questo problema è aggiungere --AlwaysAppendSearchDomains a ProgramArguments nel file plist /System/Library/LaunchDaemons/com.apple.discoveryd.plist

Quindi riavvia com.apple.discoveryd.plist con:

sudo launchctl unload /System/Library/LaunchDaemons/com.apple.discoveryd.plist
sudo launchctl load /System/Library/LaunchDaemons/com.apple.discoveryd.plist

Tutto questo in base alla guida stampata da:

/usr/libexec/discoveryd --help

Questo farà lo stesso che ha fatto per mDNSResponder per quanto posso dire.

    
risposta data 18.11.2014 - 16:45
fonte
4

Esegui sudo discoveryutil mdnsactivedirectory yes nel Terminale. Secondo il link è la soluzione.

Questo può essere fatto per essere eseguito automaticamente ogni volta che si avvia un terminale senza password:

  • sudo visudo
    • aggiungi una linea in basso %admin ALL=NOPASSWD: /usr/sbin/discoveryutil
    • Se il gruppo di amministratori non funziona, esegui groups sul terminale e usa un gruppo appropriato - forse "personale" o "tutti". O semplicemente usa un nome utente individuale senza il% co_de iniziale
  • Per testare il cambiamento del visudo
    • sudo -k
    • % e verifica che chiedi per la password. Quindi controlla-c senza inserire la tua password
    • sudo su e verifica che non abbia richiesto la password
  • Aggiungi una riga a ~ / .bash_profile sudo discoveryutil mdnsactivedirectory
  • Aggiungi terminale agli elementi di accesso dell'utente
    • 10.10: Preferenze di sistema - > Utenti e amp; Gruppi, Seleziona utente
    • Vai alla scheda "Elementi di accesso" e aggiungi / Applicazioni / Utility / Terminale
risposta data 25.10.2014 - 18:52
fonte
1

Sfortunatamente nessuna soluzione, ma ho scoperto che puoi almeno controllare la configurazione del resolver usando 'discoveryutil', in questo modo:

mdbraber-mba:~ mdbraber$ sudo discoveryutil configresolver
Configuration Resolvers: Resolver domain [default], type Unicast, ifIndex 4, port 0, timeout 30, A yes, AAAA no, serviceID 0, scope None, order 0
    server 192.168.143.1
    search domain ourhouse
Configuration Resolvers: Resolver domain [default], type Unicast, ifIndex 4, port 0, timeout 30, A yes, AAAA no, serviceID 0, scope InterfaceID, order 0
    server 192.168.143.1

Apparentemente il primo risolutore elenca un dominio di ricerca, anche se non sembra funzionare come in OS X < 10.10 versioni. Non ho idea del motivo per cui esiste un secondo risolutore senza un dominio di ricerca elencato.

    
risposta data 18.10.2014 - 21:09
fonte
1

Ecco una soluzione compromessa che utilizza un server dei nomi locale: funziona per me:

link

    
risposta data 05.11.2014 - 10:21
fonte

Leggi altre domande sui tag