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

У меня есть точка доступа (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 ответ

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

Другие вопросы по тегам