Próbuję skonfigurować dnsmasq(8)system Debian GNU / Linux w DHCPsieci prywatnej . Podczas lokalnej, ręcznej konfiguracji - po instalacji dnsmasqistelf - można po prostu dołączyć linię
prepend domain-name-servers 127.0.0.1;
w /etc/dhcp/dhclient.confi restart sieci. Obejmie to lokalnego hosta /etc/resolv.confi jeden jest gotowy do pracy. (Zobacz także: http://wiki.debian.org/HowTo/dnsmasq#Local_Caching )
Jednak próby zrobienia tego samego zdalnie, szczególnie podczas pracy z oprogramowaniem do zarządzania konfiguracją , spowodowałyby utratę połączenia sieciowego. Cóż, ponieważ celem nie jest ponowne uruchomienie sieci, ale aktualizacja resolv.conf..:
Jak można zmusić dhclient(8)do aktualizacji resolv.conf, utrzymując połączenia sieciowe w dobrym stanie?
[EDYTOWAĆ]
Poniżej znajduje się skrypt, który zadziałał dla mnie:
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
To trochę niezręczne - wciąż szukam lepszego rozwiązania.
resolv.conf. Zauważ, że sam klient DHCP nie jest tutaj problemem, to resolv.confplik: jest rozpatrywany przez resolver(3)C-API, a zatem wykorzystywany przez inne oprogramowanie. Zazwyczaj aktualizacja jest wykonywana przez jedną dhclient(8)albo resolvconf(8), ale pierwsze resetuje połączenie sieciowe, a drugi nie, aby zachować istniejącą konfigurację -
dhclient(8)podręcznika informuje, że obsługuje jakiś funky protokół o nazwie „Omapi”, który umożliwia zdalną konfigurację, i odnosi się doomshellnarzędzia, którego można użyć do ustawienia / rozbrojenia niektórych parametrów w kliencie i zaktualizowania go, a także do wyłączenia i ponownego uruchomienia. Czy odkryłeś tę trasę?