Jaki serwer DNS?

Witajcie,

Stawiam proste środowisko produkcyjne na Ubuntu 14.04 w chmurce.
Mały ruch, niewielka ilość użytkowników.

Czy Waszym zdaniem, klasyczny BIND jest dobrym pomysłem jako serwer DNS, czy też macie może propozycje na coś prostszego, łatwiej konfigurowalnego?

Może na jakimś forum dotyczącym Ubuntu powinienem zadać to pytanie, ale interesuje mnie Wasza opinia, czyli bardziej developerów niż administratorów.

Czy Binda się trudno konfiguruje? Poza użytecznością rodem z lat 90’tych (bump seriala, pamiętanie o kropkach) konfiguracja DNS jest stosunkowo prosta i nie bardzo jest sens kierować się tym kryterium przy wyborze. Wszystko zależy od tego, co tak na prawdę chcesz robić z DNSami. Jeżeli chcesz postawić sobie autorytatywny serwer dla jakiejś domeny, to moim zdaniem szkoda tracić czasu - postaw sobie Binda. Jeżeli zaś serwer DNS ma być częścią aplikacji i zamierzasz np. z aplikacji generować wpisy, to sprawa się nieco komplikuje.

Musisz pamiętać, że do wydelegowania domeny w PL potrzebujesz przynajmniej dwóch serwerów. Ogólnie polecam skorzystanie z dostawcy typu Zerigo/DNSimple, a swojego VPSa ustawienie jako Slave. Wówczas będziesz mógł zarządzać konfiguracją z Panelu WWW lub przez API, a jednocześnie będziesz w miarę bezpieczny przed awarią infrastruktury dostawcy (która najczęściej zdarza się w wyniku ataku DDOS na serwis, który trzyma domenęna ich serwerach).

Wstępnie serdecznie dziękuję za te wszystkie informacje, ale …jak samemu zauważyłeś pamiętanie o kropkach i do tego różne wpisy w internecie dotyczące bezpieczeństwa BINDA skłaniają mnie do szukania czegoś innego.

Może dwa słowa jeszcze dotyczące hosta i moich potrzeb.
Stawiam środowisko RoR w TEJ polskiej chmurze, o której już pisano tutaj na forum.
Nie chcę korzystać ani z Heroku (smutne doświadczenia z plikami graficznymi), ani (przynajmniej chwilowo) zakładać konta na DigitalOcean lub Shelly. Ponadto pragnę się przede wszystkim czegoś nowego nauczyć.
Zrezygnowałem z prekonfigurowanego szablonu Ruby on Rails.
Wybrałem Ubuntu 14.04, zainstalowałem rvm, ruby, railsy, postgresa, nginx, passenger’a i … działa! :smile:
Chcę mieć możliwość uruchamiania app1.moja_domena.pl, app2.moja_domen.pl, app3…

No muszę przypisać gdzieś ten serwer i CNAME dla tych różnych wywołań.
Sądziłem, że prawidłową konfiguracją będzie postawienie gdzieś (np freedns.42.pl lub wg Twojej sugestii na DNSSimple) mastera i secondary DNS na tym swoim.
Coś źle główkuję?
Może w ogóle nie stawiać u siebie żadnego serwera DNS (odpowiednie sub wpisać w hosts) i korzystać tylko z tych zewnętrznych serwerów DNS?

Nie jestem “siłaczem” w kwestiach zarządzania sieciami, więc może błądzę jak to w zielonej szkole często bywa :frowning:

Jeżeli chcesz właśnie zrobić tak, żeby konfiguracje mieć na primary oferowanego przez dostawcę typu DNSimple, to zdecydowanie polecam zainstalować sobie Binda jako slave/secondary. Ogólnie własny Slave nie jest potrzebny, aczkolwiek jest bardzo wskazany, bo zdarzały się już nie raz przypadki, kiedy wszystkie serwery DNSimple/Zerigo leżały w w wyniku DDOSa. Mając własny Slave w takiej sytuacji będziesz miał nadal działającą infrastrukturę, tylko nie będziesz mógł łatwo wprowadzać zmian. Konfiguracja Binda jako Secondary jest banalna i po jednorazowym ustawieniu nie będzie wymagała żadnych dodatkowych interwencji. Aktualizacje będą automatycznie przekazywane przez AXFR z wykorzystaniem mechanizmu NOTIFY.

Jeżeli chcesz konfigurować sobie własne subdomeny, to tak naprawdę wystarczy CI jeden wpis wildcardowy wpis CNAME z *.moja_domena.pl na konkretny serwer. Nie musisz na bieżąco nic dodawać. Nawet jeżeli miałbyś aplikację, która zakłada subdomeny klientom, to i tak takie rozwiązanie jest lepsze, niż ręczne dodawanie rekordów. No chyba, że pojawi się więcej niż jeden serwer i będziesz musiał rozrzucać obciążenie w ten sposób (wysyłając różne subdomeny do różnych klientów), ale nawet w takim przypadku nie jest to dobre rozwiązanie i lepiej balancing rozwiązać wtedy na niższej warstwie.

Nie bardzo rozumiem o miałbyś uzyskać przez wpisanie rekordów do hosts. W każdym razie wykorzystanie zewnętrznego dostawcy wydaje się w tym przypadku sensowniejsze.

Dzięki za te wyjaśnienia.