Proxy/caching serwer DNS dla Linuksa
kozik Rozjeżdżają się serwery DNS Astera… odpowiedzi przychodzą po kilkudziesięciu sekundach lub w ogóle. Uniemożliwia to jakiekolwiek używanie sieci… chyba, że zainstaluje się lokalny serwer DNS w celu cache’owania wpisów DNS. Nie chciało mi się z tym nigdy bawić (bo nudne), ale dziś stało się to koniecznością.
W pracy dla lokalnej sieci używam dnsmasq, ale on de facto oferuje ciągle zbyt dużo jak na moje potrzeby. Wybór padł na pdnsd. Ciekawie się prezentuje rozbudowana konfiguracja lokalnego cache’u nazw DNS lub możliwość obsługi wielu serwerów DNS i ich odpytywania w zależności od obecności (dany serwer DNS jest uaktywniany na podstawie “testu”, np. odpowiedzi na pinga czy sprawdzenia działania interfejsu sieciowego).
Standardowo pojawia się drobny problem z pobieraniem danych o serwerach DNS poprzez DHCP. O ile normalnie klient DHCP zapisuje to w pliku /etc/resolv.conf, to przecież teraz tam może siedzieć tylko lokalny cache (127.0.0.1). To z kolei rozwiązuje pakiet resolvconf-gentoo z “nameserver 127.0.0.1” w pliku /etc/resolvconf/resolv.conf.d/base - na sztywno ustawiając lokalny cache w /etc/resolv.conf.
Przy podniesieniu interfejsu sieciowego, klient DHCP dostaje adresy serwerów DNS i przekazuje je do skryptu resolvconf. Ten z kolei uaktualnia konfigurację pdnsd tak, by demon wiedział kogo odpytywać. Wszystkie aplikacje stukają do 127.0.0.1, czyli do pdnsd. Aż zaskakujące, że tak szybko to poszło… ![]()
Wysłano w Blog - Linux i Unix | Tags: linux |
