Strefy DNS z widokami
luty 25th, 2007W piątek odwiedził mnie adamg i jak zawsze bardzo miło spędziliśmy czas. Lubię z nim dyskutować ponieważ zawsze znajdzie jakiś ciekawy projekt lub też problem, który czeka na rozwiązanie
Dziś będzie o problemie serwerów DNS, które maja trzymać wpisy dla strefy z widokami. O co dokładnie chodzi?
Otóż wiele domen, min. pld-linux.org jest optymalizowanych aby maksymalnie skrócić połączenie klient-serwer.
Jak to działa? Serwer DNS posiada zdefiniowane pewne klasy adresów IP (np. sieć TP S.A., sieć MANów, sieć Netii ̷
i gdy serwer otrzymuje zapytanie o adres ftp.pld-linux.org z sieci GTS nie odpowiada adresem ep09 (zlokalizowanego w Słowacji) ale podaje np. ftp6.pld-linux.org, który to serwer pracuje w sieci GTS.
Rozwiazanie bardzo proste i efektywne. Od strony implementacji wystarczy parsować odpowiednie zasoby z serwera cvs lub svn, na konfigurację i pliki stref DNS. Problemy zaczynają się gdy trzeba uruchomić w sposób automatyczny secondary name server. Każdy secondary serwer musi parsować te same pliki i do tego bardzo regularnie aby uniknąć nieścisłosci i niespójności w strefie. Żaden duży produkcyjny serwer DNS nie może sobie pozwolić na pobieranie plików stref i edytowanie konfiguracji z automatu
A jeśli nie uwzględnimy widoków i zapragniemy robić synchornizacje “automagicznie” to otrzymamy tylko odpowiedź dla segmentu sieci w której jest nasz adres IP.
Wydaje mi się, że jest dość prosty sposób obejścia problemu.
Wymagany jest jeden primary serwer, który pracuje na porcie 53 i serwuje domenę z wszystkimi widokami. Kolejnym wymogiem jest serwowanie odpowiednich widoków na innych portach. Dokładniej łącząć się z portem 53 dostępna jest cała strefa, port 54 pierwszy widok, 55 drugi widok, 56 trzeci widok i tak dalej. Pozostaje kwestia acl i odpowiedniego synchronizowania pliku z klasami IP. Mam jednak wrażenie, że definicje klas będą zmieniać się zdecydowanie rzadziej niż zawartość stref, i to może już zrobić ręcznie administrator serwera DNS.