У меня есть Pi с 2 беспроводными интерфейсами, один из которых подключен к сетевому шлюзу, а другой работает как точка доступа благодаря hostapd.
Точка доступа не работает с программным обеспечением DHCP или NAT, просто работает hostapt, чтобы позволить нескольким устройствам подключаться к ней.
Я пытаюсь подключить свой ноутбук к этой точке доступа.
Используя статический IP-адрес и ввод вручную адреса шлюза, DNS и т.д., Он работает отлично.
Однако, когда я пытаюсь подключиться с использованием DHCP, он не работает, из wireshark я вижу, что первоначальный пакет DHCP Discover отправляется точке доступа при попытке подключения. Однако этот пакет затем не пересылается из интерфейса, подключенного к шлюзу, несмотря на то, что у меня есть какое-то связующее ПО, которое я написал на python, работающем на Pi.
Программное обеспечение просто отправляет пакеты на противоположный интерфейс, на котором они были получены (упрощенное представление о том, что оно делает, но в этом и состоит общий сценарий, это сетевой мост). Таким образом, интерфейс AP должен получить пакет DHCP и переслать его на шлюз, который должен ответить предложением DHCP и т.д.
Программное обеспечение работает так, как я вижу другие сообщения DHCP на моем ноутбуке, которые прошли через программное обеспечение для мостовых подключений, а также другие DHCP обнаруживают / предлагают / запрашивают / подтверждают, что программное обеспечение для мостовых подключений отправляет на мой ноутбук в настоящий момент, потому что они трансляций.
Мне интересно, не является ли причина, по которой эти пакеты DHCP Discover не пересылаются на шлюз, из-за какой-то настройки или функции точки доступа hostapd?
Я уверен, что проблема не в написанном мною коде, так как он отлично работает для DNS и тому подобного.
Более того, если я вручную создаю пакет DHCP Discovery, он пересылается и выводится интерфейсом, подключенным к шлюзу, без проблем, пакеты DHCP не пересылаются, когда они автоматически отправляются моим ноутбуком, пытающимся получить и IP-адрес. с точки доступа, к которой он пытается подключиться.
Я бы предположил, что точке доступа не нужно напрямую указывать IP-адрес, но он может связаться с реальным DHCP-сервером в сети, чтобы назначить его правильно.
Если у кого-то есть идея, почему пакет, кажется, поглощается точкой доступа, прежде чем он может быть перенаправлен на другой интерфейс, пожалуйста, дайте мне знать!