DD-WRT obsługuje dodatkowe serwery DNS zamiast samego adresu IP routera

9

Mam router DD-WRT (korzystający z DD-WRT v24SP2-MULTI (03/21/11) std) skonfigurowany z DNSMasq, aby rozpoznawać niektóre domeny na adresy wewnętrzne i przekazywać wszystko inne. Sam router jest skonfigurowany do korzystania z publicznych serwerów DNS Google do rozpoznawania adresów.

Mój ekran konfiguracji wygląda następująco:

Ekran konfiguracji DDWRT

Mój problem polega na tym, że gdy klient DHCP łączy się, dostaje router i dwa serwery DNS Google jako przypisane serwery DNS:

Serwery DNS przypisane przez DHCP

Jest to problem, ponieważ czasami klienci bezprzewodowi próbują rozwiązać domenę, która powinna wskazywać wewnętrzny adres IP, i zamiast tego uzyskują zewnętrzny adres IP, ponieważ z jakiegokolwiek powodu ich żądanie jest wysyłane 8.8.8.8zamiast do routera.

Nie chcę, aby router obsługiwał tylko własny adres IP jako serwer DNS. Czy to jest możliwe?

0x6A75616E
źródło
1
Mogę się mylić, ale ponieważ jest to sekcja konfiguracji serwera DHCP, wyraźnie mówisz routerowi, aby udostępniał te serwery Google jako opcje dns dla klientów. Chcesz je usunąć z listy, a następnie skonfigurować router, aby pobierał własne dns z google, być może odpowiedź poniżej to właściwy sposób, aby to zrobić.
Horatio
Jeśli je
usunę
Mówisz „z jakiegokolwiek powodu” kilka razy w poście i komentarzach. To jest powód, dla którego 8.8.8.8 jest przekazywane klientom. Ponieważ tak powiedziałeś. Jeśli nie chcesz tego zgłaszać, musisz go usunąć. Jeśli router jest serwerem dns, wypróbuj TYLKO adres routera.
horatio
@horatio, nie bardzo .. Chodzi mi o to, dlaczego serwer dhcp w ogóle podaje dodatkowe adresy DNS. Jeśli dnsmasq na urządzeniu i stosowanie pewnych reguł rozpoznawania nazw, obsługiwanie dodatkowych serwerów DNS (oprócz samego routera) nie spełnia tego celu.
0x6A75616E
W tej sekcji znajduje się lista serwerów DNS, które mają być przekazywane klientom żądającym informacji DHCP.
horatio

Odpowiedzi:

7

Dobrze, że używasz DNSMasq.

Możesz skonfigurować, co chcesz, w zakładce Usługi (> Usługi) , w polu DNSMasq> Dodatkowe opcje DNSMasq , ale najpierw chcesz wyczyścić te pola Statycznego DNS. Statyczne pola DNS w „Setup> Basic Setup”

Dodaj następujące elementy do pola opcji DNSMasq:

dhcp-option= option:dns-server, 192.168.10.10 # DHCP option 006

server = 8.8.8.8 # DNSMasq will use these servers for forwarding the DNS requests that it can't serve
server = 8.8.4.4
palswim
źródło
Wydaje się, że działało to doskonale dla mnie. Ale bardzo głupie pytanie. Która część tego pierwszego wiersza określa opcję DHCP 006? opcja: serwer dns?
Residualfail
@Residualfail: Tak; Myślę, że można to również podać liczbowo, ale option:dns-serverodpowiada opcji DHCP 006.
palswim
1
Wygląda na to, że mogłem mówić za wcześnie. Nie wygląda na to, że dns wraca do dns Google'a po tym, jak moje wewnętrzne dns zostały zamknięte. = (
Residualfail
4

Informacje pochodzą z oficjalnej strony DD-WRT: http://www.dd-wrt.com/wiki/index.php/OpenDNS

Wygląda na to, że możesz ustawić pozostałe serwery dns na nierutowalne adresy IP (w moim przypadku 10.0.0.0i 10.0.0.1) i wyciszy twoje serwery DNS dostawców ISP z tymi nie-routowalnymi. Jak dotąd wydaje mi się, że działa bez opóźnień na nieistniejących serwerach DNS.

CarlserversC
źródło
Nie będzie opóźnienia, ponieważ adresy nierutowalne zostaną natychmiast usunięte przez stos sieciowy. Powoduje to niewielki narzut i jest włamaniem, ale nie powinno być żadnych problemów w świecie rzeczywistym.
Ktoś
3

Nie używam DDWRT, więc jest to pół pytania / pół odpowiedzi.

Instrukcja DNSMasq jak serwer DHCP mówi w sekcji „Dodatkowe opcje DNSMasq”:

Interfejs internetowy DNSMasq zawiera dodatkowe opcje, które można ustawić, wprowadzając je w Opcjach dodatkowych DNSMasq na karcie „Usługi”.

Jeśli chcesz przejść przez serwery DNS od swojego usługodawcy internetowego, możesz użyć następujących parametrów:

dhcp-option=6, x.x.x.x, y.y.y.y

gdzie xxxx = DNS1 rrrr = DNS2

To wydaje się oznaczać, że przekazywanie serwerów ISP jest opcjonalne, więc zlokalizowanie i usunięcie powyższej linii powinno ją wyłączyć.

harrymc
źródło
1
Ustawiłbym opcję dhcp = 6,192.168.10.10, aby przekazać ten adres IP jako adres IP serwera DNS klientom DHCP.
Thane
1
Dzięki za wskaźnik. Próbowałem że zarówno uDHCPd (co jest DNS demon używałem na DD-WRT) i dnsmasq (włączony do niej), ale bezskutecznie :( Utrzymuje obsługujących dodatkowe rekordy DNS dla jakiegokolwiek powodu..
0x6A75616E
W takim przypadku możesz opublikować pytanie na forach DD-WRT .
harrymc
2

Jeśli nie chcesz, aby klienci docierali do zewnętrznego DNS, nie umieszczaj ich adresów w konfiguracji serwera DHCP.

Przypuszczam, że chciałeś dodać (ostatecznie szybsze) serwery DNS Google'a w konfiguracji zewnętrznego klienta DHCP (gdzie DNSMASQ przyjmowałby swoje preferencje klienta DNS)

Dodatkowy:

Musisz dodać dodatkowe (wszystkie) serwery DNS do konfiguracji łącza WAN. DNSMasq będzie z nich korzystać i nigdy klient DHCP nie uzyska od dostawcy.

ZaB
źródło
dziękuję za Twój wkład, ale nie ma to większego sensu w kontekście pytania. DNSMasq działa poprzez przekazywanie żądań dns od klientów do prawdziwych serwerów DNS z możliwością modyfikowania niektórych odpowiedzi w locie. Jeśli usunę serwery dns z konfiguracji, router po prostu powróci do serwerów przydzielonych przez dostawcę usług internetowych. Odpowiadasz na moje pytanie, mówiąc „napraw konfigurację”, ale samo pytanie brzmi „jak naprawić konfigurację”.
0x6A75616E
2

Typową opcją konfiguracji dla DD-WRT jest zezwolenie routerowi na kierowanie DNS poza głównymi serwerami DNS dostawcy usług internetowych; co z powodzeniem zrobiliście; jednak ponieważ żądania są generowane z komputera KLIENTA, łącząc TOO z routerem, kolejność preferencji jest zawsze podawana do skonfigurowanego DNS na komputerze klienta, a następnie do routera.

Opisujesz, że klient kojarzy się z routerem, co jest poprawne, ale jego DNS pokazuje adres IP twojego routera + 2 inne ustawienia DNS. Sprawdź komputer kliencki i upewnij się, że jego ustawienia IPV4 są ustawione tak, aby dynamicznie pobierać konfigurację serwera DNS z połączenia, a nie konfigurować go ręcznie:

Konfigurowanie klienta

Następnie upewnij się, że poprawnie skonfigurowałeś router DD-WRT:

Skonfiguruj router

W powyższej konfiguracji masz również pewne problemy; ustawiono zakres adresów DHCP na początek 200i koniec o 255; Polecam zmienić to, aby zacząć od 200 i kończyć o 254; pozostawiając adres 255 wyłączony, biorąc pod uwagę, że w normalnych konfiguracjach *.*.*.255jest to adres rozgłoszeniowy, a nie normalny adres IP, którego należy użyć do przypisania do powiązanego klienta.

Podkreśliłem lokalne ustawienia DNS, ponieważ ustawiłeś je na 127.0.0.1; co oznacza, że ​​używasz lokalnego serwera DNS na routerze . Jeśli tak nie jest, zmień go na 0.0.0.0lokalny serwer DNS w sieci lub poprawny adres.

Zauważysz, że gdy serwer i klient są skonfigurowane w ten sposób, pojawią się tylko adresy IP DNS routerów; a wszystkie żądania będą kierowane przez serwery DNS powiązane z routerem.

Uwaga na temat lokalnego serwera DNS Jeśli chcesz, aby router skojarzył określony adres lokalny z lokalnymi adresami IP, możesz dodać je do opcji konfiguracyjnych DNSMasq na odpowiednim ekranie DD-WRT lub użyć lokalnego serwera DNS i podać właściwy adres IP dla ten serwer (zazwyczaj serwer statyczny, w zasięgu sieci). W ten sposób kolejność rozwiązywania będzie najpierw serwerem lokalnym, a następnie 2 zewnętrznymi. Ale nadal tylko klienci będą widzieć adres IP routera jako serwer DNS.

zackrspv
źródło
dzięki za odpowiedź! Upewniłem się, że wszyscy klienci w sieci nie mają na stałe zakodowanych serwerów DNS. W rzeczywistości w każdym przypadku 192.168.10.10 (sam router) powraca jako pierwszy serwer DNS, który trafił. Dzieje się tak, że niektóre komputery losowo trafiają na pomocnicze serwery DNS, które obecnie zapewnia DHCP. Próbowałem miliona rzeczy i wygląda na to, że nie ma sposobu, aby działały same. Mogę skończyć z uruchomieniem innych instancji dnsmasq na innej maszynie i użyć ich jako dns2 i dns3 .. taki hack! lol. dzięki jeszcze raz.
0x6A75616E
2

Miałem podobny problem po śmierci routera i musiałem uruchomić flashowany WRT160N.

Mam urządzenie działające jako lokalny serwer DNS w sieci 192.168.2.30. Zasadniczo chcę, aby DHCP podawał ten adres tylko jako serwer DNS; Nie chcę, aby DNS działał gdzie indziej.

Używam „Firmware: DD-WRT v24-sp2 (12/19/10) mini”

Nie wydaje się mieć znaczenia, jaką kombinację ustawień DNSMasq, ustawień DHCP, lokalnego DNS lub cokolwiek używam. Jeśli DNS Server 2 i DNS Server 3 są puste lub pasują do DNS Server 1, DD-WRT nalega na rozdanie serwerów DNS Comcast dla tych miejsc. Nie chcę tego, ponieważ przesyłam 192.168.2.30 do OpenDNS dla zapytań, które nie są lokalne.

Odpisuję to jako błąd w tej dość starej (do tej pory) wersji DD-WRT i zamierzam zainstalować / skonfigurować własny serwer DHCP na 192.168.2.30 i wyłączyć DHCP na routerze.

LawrenceC
źródło
1
to właściwie nie jest zły pomysł ... Mógłbym po prostu ustawić dhcp na innym pudełku i przestać grzebać w ddwrt.
0x6A75616E
1
Ten problem nadal występuje w mojej kompilacji z lutego 2016 r., Wydaje się być funkcją. Porzucam router i wracam do komputera z systemem Linux. Ludzie tworzący oprogramowanie routerów powinni naprawdę lepiej rozumieć problemy związane z prywatnością związane z tym nieoczekiwanym, nietypowym i nieodpowiedzialnym działaniem GUI. Jeśli muszę samodzielnie zhakować różne rzeczy, naprawdę nie ma sensu używać stosunkowo skomplikowanego i ograniczonego systemu. A jeśli korzystasz z DNS i DHCP już na innym komputerze, co pozostało z routera? Pchanie pakietu?
Ktoś
1

Dodano kilka lat później, ponieważ natknąłem się na to poszukiwanie odpowiedzi ... Dodałem wirtualne interfejsy do mojej pi-hole, aby obsłużyć 2 kolejne adresy IP.

eth0 192.168.10.10
eth0.1 192.168.10.11
eth0.2 192.168.10.12

Pozwoliło mi to zapełnić wszystkie 3 skrzynki lokalnymi adresami i pozwolić, aby dostarczył wystarczająco dużo, aby mimo że router dd-wrt rozdawał 5, 3 lokalne i 2 nadrzędne usługi ISP ISN, moje maszyny ich nie uderzą.

Dave
źródło
0

Wchodzenie przy użyciu mniej hackerskiej metody: jeśli jest to Twoja sieć LAN i DNS, jestem pewien, że jest kilka adresów do oszczędzenia, aby DNS nasłuchiwał na trzech adresach IP.

Korzyści wynikające z posiadania adresów nierutowalnych powinny być w praktyce nieistotne, ale przynajmniej nie polegasz na tym, że coś jest zepsute i routery na nie reagują. Nigdy nie możesz być pewien, czy to się kiedyś nie zmieni.

Ktoś
źródło