Lokalne uruchamianie DNS dla sieci domowej

102

Mam małą sieć domową, która właśnie się powiększyła (nowa współlokatorka, moja obecna współlokatorka dostała laptopa (na swoim komputerze), moi przyjaciele przychodzili z laptopami itp.).

Chciałbym uruchomić lokalny serwer DNS do poszukiwania mojego miejscowego materiału sieciowego ( fileserver.local, windowsTV.local, machineA.local, machineB.local, appletv.local). Kiedyś miałem linię biznesową ze statycznym adresem IP i działałem wewnętrznie bind / name. Jednak teraz mam normalne konto.

Serwery DNS mojego dostawcy ISP ciągle się zmieniają (z jakichkolwiek powodów mój dostawca nie lubi długo utrzymywać tego samego zakresu adresów IP). Potrzebuję, aby mój lokalny DNS był automatycznie aktualizowany, aby korzystać z DNS mojego dostawcy ISP dla ruchu zewnętrznego, ale być w stanie utrzymać wewnętrzny serwer DNS (uzyskanie aktualizacji pliku hosts jest kłopotliwe z każdą nową maszyną oprócz odbudowy istniejących maszyn z Win7 lub Ubuntu 9.04).

Ponadto serwery DNS mojego dostawcy ISP często ulegają awariom lub przestają odpowiadać. Czy są jakieś otwarte serwery DNS, które są niezawodne (nie chcę codziennie zmieniać konfiguracji), których mógłbym użyć jako mojego głównego, a jeśli te zawiodą, to użyj moich dostawców usług internetowych?

AKTUALIZACJA: Poszukuję również każdej stacji roboczej, aby móc używać dhcp do łączenia, ale zamiast uzyskiwać serwery DNS ISP, otrzymuję mój wewnętrzny ....

Roy Rico
źródło
2
Tutaj są co najmniej 2 pytania: lokalna konfiguracja DNS, publiczne serwery DNS. Następnym razem zadaj 2 pytania.
hyperslug,
17
Zgadzam się, ale szukam ogólnego rozwiązania. każde pytanie z osobna miałoby poprawną odpowiedź, ale może się nie mieścić, próbuję znaleźć rozwiązanie obu problemów, które działają razem.
Roy Rico,
@RoyRico Czy kiedykolwiek znalazłeś dobre rozwiązanie? Próbuję zrobić dokładnie to samo z routerem Tomato i biegnę na ściany w każdym kierunku.
Jeff
Jeśli masz Linux-a, oto jak szczegółowo skonfigurować DNSMASq - sfxpt.wordpress.com/2011/02/06/…
xpt
Nowe serwery Google DNS to 8.8.8.8 i 8.8.4.4 na wypadek, gdyby ktoś się zastanawiał ...
Tmanok

Odpowiedzi:

16

Jeśli chcesz, aby działały wewnętrzne fałszywe domeny, nie możesz skonfigurować swoich stacji roboczych z innymi serwerami DNS oprócz własnego. Po skonfigurowaniu BIND może on działać sam i nie potrzebujesz wcale swoich dostawców usług internetowych ani innych nieautorytatywnych serwerów DNS.

Giętarka
źródło
9
Jednak dobry internauta przekaże, jeśli to możliwe, do pamięci podręcznej DNS swojego dostawcy ISP. Obciążenie głównych serwerów DNS jest przerażające. Zwłaszcza w przypadku małych witryn, takich jak ta, ponieważ nie byłoby skalowane, gdyby każde gospodarstwo domowe zdecydowało się pójść bezpośrednio. (Jeśli martwisz się o manipulowanie przez ISP, użyj DNSSEC).
sourcejedi
1
@sourcejedi, źle rozumiesz, co tak naprawdę robi buforujący serwer DNS .. z pewnością nie działa na serwerach głównych, przeszkadza im to tylko raz w tygodniu.
milli
7
Jest inny powód, dla którego powinieneś przekazać swoje serwery DNS ISP ... będziesz wyglądać jak zwykły klient. Jeśli tego nie zrobisz i zobaczysz, że masz system, który wysyła zapytania DNS na całym świecie, założą się, że prowadzisz serwer DNS i mogą po prostu rzucić Ci regułę zapory ogniowej w twarz. Będziesz miał trudności z ustaleniem, co się zepsuło i prawdopodobnie marnujesz godziny, próbując dowiedzieć się, czy to nastąpi.
milli
1
Oprócz punktu @ milli, DNS twojego usługodawcy internetowego może również zastępować rozpoznawanie niektórych domen na ich prywatnych komputerach z szybszą / buforowaną / niezmierzoną zawartością. Korzystanie z publicznego DNS może uszkodzić te usługi lub kosztować Cię więcej.
Walf
85

Zasadniczo musisz uruchomić własny serwer DHCP i DNS. Prowadzisz już własny serwer DHCP, jeśli masz typowy router, który podaje prywatne adresy IP.

Twój serwer DHCP musi być skonfigurowany do przekazywania adresu IP routera jako adresu bramy, a adres IP serwera DNS jako adresu serwera DNS, oczywiście.

Twój serwer DNS musi być skonfigurowany do lokalnego rozwiązywania nieoficjalnej domeny najwyższego poziomu, na przykład do .localprzesyłania innych żądań do innego DNS. W BIND musisz dodać forwarders { }sekcję do swojego `/etc/bind/named.conf.options ', która zawiera publiczne serwery DNS, których chcesz używać do rozwiązywania adresów nielokalnych. Jak sugerują inne komentarze, jeśli nie chcesz przekazywać dalej do serwerów DNS swojego usługodawcy internetowego, możesz użyć OpenDNS, publicznych serwerów DNS Google lub 4.2.2.1/4.2.2.2 (nie pamiętam, kto to robi).

Jeśli prowadzisz własny serwer DNS, potrzebujesz pola, które będzie włączone przez cały czas, ponieważ wszystkie zapytania DNS w sieci domowej przejdą przez to. To pole wymaga stałego adresu IP w domowej podsieci. Upewnij się, że nie można go zastopować przez DHCP, a samo urządzenie nie powinno otrzymywać adresu IP przez DHCP. Jeśli Twój DHCP jest skonfigurowany do przekazywania adresów od 192.168.1.1 do 192.168.1.100, podaj serwerowi DNS adres IP 192.168.1.101. W zwykłej sytuacji routerów domowych wystarczy po prostu powiedzieć routerowi, że serwer DNS to 192.168.1.101, i zrestartować komputer.

Jeśli możesz uruchomić lokalny DNS na swoim routerze szerokopasmowym, to świetnie, ale serwer DNS może skorzystać z dużej ilości pamięci RAM do buforowania zapytań, w zależności od używanego oprogramowania DNS. W mojej sieci używam po prostu BIND . Wygląda na to, że masz z tym trochę doświadczenia i dla mnie to działa świetnie.

LawrenceC
źródło
3
4.2.2.1/4.2.2.2/4.2.2.3 pochodzą z warstwy 3.
Hengjie,
1
Doskonała odpowiedź! Dzięki za pełne, jasne informacje. Niedługo spróbuję skonfigurować to w mojej sieci lokalnej.
Formularz
2
Powodzenie! To podejście jest rozsądne. Ustawienie stałego adresu IP poza zakresem adresowalnym / unikanie DHCP dla skrzynki DNS jest szczególnie istotne. Dzięki!
Formularz
@Hengjie co to jest warstwa 3?
Jonathan
Warstwa 3 jest zarówno dostawcą centrum danych, jak i dostawcą sieci. Zdarza się również, że zapewniają bardzo solidne serwery DNS.
Hengjie,
15

Czy są jakieś niezawodne otwarte serwery DNS?

Powiedziałeś to: OpenDNS .

208,67.222.222
208,67.220.220
hiperslug
źródło
3
Chciałbym również zajrzeć na aboutdebian.com/dns.htm, aby uzyskać dobry przegląd różnych sposobów konfigurowania własnego serwera dns.
Kenneth Cochran
1
+1 dla OpenDNS. Używam go zarówno w pracy, jak i w domu. Fantastyczna obsługa.
DWilliams,
4
Uważaj, aby serwery nazw OpenDNS były kłamcami: przepisują odpowiedzi DNS, aby skierować Cię do usługi reklamowej lub cenzurować niektóre miejsca docelowe.
bortzmeyer
1
@bortz, nie widziałem, żeby kłamali na ten temat, ale przekierowują na stronę docelową + reklamy w przypadku nieprawidłowych adresów URL. Cenzura jest włączona i domyślnie wyłączona.
hyperslug
12
Publiczne serwery DNS Google w wersjach 8.8.8.8 i 8.8.4.4 są również całkiem dobre.
LawrenceC
6

Jeśli korzystasz z systemu Windows - powinieneś rzucić okiem na Simple DNS Plus - jest to pełny serwer DNS, który jest również wyposażony we wtyczkę serwera DHCP - i ma łatwy w obsłudze interfejs GUI.

[Uwaga: produkt został opracowany przez autora tego postu]

Jesper
źródło
Używam systemu Windows jako jednej z moich maszyn, ale nie zawsze jest włączony. Komputer z systemem Linux jest zwykle włączony.
Roy Rico,
Wspomnienie o tym nie jest darmowym rozwiązaniem. Oferowane są 14-dniowe licencje próbne i edukacyjne. W przeciwnym razie wyciągniesz ciasto gdzieś pomiędzy 70 $ a 300 $
CyberFox
5

Bez ograniczeń jest dość łatwe, obsługuje pliki konfiguracyjne w stylu wiązania i jest dość niezawodne. Jeśli serwer będzie samodzielnym polem typu „brama”, a chciałbyś kilka dodatkowych drobiazgów, możesz rzucić okiem również na dystrybucję zapory ogniowej / bramy zwaną rozplątywanie.

Journeyman Geek
źródło
4

Jeśli masz pole linux, to chcesz skonfigurować DNSMASq, aby uzyskać adresy lokalne i używać go jako serwera DNS do przekazywania / buforowania dla adresów zewnętrznych. Jest to również często stosowane w dystrybucjach linuksowych dla routerów domowych, takich jak openwrt / ddwrt / tomato.

Alternatywnie, w większości sieci Apple / Mac korzystasz z Bonjour / Zeroconf, na których zarówno komputery z systemem Linux, jak i Apple mogą się komunikować w celu rozwiązania DNS / usługi na poziomie emisji.

To powiedziawszy, w sieci czysto hybrydowej z uruchomionymi wszystkimi trzema systemami operacyjnymi, na pewno chcesz lokalnego serwera DNS z przekazywaniem do OpenDNS, GoogleDNS lub lokalnego DNS ISP w zależności od twojej lokalizacji / potrzeb.

jonathanserafini
źródło
2

Używam 4.2.2.1 i 4.2.2.2

edycja: to znaczy w odniesieniu do serwerów publicznych. Łatwe do zapamiętania i nie sądzę, że widziałem, jak zawiodły, odkąd ich używam.

DHayes
źródło
Widziałem je wcześniej. Kto je prowadzi? Czy społeczeństwo może z nich korzystać? jak są oni wiarygodni?
Roy Rico,
Verizon. Wygląda na to, że ich to nie obchodzi. Bardzo.
hyperslug
Są to otwarte serwery DNS, bezpłatne do użytku publicznego. Są zarówno szybkie, jak i niezawodne.
Walter
3
Widziałem 4.2.2.2, które zawiodły wystarczająco dla naszych klientów (którzy wymagają niezawodnego DNS do przetwarzania kart kredytowych!), Że zawsze zmieniam je na publiczny DNS Google lub OpenDNS, ilekroć ich widzę. Odejście od serwerów Verizon zawsze natychmiast usuwa ten problem.
Stephen Jennings
2

Dowolny router szerokopasmowy zapewnia zarówno usługi DNS, jak i DHCP dla sieci lokalnej. Jeśli chcesz INcomming połączeń z Internetu do maszyn lokalnych, potrzebujesz routera, który obsługuje również DynDNS i Incomming PortForwarding.

Jeśli wybierzesz jeden z listy obsługiwanych urządzeń DD-wrt , możesz go sflashować przy użyciu tego oprogramowania układowego i będzie on obsługiwał każdą funkcję, jakiej kiedykolwiek będziesz potrzebować w małej sieci.

Nikolaas
źródło
4
Nie sądzę, że większość routerów szerokopasmowych zapewnia usługę DNS, przynajmniej nie z dostarczonym oprogramowaniem. Większość po prostu udostępnia DHCP i używa tego, aby poinformować twoje systemy, aby korzystały z serwerów DNS twojego ISP. Teraz, jeśli flashujesz oprogramowanie firm trzecich, takie jak DD-WRT, OpenWRT lub Tomato, mogą one również świadczyć usługi DNS.
afrazier
1

Aby uruchomić serwer DNS w sieci LAN, spójrz na „pdnsd”, który jest serwerem nazw dla * nix.

Zuu
źródło
1

Niektóre bezpłatne serwery DNS, których możesz użyć do przekazywania:

1.1.1.1 - Cloudflare
1.0.0.1 - Cloudflare
4.2.2.1 - Layer 3
4.2.2.2 - Layer 3
4.2.2.3 - Layer 3
8.8.8.8 - Google
8.8.4.4 - Google
208.67.222.222 - OpenDNS
208.67.220.220 - OpenDNS
JCA122204
źródło
0

Jeśli pobierzesz program testowy DNS z tekstu linku , przeprowadzi on test porównawczy listy publicznych serwerów DNS, a także lokalnego serwera DNS. Po uruchomieniu tego programu spróbuj umieścić kopię najszybszych serwerów w ustawieniach DNS routera, a następnie odnów sesję DHCP i ponownie uruchom test.

Jeśli router na to pozwala, dodaj zarówno router, jak i jeden z szybkich zewnętrznych serwerów DNS do listy serwerów DNS, które przekazuje klientowi DHCP (ale wybierz inny niż ten, który podałeś dla adresów serwerów DNS routera).

Walter
źródło
0

Miałem podobny problem. Kupiłem router zgodny z OpenWRT i zainstalowałem OpenWRT. Oferuje statyczne wiązanie adresów IP wraz z rozpoznawaniem nazw w routerze, co umożliwiło mi nadawanie nazw moim komputerom i urządzeniom w sieci, jak chcę.

Chłopak
źródło
-1

Może mówię coś głupiego. W takim przypadku po prostu dodam adres IP i nazwy do plików hostów na poszczególnych komputerach.

192.168.0.120 tv.local

192.168.0.80 studiopc.local

Stefano
źródło