Я пытаюсь настроить 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
Это немного неловко - и я все еще ищу лучшее решение.