インターネットを高速化するために、ubuntu 12.04はNetworkManagerにプラグインを追加して、dnsエントリをキャッシュするローカルDNSサーバーであるdnsmasqを起動しました。問題は、プラグインが--no-hosts文字列をハードコーディングしていることです。
したがって、1つの解決策は、NetworkManager構成ファイルでプラグインをロードする行をコメント化して、NetworkManagerを再起動することです。
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
別の解決策は、dnsmasqをラップして、不要な引数を除外することです。
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
バグに影響があるとマークしてください。
システムファイルにパッチを当てない別のソリューション
cat /etc/NetworkManager/dnsmasq.d/hosts.conf
addn-hosts=/etc/hosts