Uruchamianie dwóch serwerów DHCP w tej samej sieci

9

Połączyłem swoje Raspberry Pi z bezprzewodowym punktem dostępu i chciałbym uruchomić serwer DHCP na RPi, aby poprawnie przypisać adres IP i bramę. Wynika to z faktu, że RPi służy jako brama do VPN. Niestety punkt dostępu działa również z serwerem DHCP, którego z jakiegoś powodu nie mogę dezaktywować. Jaki jest najlepszy sposób, aby automatycznie uzyskać prawidłowe ustawienia z rozprzestrzeniania się RPi wśród wszystkich użytkowników Wi-Fi?

szczęście
źródło

Odpowiedzi:

13

Zabawne pytanie. Zasadniczo, jeśli masz dwa serwery DHCP w tej samej sieci LAN, odbędzie się wyścig o rozdysponowanie adresów i nie możesz być pewien, kto wygra: możesz skończyć z niektórymi adresami obsługiwanymi przez malinę, niektóre przez AP i pojedyncze urządzenie, po odłączeniu, nie uzyskuje tego samego adresu co poprzednio. Lub, co gorsza, możesz mieć dwa urządzenia o tym samym adresie.

Dlatego dobrym pomysłem jest zablokowanie jednego z dwóch. Najłatwiej jest:

  1. Po pierwsze, upewnij się, że zakresy, z których rysują adresy , nie pokrywają się : możesz mieć 192.168.1.11-74 dla jednego, 192.168.1.139-202 dla drugiego. Przynajmniej zapobiega to konfliktom.

  2. Nie pozwalamy teraz AP na obsługiwanie adresów IP klientom przewodowym. Załóżmy, że AP jest podłączony do maliny na eth1 , a następnie następujące polecenie:

    sudo iptables  -A INPUT -i eth1 -p udp --dport 67:68 --sport 67:68 -j DROP
    sudo iptables  -A OUTPUT -i eth1 -p udp --dport 67:68 --sport 67:68 -j DROP  
    

Skończyliśmy. Dwa komentarze:

DHCP używa portów 67 i 68 w protokole UDP; blokując komunikację na nich, uniemożliwiasz klientom DHCP wysyłanie żądań do serwera DHCP w punkcie dostępowym; w ten sposób przewodowi klienci będą obsługiwani tylko przez malinę.

Po drugie, musisz podłączyć AP bezpośrednio do malinowego (wiem, że malina ma tylko jeden port Ethernet, który jest już używany: możesz kupić adapter USB-Ethernet, a twoja malina będzie miała drugą kartę Ethernet). Powodem jest to, że jeśli podłączysz AP do przełącznika, żądania i odpowiedzi DHCP będą docierać / przychodzić z AP, bez przechodzenia przez malinę, dlatego polecenie iptables będzie po prostu bezużyteczne.

EDYTOWAĆ:

Zapomniałem powiedzieć, że powyższa reguła iptables zapobiega również przepływowi żądań dhcp z punktu dostępowego do malinowego, więc obecna sytuacja polega na tym, że adres DHCP z zakresu 192.168.1.0xx jest przekazywany przez malinowe klientom przewodowym, podczas gdy adresy w zakresie 192.168.1.1xx są przekazywane przez AP klientom Wi-Fi. Przynajmniej jest to uporządkowane.

MariusMatutiae
źródło
Dzięki! Ale to oznacza, że ​​nie mogę nic na temat klientów podłączonych przez Wi-Fi do AP, prawda?
bonanza
2
@bonanza Obawiam się: cały ruch od klientów bezprzewodowych do Ap nigdy nie przechodzi przez malinę, ani żądania, ani odpowiedzi. Więc nie ma sposobu, aby to zablokować: wszystko odbywa się w AP.
MariusMatutiae