Веселе питання. В основному, якщо у вас є два сервери DHCP в одній локальній мережі, відбудеться гонка зі створення страв, і ви не можете бути впевнені, хто виграє: ви можете виявити деякі адреси, які подаються малиною, деякі - AP та a один пристрій, відключившись, не отримує повторно таку ж адресу, як раніше. Або, що ще гірше, у вас можуть бути два пристрої з однаковою адресою.
Тож гарна ідея заблокувати одне з двох. Найпростіше:
По-перше, переконайтеся, що діапазони, з яких вони черпають адреси , не збігаються : у вас може бути 192.168.1.11-74 для одного, 192.168.1.139-202 для іншого. Принаймні, це запобігає конфліктам.
Тепер ми заважаємо AP подавати IP-адреси провідним клієнтам. Припустимо, що AP підключено до малини на eth1 , тоді буде виконана наступна команда:
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
Ми зробили. Два коментарі:
DHCP використовує порти 67 і 68 для протоколу UDP; блокуючи зв’язок на них, ви не дозволяєте DHCP-запитам від провідних клієнтів потрапляти на сервер DHCP в AP; таким чином, провідні клієнти будуть обслуговуватися тільки малиною.
По-друге, потрібно підключити AP безпосередньо до малини (я знаю, що в малині є лише один порт Ethernet, який вже використовується: ви можете придбати адаптер USB-Ethernet, і ваша малина матиме другу карту Ethernet). Причина полягає в тому, що якщо ви підключите AP в комутатор, то DHCP запити та відповіді будуть надходити / надходити з AP, не проходячи через малину, таким чином команда iptables буде просто марною.
Редагувати:
Я забув сказати, що вищевказане правило iptables також запобігає надходженню запитів dhcp з AP на малину, так що зараз у вас є така ситуація, що DHCP-адреса в діапазоні 192.168.1.0xx надається малиною провідним клієнтам, тоді як Адреси в діапазоні 192.168.1.1xx надаються AP для клієнтів Wi-Fi. Принаймні, це впорядковано.