Запуск двох серверів DHCP в одній мережі


9

Я підключив свій малиновий пі з точкою бездротового доступу і хотів би запустити сервер DHCP на RPi, щоб правильно призначити IP та шлюз. Це тому, що RPi служить шлюзом до VPN. На жаль, у точці доступу також працює сервер DHCP, який я не можу деактивувати з якихось причин. Який найкращий спосіб автоматичного отримання правильних налаштувань від поширення RPi для всіх користувачів Wi-Fi?

Відповіді:


13

Веселе питання. В основному, якщо у вас є два сервери DHCP в одній локальній мережі, відбудеться гонка зі створення страв, і ви не можете бути впевнені, хто виграє: ви можете виявити деякі адреси, які подаються малиною, деякі - AP та a один пристрій, відключившись, не отримує повторно таку ж адресу, як раніше. Або, що ще гірше, у вас можуть бути два пристрої з однаковою адресою.

Тож гарна ідея заблокувати одне з двох. Найпростіше:

  1. По-перше, переконайтеся, що діапазони, з яких вони черпають адреси , не збігаються : у вас може бути 192.168.1.11-74 для одного, 192.168.1.139-202 для іншого. Принаймні, це запобігає конфліктам.

  2. Тепер ми заважаємо 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. Принаймні, це впорядковано.


Дякую! Але це означає, що я не можу нічого стосуватись клієнтів, підключених через wifi до AP, правда?
bonanza

2
@bonanza Боїться так: весь трафік від бездротових клієнтів до Ap ніколи не проходить через малину, ні запитів, ні відповідей. Тож немає можливості її заблокувати: все відбувається всередині AP.
MariusMatutiae
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.