Plug and play для сетей с DHCP-сервером и без него

Plug and play для сетей с DHCP-сервером и без него

У меня есть устройство, которое можно использовать в двух разных сценариях.

  1. Одна из них заключается в том, что он подключен к обычной локальной сети Ethernet компании. В этой сети есть DHCP-сервер, и ожидается, что устройство будет DHCP-клиентом и автоматически получит IP-адрес.

  2. Второй сценарий заключается в том, что устройство подключается напрямую к ПК/ноутбуку с помощью кабеля Ethernet LAN. В этом случае ожидается, что устройство выберет свой собственный IP-адрес и также предоставит его ПК/ноутбуку. В этом случае устройство должно взять на себя роль DHCP-сервера.

Вы, вероятно, уже понимаете, к чему это приводит.Я не хочу, чтобы пользователю устройства приходилось что-то настраивать. Он должен иметь возможность просто подключить его, и оно будет работать.Теперь проблема в том, что надежное определение наличия другого DHCP-сервера в вашей сетижесткий. Да, я могу делать запросы DHCP и т. д. Я найду сервер в 99% случаев. Но в этот раз, когда я его не найду (например, из-за потери пакетов или длительного времени прохождения пакетов), если мое устройство затем станет сервером DHCP, оно отравит всю сеть компании, выдавая IP-адреса в неправильном диапазоне. Как мне решить эту проблему? Существуют ли какие-либо протоколы или меры безопасности, которые я могу предпринять, чтобыгарантированоне вмешиваться в работу корпоративной сети?

Мое устройство — клиентское устройство, предлагающее услугу, что-то вроде принтера. Оно работает под управлением OpenWRT. Я сам его компилирую и контролирую все файлы конфигурации. Обычно пользователи используют Windows 7,8 или 10. Как включить APIPA на OpenWRT? Или можно ли включить AVAHI и совместимо ли это с APIPA Windows?

решение1

Эта функция уже встроена в большинство IP-клиентов и называется APIPA: автоматическая частная IP-адресация.

Когда устройства подключаются к локальной сети, где нет DHCP-сервера, они общаются между собой и выбирают адреса APIPA. Обычно их легко идентифицировать, поскольку они начинаются с 169.254... и часто указывают на отсутствие управления локальной сетью или доступа в Интернет.

Они также означают, что когда вы знаете, что подключены к какой-либо сети, вы можете найти адреса APIPA других устройств в сети и взаимодействовать с ними, используя их адреса.

решение2

На маршрутизаторе

iptables -I INPUT 1 -i eth0 -p udp -m mac  ! --mac-source XX:XX:XX:XX:XX:XX -j DROP

Изменятьeth0к вашей сетевой карте.

Измените MAC-адрес.

The!означает НЕТ. Это создает белый список тех, ктотвойDHCP сервер будет общаться. Вы можете добавитьспорти/илиdportварианты при необходимости.

Включите DHCP-сервер.

Связанный контент