Le ricerche DNS non riuscite dovrebbero fallire rapidamente. Tuttavia, generalmente eseguo dnsmasq che leggerà il file hosts e servirà quelle voci per ricerche in avanti e indietro. Funge anche da server di cache DNS per ridurre il carico sui server DNS a monte.
Potresti voler usare il host
o dig
comando per vedere quali ricerche sono lente. Se vieni reindirizzato a un server DNS che non esegue il DNS, ci vorrà un po' prima che fallisca. Puoi ottimizzare i timeout e i tentativi in /etc/resolv.conf
per accelerare i fallimenti.
EDIT:per testare la risposta del resolver, prova a utilizzare time getent hosts 192.168.1.50
. Questo dovrebbe restituire ricerche dal tuo /etc/hosts
file e DNS. Il host
e dig
i comandi controllano solo il DNS. Se questo ritorna ma impiega alcuni secondi, potresti voler cambiare l'ordine del hosts
voce in /etc/nsswitch.conf
sposta i file all'inizio dell'elenco.
Configurazione di dnsmasq
e usandolo come server dei nomi DNS principale in /etc/resolve.conf
dovrebbe risolvere il problema se si dispone di programmi che si basano solo sul DNS per le ricerche dei nomi. Exim dovrebbe utilizzare il resolver per le ricerche di base. Avrai bisogno di un /etc/hosts
file, a meno che non sia possibile disabilitare il server DHCP sul router, è possibile utilizzare dnsmasq
per DHCP. dnsmasq
registrerà automaticamente i nomi se vengono forniti nelle richieste DHCP che gestisce.
EDIT2:se nessuno dei tuoi computer è sempre attivo, potresti provare a installare samba e utilizzare wins
nella configurazione di nsswitch. Dovrebbe essere veloce, quindi potrebbe funzionare se lo metti prima di dns
nella voce host.
Potresti anche cercare di installare il avahi
utilità che consentiranno il rilevamento automatico su reti link-local. Funziona sul lato IPv6, ma non pubblica indirizzi IPv4. Il dominio predefinito per gli host è '.local'. Questo potrebbe non essere adatto al tuo caso, ma può essere ignorato. Sembra anche più lento nelle ricerche rispetto a wins
quindi mettendo mdns
davanti a dns
nella configurazione nsswitch potrebbe non essere adatto.
192.168.1.1 è l'indirizzo IP del tuo router?
nameserver 192.168.1.1
suggerisce che il tuo router si pubblicizza come server DNS, invece di "inviare i server DNS dell'ISP".
Che marca e modello di router hai? L'interfaccia web mostra i messaggi di log?
Mi chiedo se il tuo router stia inoltrando la richiesta ai server dei nomi del tuo ISP, ma i server dei nomi del tuo ISP stanno abbandonando la richiesta, perché non vogliono che tu sappia qual è la loro macchina con IP 192.168.1.50
si chiama.
Suggerimenti:
- Ricontrolla le impostazioni del tuo router. Dovrebbe rispondere alle richieste per la tua rete privata. Forse puoi aggiungere una voce host statica nell'interfaccia web del tuo router?
- Prova a installare Avahi su tutti i sistemi della tua rete.
- Di' al tuo router di utilizzare Google Public DNS (
8.8.8.8
e8.8.4.4
) o OpenDNS
Se non vuoi eseguire l'esercizio di configurazione di un server DNS locale (e potenzialmente DHCP) per la tua rete domestica, puoi dire ai servizi, ove possibile, di non eseguire ricerche DNS inverse.
Ad esempio, per disabilitare la ricerca DNS inversa per SSHD, aggiungi quanto segue a sshd_config
file (o simile a seconda della distribuzione):
UseDNS no
Potresti rimuovere questa riga dalla configurazione di Exim, anche se non sono chiaro se ciò avrà un impatto sulla velocità di avvio, impedirà la ricerca DNS inversa sui client di connessione:
host_lookup = *
Sembra che tu possa esportare questa variabile d'ambiente per l'utente che avvia il processo Glassfish:
export AS_NO_REVERSE_DNS=true