Um das Internet zu beschleunigen, hat Ubuntu 12.04 dem NetworkManager ein Plugin hinzugefügt, mit dem dnsmasq gestartet werden kann, ein lokaler DNS-Server, der DNS-Einträge zwischenspeichert. Das Problem ist, dass das Plugin die Zeichenfolge --no-hosts fest codiert hat.
Als Lösung können Sie die Zeile auskommentieren, in der das Plugin in die NetworkManager-Konfigurationsdatei geladen wird, und NetworkManager neu starten:
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
Eine andere Lösung besteht darin, dnsmasq umzubrechen, um die unerwünschten Argumente herauszufiltern:
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
Bitte kennzeichnen Sie den Fehler als Sie betreffend.
Eine andere Lösung ohne Patchen von Systemdateien
cat /etc/NetworkManager/dnsmasq.d/hosts.conf
addn-hosts=/etc/hosts
dnsmasq
Empfang einesHUP
Signals erneut gelesen . Dies schließt sowohl die/etc/hosts
als auch die/etc/ethers
Dateien ein. Die Neustartzeiten sind schnell genug, sodass Clients selten keine Antwort erhalten.