nslookup funziona con /etc/resolv.conf, ping e ssh no


12

Nella nostra rete universitaria locale, ho (ottenuto da DHCP) la seguente configurazione in /etc/resolv.conf:

search a.domain.com b.domain.com domain.com
nameserver x.x.x.x
nameserver y.y.y.y

Le impostazioni sono le stesse anche nelle Preferenze di Sistema. Si verifica il seguente problema:

nslookup server

funziona e utilizza uno dei nameserver per richiedere correttamente server.a.domain.com. Se provo comunque a eseguire il ping,

ping server

non riesce con host non raggiungibile.

ping server.a.domain.com

lavori. L'aggiunta manuale del server con l'indirizzo IP ottenuto da nslookup a / etc / hosts fa funzionare anche il ping, ma questa "soluzione" elude i server dei nomi e non è quindi l'ideale (e dovrei aggiungere anche altre 20 voci). Qualche idea di cosa sta causando questo? Perché il ping non utilizza i risultati di nslookup / i domini di ricerca?

ssh server

fallisce anche, che è il vero problema / inconveniente.

Ho già aggiunto AlwaysUseSearchDomains a mDNSResponder, ma questa correzione aiuta solo il problema quando si utilizza server.foo.

Sto usando OS X Lion 10.7.3.


I pacchetti di ping possono essere bloccati dalle apparecchiature di rete. Stessa cosa con i pacchetti ssh: potrebbero non volerti fare quello che fai.
Thorbjørn Ravn Andersen,

Vedi la soluzione sotto, non era questo il problema.
tholu,

"Host non raggiungibile" indica un problema di connettività di rete (o ICMP bloccato), non un problema di risoluzione DNS
Daniel Serodio

Risposte:


2

Bene, hai letto i commenti all'inizio /etc/resolv.conf?

# Mac OS X Notice
#
# 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.

La soluzione corretta è aggiungere i domini di ricerca tramite il pannello Rete nelle Preferenze di Sistema come descritto qui .


L'ho fatto. I domini di ricerca vengono automaticamente inseriti nel pannello Rete in Preferenze di Sistema per configurazione DHCP (e sono quindi disattivati ​​e non modificabili). Gli stessi stessi valori / configurazione sono / si trovano in /etc/resolv.conf.
tholu,

Allora non so cosa dirti. Ricevo le mie impostazioni Ethernet e WiFi tramite DHCP e posso cambiare i miei domini di ricerca tramite il pannello Preferenze di Sistema.
Old Pro

I domini di ricerca sono corretti in Preferenze di Sistema e /etc/resolv.conf - il problema è che ping e ssh non lo stanno usando. Se usassero l'output di nslookup, tutto funzionerebbe bene, ma in qualche modo non lo fanno. Tuttavia cercano / etc / hosts.
tholu

Ho aggiunto manualmente i domini di ricerca (anche se erano in grigio) uno per uno tramite Preferenze di Sistema e ora funziona. Grazie!
giovedì

4

Ho avuto lo stesso problema. La soluzione che ho usato è stata quella di creare una directory / etc / resolver. All'interno di quella directory, crea un file denominato per ciascun dominio per il quale desideri risolvere. All'interno di ogni file dovrebbero esserci due righe

nameserver 10.0.100.2
domain  home.cainmanor.com

Il file sopra sarebbe chiamato / etc / resolver / home. Potrebbe essere necessario chiamarlo home.cainmanor.com, ma non posso provarlo adesso.

In bocca al lupo!


Ho funzionato impostando i domini di ricerca tramite Preferenze di Sistema uno per uno, sovrascrivendo le impostazioni DHCP che OS X non è riuscito a analizzare correttamente ovviamente. Non ho potuto provare la tua soluzione, ma grazie!
giovedi

Questo approccio funziona bene quando il tuo client VPN aziendale fa la cosa sbagliata rispetto alle preferenze del sistema transitorio.
Peter,

1

Credo che il problema risieda nella configurazione dei domini di ricerca: ping / ssh stanno provando a usare ciò gethostbyname2()che fallisce perché il nome non è più in esecuzione (almeno in Lion) e /etc/resolv.confcon i domini di ricerca configurati viene quindi ignorato. /etc/hostsè l'ultima risorsa gethostbyname2()e quindi ssh funziona di nuovo con le voci appropriate in /etc/hosts. Dovrebbe essere risolto da Apple imho.

L'aggiunta manuale dei domini di ricerca uno alla volta lo ha risolto, vedere la soluzione sopra.


Quando aggiungo un dominio di ricerca alla mia connessione WiFi (che è configurata tramite DNS) in OS 10.7.3 tramite il pannello Preferenze di Sistema -> Rete, viene usato da ping e ssh proprio come mi aspetterei. Non tocco /etc/resolv.conf o / etc / hosts manualmente / direttamente, ma le modifiche da Preferenze di Sistema si riflettono automaticamente in /etc/resolv.conf. OS X fa molte cose in modo diverso rispetto ad altri sistemi Unix e questo è uno di questi.
Old Pro

1
Grazie, questo ha funzionato aggiungendo manualmente i domini di ricerca uno per uno, vedi il mio commento sulla soluzione suggerita sopra.
giovedì

L'aggiunta di domini di ricerca non ha risolto i problemi ... Qualcun altro ha un'altra soluzione?

Come li hai aggiunti?
tholu,

1

Ottengo questo problema ogni tanto, quando il mio Mac Book Pro (OS X versione 10.10.1) è stato addormentato. Sveglialo e non posso usare ssh usando il nome host delle macchine sulla mia rete (e neanche il ping funziona). nslookup funziona bene. Non è possibile visualizzare alcun messaggio rilevante in / var / log. Lascialo qualche minuto e hey presto funziona di nuovo .....


0

Ho risposto a questo da qualche altra parte, perché era una soluzione semplice per me e non sono riuscito a trovare la risposta che ha funzionato per me altrove.

Dopo aver riavviato mDNSResolver decine di volte come raccomandato su altri thread:

sudo killall -HUP mDNSResponder

Finalmente ho provato qualcos'altro. Ho disabilitato il Wi-Fi ed eliminato tutte le mie reti preferite. Quindi ho ristabilito la connessione Wi-Fi e tutto ha funzionato bene:

  1. Menu Apple -> Preferenze di Sistema -> Wi-Fi (a sinistra)
  2. "Disattiva Wi-Fi", quindi seleziona "Avanzate"
  3. Elimina la connessione Wi-Fi con cui stai riscontrando problemi (o tutti, se lo desideri). Fai questo selezionando la rete Wi-Fi che desideri eliminare e premendo "-"
  4. Fai clic su "Applica" e "OK"
  5. Riattiva il Wi-Fi.
  6. Seleziona la tua rete Wi-Fi ed esegui nuovamente l'accesso.

Questo è ciò che alla fine ha funzionato per me. Probabilmente avrebbe dovuto essere la prima cosa che ho provato, ma sono un tipo Linux e guardo prima le correzioni della console.

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.