1

У меня есть точка доступа (hostapd), работающая на wlan0 . wlan0 и eth0 соединены мостом, а eth0 подключен к маршрутизатору. br0 настроен для DHCP и получает адрес, зарезервированный на маршрутизаторе.

Пусть коробка с точкой доступа будет называться коробкой точки доступа.

Иногда маршрутизатор показывает, что в поле точки доступа есть MAC-адрес устройства wlan0 вместо MAC-адреса eth0 как и должно быть.

Любые устройства, подключенные к точке доступа, будут показывать свои соответствующие MAC-адреса в arp-кэше маршрутизатора.

Маршрутизатор имеет правила межсетевого экрана моста, которые предписывают, чтобы все пакеты с зарезервированного IP-адреса DHCP блока точки доступа приходили с MAC-адреса eth0 поэтому блок теряет сетевое подключение, когда MAC изменяется с eth0 на wlan0 . Когда ящик теряет связь, все связанные клиенты на точке доступа все еще могут использовать Интернет.

Мне удалось обойти правила моста маршрутизатора с помощью следующих команд ebtables на коробке с wlan0 .

ebtables -t nat -A PREROUTING -i eth0 -s $WLAN_MAC -j dnat --to-destination $LAN_MAC
ebtables -t nat -A POSTROUTING -o eth0 -s $WLAN_MAC -j snat --to-source $LAN_MAC

ebtables -t nat -A PREROUTING -i eth0 --logical-in br0 -s $WLAN_MAC -j dnat --to-destination $LAN_MAC
ebtables -t nat -A POSTROUTING -o eth0 --logical-out br0 -s $WLAN_MAC -j snat --to-source $LAN_MAC

Хотя окно точки доступа никогда не теряет подключения к Интернету, arp-кеш маршрутизатора все еще смешивает MAC-адреса. Есть ли способ предотвратить это?

РЕДАКТИРОВАТЬ
Я смог неуклюже решить эту проблему, установив MAC-адрес wlan0 на тот же MAC-адрес, что и eth0 . Мне не нравится это решение, и я хочу, чтобы оно работало без непосредственного изменения MAC- wlan0 .

1 ответ1

0

Решено, мне пришлось использовать arptables для манипулирования пакетами, которые содержали wlan0 mac, к eth0 mac.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .