Squid non parte al reboot con errore “ipcache_init: DNS name lookup tests failed”
Potrebbe capitare che Squid non riesca a partire al boot della macchina riportando l’errore ipcache_init: DNS name lookup tests failed nel file di log ( di solito /var/log/squid/cache.log ).
Questo è dovuto alla direttiva dns_testnames che dice a Squid di eseguire un test DNS su alcuni host esterni prima di avviarsi, se il test fallisce ( magari perché la macchina fa anche da gateway quindi al momento del test la rete internet deve ancora avviarsi ) e quindi non riesce a risolvere i nomi il servizio non parte.
Su queste FAQ ( dove si dice anche che il problema riguarda solo le versioni prima della 3.1, dopo la quale il problema viene risolto ) viene consigliato di disattivare tale test mediante l’uso del parametro -D, un altro workaround che ho sperimentato consiste semplicemente nel sostituire i nomi da testare con un host interno che è raggiungibile anche se la connessione internet è spenta.
Quindi apriamo il file di configurazione
[bash]sudo nano /etc/squid/squid.conf[/bash]
Cerchiamo il parametro dns_testnames ( per fare prima possiamo usare la combinazione di tasti CTRL+W ) e aggiungiamo il nostro host raggiungibile ( magari mettiamone più di uno nel caso il primo fosse spento )
[plain]
# dns_testnames netscape.com internic.net nlanr.net microsoft.com
dns_testnames host-1 host-2 host-3
[/plain]
Salviamo e riavviamo, ora Squid dovrebbe avviarsi senza problemi.