Щоб пришвидшити Інтернет, ubuntu 12.04 додав плагін для NetworkManager для запуску dnsmasq, локального сервера dns, який кешує записи dns. Проблема в тому, що плагін жорстко закодував рядок --no-hosts.
Отже, одне рішення - прокоментувати рядок, що завантажує плагін у конфігураційний файл 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