sobota, 28 listopada 2009

DNS - serwery nazw

W ostatnich dniach musiałem przenieść serwery DNS na inne adresy IP. Przy tych przenosinach dokonałem zmiany istniejącej konfiguracji DNS na nową. Już wyjaśniam o co chodzi na przykładzie.
W starej konfiguracji miałem następującą konfigurację (NASK):

   exmaple.pl   NS   ns1.example.pl
   example.pl   NS   ns2.example.pl


I oczywiście odpowiednie  rekordy glue z numerami IP.
Klienci, którzy korzystali z moich serwerów DNS jako nazwy serwerów NS podawali odpowiednio ns1.example.pl i ns2.example.pl.
Jest to standardowa konfiguracja z rekordami glue (in-bailiwick). Konfiguracja tego posiada pewną niedogodność związaną z czasem propagacji zmian (TTL). Domyślny TTL dla domen (w NASK-u) wynosi 86400 sekund (24h). Do tego dochodzi jeszcze czas kiedy strefy są modyfikowane na serwerach TLD. W praktyce oznacza to, że modyfikację mogą się propagować nawet do 30 godzin lub dłużej. Tutaj nie możemy za dużo poradzić. To co mogłem zmienić to czas propagacji zmian na serwerach obsługujących domeny klienta. Dokonałem następujących zmian:

NASK (konfiguracja z glue):
      example.pl   IN NS   a.dns.example.pl
      example.pl   IN NS   b.dns.example.pl

Moje serwery (konfiguracja typu gluelessness):
   ns1.exmaple.pl   IN A a  ip TTL
   ns2.exmaple.pl   IN A  ip TTL

Jako TTL używam wartości 3600. Jest to dobry kompromis między "wydajnością", a możliwością elastycznego dokonywania zmian. Dzięki tej zmianie zmiana serwera nazw (numeru IP) dla obsługiwanych domen możliwa jest w znacznie krótszym czasie). Oczywiście w tym przykładzie domena example.pl powinna być utrzymywana na innych serwerach niż pozostałe domeny.
Przy okazji tych zmian wyszło, że paru klientów jako nazwy serwerów NS podawało nazwę w swojej domenie wraz z aktualnymi numerami IP moich serwerów. Czyli cos takiego:

    domenaklienta.pl   IN NS  ns.domenaklilenta.pl
    ns.domenaklienta.pl IN A ip_mojego_serwera_dns

Muszę przyznać, że przysporzyło to mi trochę problemów. Ale ogólnie udało się sprawy wyprostować.
Zdanie djb na temat gluelessness