Я разрабатываю версию openWRT SDK AA. Как настроить мостовой интерфейс между Ethernet и беспроводным интерфейсом? Могу ли я создать дополнительный интерфейс, скажем, A, помимо существующих WAN и LAN, а затем соединить интерфейс A и LAN?
1 ответ
Вы не можете соединить клиентские интерфейсы WiFi. Причина объясняется в OpenWrt Wiki:
Стандарт 802.11 использует только три MAC-адреса для кадров, передаваемых между точкой доступа и станцией. Кадры, передаваемые от станции к AP, не включают MAC-адрес источника Ethernet запрашивающего хоста, а в кадрах ответа отсутствует MAC-адрес Ethernet назначения, чтобы обратиться к целевому хосту за мостом клиента.
- Bridged Host отправляет пакет на целевой хост
- Кадр ретранслируется через W-LAN Client, а MAC-адрес передающего беспроводного адаптера используется в качестве исходного MAC-адреса, отправляющий MAC-адрес Ethernet-сети отбрасывается
- AP W-LAN получает кадр и перенаправляет его в цель
- Цель получает кадр и генерирует ответ
- Цель отвечает на полученный кадр, используя в качестве пункта назначения (неправильный) исходный MAC
- AP W-LAN передает кадр клиенту W-LAN с заданным MAC-адресом назначения. Клиент W-LAN принимает кадр и предполагает, что это конечный пункт назначения, поскольку его беспроводной MAC используется в кадре, пакет не пересылается. видит кадр ответа, так как клиент W-LAN стал пунктом назначения, соединение невозможно
Однако, в режиме точки доступа, шунтирующий возможно. Просто используйте следующее в /etc/config/wireless
:
config 'wifi-iface'
option 'network' 'lan'
...
В /etc/config/network
интерфейс lan
должен быть мостовым интерфейсом:
config 'interface' 'lan'
option 'type' 'bridge'
...
Конечно, вы можете использовать любое имя, а не только lan
.
Если вам просто нужен мост с несколькими интерфейсами, вы можете создать интерфейсы VLAN, которые ни к чему не «подключены».