Próbuję skonfigurować dnsmasq(8)
system Debian GNU / Linux w DHCP
sieci prywatnej . Podczas lokalnej, ręcznej konfiguracji - po instalacji dnsmasq
istelf - można po prostu dołączyć linię
prepend domain-name-servers 127.0.0.1;
w /etc/dhcp/dhclient.conf
i restart sieci. Obejmie to lokalnego hosta /etc/resolv.conf
i 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.conf
plik: 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ę doomshell
narzę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ę?