мост wlan0 to eth0 работает, но MAC-адрес перепутан

311
Jake Psimos

У меня работает точка доступа ( 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. Мне не нравится это решение, и я хочу, чтобы оно работало без wlan0непосредственного изменения MAC- адреса.

1

1 ответ на вопрос

0
Jake Psimos

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

Похожие вопросы