Aby przyspieszyć Internet, Ubuntu 12.04 dodał wtyczkę do NetworkManager, aby uruchomić dnsmasq, lokalny serwer dns, który buforuje wpisy dns. Problem polega na tym, że wtyczka na stałe zapisała ciąg --no-hosts.
Jednym z rozwiązań jest więc skomentowanie wiersza ładującego wtyczkę w pliku konfiguracyjnym NetworkManager i zrestartowanie NetworkManagera:
sudo mv /etc/NetworkManager/NetworkManager.conf /etc/NetworkManager/NetworkManager.conf.bak
sudo bash -c 'cat /etc/NetworkManager/NetworkManager.conf.bak | sed -e "s/^\(dns=dnsmasq\)$/#\1/" > /etc/NetworkManager/NetworkManager.conf'
sudo restart network-manager
Innym rozwiązaniem jest zawinięcie dnsmasq w celu odfiltrowania niepożądanych argumentów:
sudo mv /usr/sbin/dnsmasq /usr/sbin/dnsmasq.bin
sudo bash -c 'cat > /usr/sbin/dnsmasq' << EOF
#!/bin/sh
dnsmasq=/usr/sbin/dnsmasq.bin
exec $dnsmasq `echo $@ | sed -e s/--no-hosts//`
EOF
sudo chmod 755 /usr/sbin/dnsmasq
Oznacz błąd jako mający wpływ na Ciebie.
Kolejne rozwiązanie bez łatania plików systemowych
cat /etc/NetworkManager/dnsmasq.d/hosts.conf
addn-hosts=/etc/hosts
dnsmasq
odebraniuHUP
sygnału. Obejmuje to zarówno pliki, jak/etc/hosts
i/etc/ethers
. Czas ponownego uruchomienia jest na tyle szybki, że klienci rzadko otrzymają odpowiedź.