Чтобы ускорить интернет, 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
dnsmasq
полученииHUP
сигнала. Это включает в себя/etc/hosts
и/etc/ethers
файлы. Время перезапуска достаточно быстрое, и клиенты редко получат ответ.