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:
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.
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.