[Rozwiązanie] Brak możliwości ustawienia serwera DNS na routerze Huawei B315

Jakiś czas temu postanowiłem postawić w domowej sieci bloker reklam i stron phishingowych Pi-hole. Pi-hole jest lokalnym serwerem DNS, który ma za zadanie rozwiązywać nazwy domenowe usług na adresy IP, o które zapytają urządzenia w sieci domowej. Jeśli odpytana domena znajduje się na blockliście, to urządzenie otrzymuje odpowiedź 0.0.0.0 i w efekcie reklama się nie wyświetla lub zamiast strony internetowej przeglądarka wyświetla komunikat:

Aby Pi-hole działał poprawnie, urządzenia muszą mieć ustawiony jako główny serwer DNS adres serwera Pi-hole. Można to osiągnąć na 2 sposoby:

  1. Ręcznie konfigurować na każdym urządzeniu adresy serwerów DNS.
  2. Skorzystać z DHCP, który jest domyślnie aktywny na domowych routerach.

Oczywiście wolałem skorzystać z opcji 2, aby blokada zadziałała na każdym urządzeniu każdego domownika.

W czym problem?

Jak się okazało router, który posiadam nie umożliwiał w łatwy sposób ustawienia własnych serwerów DNS i za każdym razem o rozwiązanie nazwy domenowej to on był odpytywany, co w efekcie nie pozwalało na korzystanie z Pi-hole. Jedyne miejsce, które by pozwalało ustawić urządzeniom własne adresy serwerów DNS znajdowało się w konfiguracji DHCP.

Jak widać na powyższym zrzucie ekranu nie ma tu zbyt wiele do konfigurowania, a tym bardziej brakuje opcji ustawienia własnych serwerów DNS. Jednak jak się okazuje to nie wszystko. Wchodząc na tę stronę, na ułamek sekundy pojawia się formularz ustawiania podstawowego i zapasowego serwera DNS. Stąd można wywnioskować, że operator lub producent routera celowo ukrywa tą opcję. Na szczęście wystarczy pogrzebać trochę w kodzie strony i wymagane opcje się pojawiają 🙂 Zaraz pokażę jak to zrobić.

Rozwiązanie: Odkrywanie ukrytych bloków

Poniższa instrukcja została wykonana na routerze Huawei B315 z oprogramowaniem Plusa, ale prawdopodobnie ma zastosowanie do większości routerów, na których blokowanie konfiguracji zostało przeprowadzone z wykorzystaniem CSS. Poniższe czynności wykonuj szybko, bo może nastąpić automatyczne wylogowanie z sesji, strona się odświeży i w efekcie wszystkie czynności trzeba będzie powtarzać.

  1. Zaloguj się do panelu administracyjnego routera.
  2. Przejdź do zakładki Ustawienia > Ustawienia WiFi > DHCP.
  3. Otwórz narzędzia deweloperskie (klawisz F12).
  4. W polu przeszukiwania zawartości kodu wpisz frazę dhcp_primary_dns i naciśnij Enter.
  5. Kliknij dwukrotne na styl display: none; aby go zaznaczyć, gdy będzie zaznaczony naciśnij Delete i Enter.
  6. To samo zrób dla dhcp_secondary_dns.
  7. Pojawią się 2 pola dla ustawienia serwerów DNS. Możesz ustawić takie jakie potrzebujesz.
  8. Po ustawieniu kliknij Zastosuj.

Poniżej zrzut ekranu przedstawiający wszystkie opisane czynności:

Aby zastosować nową konfigurację serwerów DNS na wszystkich urządzeniach można spróbować kilku rzeczy:

  1. Uruchomić ponownie router – niektóre urządzenia za każdym razem odpytują serwer DHCP o adresację i w przypadku urządzeń mobilnych może odświeżyć konfigurację.
  2. Wykonać w wierszu polecenia komendę wymuszającą odpytanie serwera DHCP o konfigurację sieci:
    1. Windows: ipconfig /release && ipconfig /renew
    2. Linux: sudo dhclient -r && sudo dhclient
    3. OSX: sudo ipconfig set en0 DHCP
  3. Poczekać, aż skończy się dzierżawa i urządzenie samo odpyta DHCP o nową konfigurację.

Jeśli interesuje cię tematyka Pi-hole, Raspberry Pi lub chciałbyś podpatrzeć czym się aktualnie zajmuję, to zapraszam do odwiedzenia mojego bloga Kierznowski.pro, na którym piszę o tych i innych rzeczach, przeważnie związanych z IT 🙂