Я пытаюсь настроить dnsmasq(8) в системе Debian GNU/Linux в частной сети на основе DHCP . Во время локальной настройки вручную - после установки dnsmasq istelf - можно просто включить строку
prepend domain-name-servers 127.0.0.1;
в /etc/dhcp/dhclient.conf и перезапустите сеть. Это будет включать локальный хост в /etc/resolv.conf и один готов к работе. (См. Также: http://wiki.debian.org/HowTo/dnsmasq#Local_Caching)
Но попытки сделать то же самое удаленно, особенно при работе с программным обеспечением для управления конфигурацией , могут привести к потере сетевого подключения. Ну, поскольку целью является не перезагрузка сети, а обновление resolv.conf ..:
Как можно заставить dhclient(8) обновить resolv.conf , сохраняя при этом работоспособность сетевых подключений?
[РЕДАКТИРОВАТЬ]
Ниже, пожалуйста, найдите скрипт, который работал для меня:
if grep '^\s*nameserver\>.\+\<127\.0\.0\.1\>' /etc/resolv.conf >/dev/null; then
: # do nothing
else
grep -v '^\s*nameserver\>' /etc/resolv.conf > /tmp/resolv.conf.new
echo "nameserver 127.0.0.1" >> /tmp/resolv.conf.new
grep '^\s*nameserver\>' /etc/resolv.conf >> /tmp/resolv.conf.new
mv -f /tmp/resolv.conf.new /etc/resolv.conf
fi
Это немного неловко - и я все еще ищу лучшее решение.
