Как интерфейс WLAN домашнего маршрутизатора отвечает на запросы DHCP только во время соединения?

0

Используя VirtualBox, я создал виртуальную машину со следующими настройками сети VirtualBox :

Attached to: Bridged Adapter
Name: wlan0
...
..
.

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

Эта настройка работала хорошо, то есть гостевая ОС может взаимодействовать с Интернетом и другими ПК, подключенными к беспроводной сети. Моя проблема, когда я иду в некоторые места, которые имеют определенную модель маршрутизатора, например модель: ZXHN F660 .

Проблема с некоторыми моделями маршрутизаторов, такими как ZXHN F660, заключается в том, что гостевая ОС не получает ответа DHCP при настройке сетевого интерфейса во время загрузки.

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

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

Я отбрасываю некоторые ограничения IP-адресов для каждой беспроводной связи, потому что могу пинговать после назначения статического IP-адреса гостевой ОС (но, как я уже сказал, частота потери пакетов слишком высока).

Какой механизм использует эти маршрутизаторы для запрета ответов DHCP? Есть обходной путь?

Я на Ubuntu 14.04 с последней версией VirtualBox.

РЕДАКТИРОВАТЬ

Работа в сети с операционной системой хоста хорошо работает со всеми протестированными мной маршрутизаторами, поэтому исключается проблема, связанная с сетевой картой хоста.

GSI-откровенное
источник
@DavidSchwartz Хотя то, что вы написали, совершенно правильно, это не вся история: всегда есть proxy-arp , который, как я считаю, используется VirtualBox, чтобы позволить вам связать беспроводной сетевой адаптер с гостевым ником Ethernet. Вы можете найти здесь, blog.bodhizazen.net/linux/bridge-wireless-cards , прекрасный пример такого рода мостов. Я считаю, что объяснение проблем gsc-frank нужно искать в другом месте.
MariusMatutiae
Было бы полезно, если бы вы могли перехватить обменный трафик запроса dhcp. Вы можете сделать это легко с помощью tcpdump или, что еще проще, с помощью dhcpdump , которые можно загрузить из репозитория.
MariusMatutiae
@MariusMatutiae Проблема, о которой я говорю, не относится только к IP, и прокси-сервер ARP ее не исправит. Проблема не в том, что удаленные устройства не знают аппаратный адрес, а в том, что по спецификации WiFi мост запрещает помещать пакеты в провод, если их аппаратный адрес не совпадает с одним из его клиентов (если WDS не настроен).
Дэвид Шварц

Ответы:

2

Вы не можете подключиться к соединению клиента WiFi. Это запрещено спецификацией 802.11. Если бы вы могли, не было бы необходимости настраивать WDS в существующей точке доступа при расширении беспроводной сети - мы могли бы просто установить клиентское соединение с точкой доступа и подключиться к ней.

Некоторые маршрутизаторы по-разному нарушают спецификацию 802.11, чтобы заставить вещи, которые официально не должны работать, «просто работать» для удобства своих клиентов. Но вы абсолютно не можете положиться на это.

Проблема в том, что виртуальная машина и физическая машина имеют разные адреса сетевого оборудования. Соединяясь с Wi-Fi-соединением, вы предоставляете две разные аппаратные адреса точке доступа. Но у точки доступа есть только один беспроводной клиент, и это дает ей только один слот для аппаратного адреса.

Если мост передает пакеты с их исходными аппаратными адресами источника, спецификация 802.11 требует, чтобы точка доступа направляла пакеты, предназначенные только для одного из этих аппаратных адресов. Если мост проходит через пакеты с одинаковым аппаратным адресом, у него не будет надежного способа узнать, какие пакеты отправляются на хост, а какие - на виртуальную машину.

Правильным решением в соответствии со спецификацией 802.11 является WDS, который позволяет каждому беспроводному пакету иметь два аппаратных адреса назначения: один для конечной беспроводной точки и один для интерфейса Ethernet назначения. Но без WDS его можно подделать, только нарушив спецификации.

Вообще говоря, Wi-Fi и соединение не очень хорошо сочетаются. Вы можете использовать общий доступ к Интернету или что-либо на основе маршрутизации, а не мостов. Wi-Fi достаточно похож на Ethernet, чтобы люди ожидали, что он будет точно таким же, как Ethernet. Но это не так, и это одно из тех мест, где все по-другому.

Дэвид Шварц
источник
Спасибо за ваше превосходное объяснение, я искал что-то подобное! Еще раз спасибо.
gsi-frank
-1

К сожалению, не все компоненты WLAN созданы равными. Даже в 2014 году некоторые беспроводные сетевые адаптеры будут плохо работать с некоторыми точками доступа.

Я совершенно уверен, что это не имеет ничего общего с VirtualBox - попробуйте выполнить команду ping с вашего хоста в другое место в сети, и я уверен, что вы увидите такую ​​же потерю пакетов.

Я также уверен, что DHCP - это не причина, а симптом проблемы: процесс рукопожатия DHCP очень уязвим для потери пакетов, поэтому он может легко завершиться несколько раз подряд, создавая впечатление полного отказа.

Вещи, которые вы можете попробовать:

  • отключите режим Wireless N на вашей сетевой карте и / или маршрутизаторе / точке доступа
  • убедитесь, что оба находятся в одном и том же нормативном домене (маршрутизатор, установленный на США, и сетевой адаптер, установленный на Европу, часто не могут установить канал)
Евгений Рик
источник
Спасибо за ваш ответ. Я отредактировал свой вопрос, чтобы уточнить, что сетевая ОС хоста хорошо работает на всех маршрутизаторах. Проблема заключается в том, что когда я пытаюсь подключить виртуальную виртуальную машину VirtualBox с помощью сетевого адаптера хоста, который идеально подходит для хост-ОС, и проблема возникает только на гостевой ОС, сети хост-ОС продолжают работать хорошо после запуска виртуальной машины.
gsi-frank
ОП ясно дал понять, что проблема заключается в госте, а не в хозяине.
MariusMatutiae
@MariusMatutiae Да, он сделал это после того, как я написал ответ!
Евгений Рик
В РЕДАКТИРОВАТЬ, но это было кристально ясно
MariusMatutiae
Все, что вам подходит! из «Моя проблема, когда я иду в некоторые места, которые имеют определенную модель маршрутизатора, например модель: ZXHN F660». до редактирования я предполагал, что это действительно проблема, связанная с конкретным устройством.
Евгений Рик