Назад | Перейти на главную страницу

Сетевой мост - проблемы с DHCP и DNS

Задний план: Я разработчик встроенного проводного сетевого устройства, которое работает практически во всех конфигурациях, но бывают обстоятельства, когда оно не работает, и я занимаюсь устранением основных причин и устранением проблем.

Это вопрос, состоящий из нескольких частей, но о двух связанных вещах.

Вопрос 1 - порт не готов сразу после получения оператора связи

Сценарий: я настроил ПК с Windows 7 как мост между WiFi (Интернет через маршрутизатор с DHCP / DNS) и проводным встроенным устройством (прямое подключение). Когда проводное встроенное устройство выключено, порт ПК с Windows, к которому оно подключено, не работает. Когда я включаю устройство, оно в течение нескольких секунд отправляет обнаружение DHCP, но кажется, что порт ПК с Windows (или его часть драйвера) еще не готов, и нет ответа на пакет DHCP. Если позже я вручную отправлю DHCP-запрос, он сработает; Если я поставлю концентратор между ними, чтобы, когда встроенное устройство не отключало порт ПК, устройство правильно получало IP-конфигурацию от DHCP после включения.

Кажется, я обнаружил ту же проблему в (слишком многих) интеллектуальных маршрутизаторах, таких как Cisco, они также не хотят работать должным образом сразу после того, как оператор связи появляется в проводе.

Есть ли какие-либо настройки в операционных системах - Windows, Linux и Cisco IOS, которые я могу настроить так, чтобы порт становился доступным как можно быстрее после обнаружения оператора связи?

Вопрос 2 - DNS-ответ заблокирован

Та же настройка, что и выше - ПК с Windows в качестве моста между Wi-Fi (Интернет) и проводным (встроенное устройство). Встроенное устройство выдает DNS-запрос в проводе, я вижу, что этот запрос появляется на стороне WiFi, и вижу, что сторона WiFi ПК получает ответ от маршрутизатора, но этот ответ не появляется на проводной стороне.

Я понятия не имею, что может быть причиной этого блока, однако я выяснил, сравнивая пакеты, отправленные другим ПК, подключенным вместо встроенного устройства, которые отправляет встроенное устройство. не фрагментируйте флаг установлен принудительно.

Обновление: я вижу, что TCP-пакеты SYN / ACK также блокируются в мосте ПК с Windows 7 на пути к встроенному устройству. У меня должна быть какая-то настройка, чтобы предотвратить эту блокировку, но я не могу определить, что это может быть.

Я нашел ответ на странное поведение с заблокированными пакетами хостом Windows. Ответ прост - ПК с Windows думал, что эти пакеты предназначены для него самого!

Механизм моста, похоже, связан с трансляцией пакетов с одного интерфейса на другой, помещая MAC-адрес моста в пакеты. В моем случае я настроил хост ПК с Windows для получения IP-адреса с помощью DHCP, однако, когда проводное устройство пробовало DHCP, ПК с Windows заменял MAC-адрес этого устройства своим собственным, и, конечно же, маршрутизатор давал тот же IP-адрес этому устройству. Таким образом, было два устройства с одинаковыми IP-адресами, и какое бы встроенное устройство ни отправляло, (почти) все ответы (кроме DHCP, поскольку они являются широковещательными) заканчивались на входе в первое устройство в гирляндной цепи, имеющее этот IP-адрес (таким образом, на ПК с Windows).

Решение простое - я дал фиксированный IP-адрес хосту Windows, за пределами пула адресов DHCP.