Die Brücke zwischen wlan0 und eth0 funktioniert, aber die MAC-Adresse wird gemischt

416
Jake Psimos

Ich habe einen Zugangspunkt ( hostapd), auf dem läuft wlan0. wlan0und eth0sind überbrückt und eth0an einen Router angeschlossen. br0ist für DHCP konfiguriert und empfängt eine Adresse, die auf dem Router reserviert ist.

Lassen Sie die Box mit dem Access Point als Access Point-Box bezeichnet werden.

Gelegentlich zeigt der Router an, dass die Zugriffspunkt-Box eine MAC-Adresse des wlan0Geräts hat, anstatt der MAC-Adresse, eth0wie sie sollte.

Alle mit dem Access Point verbundenen Geräte zeigen ihre jeweiligen MAC-Adressen im Arp-Cache des Routers an.

Der Router verfügt über Regeln für die Bridge-Firewall, die erzwingen, dass alle Pakete von der DHCP-reservierten IP-Adresse der Zugriffspunktbox von der MAC-Adresse von stammen müssen, eth0damit die Box die Netzwerkverbindung verliert, wenn sich der MAC von eth0zu ändert wlan0. Wenn die Box die Verbindung verliert, können alle verbundenen Clients am Zugangspunkt weiterhin das Internet nutzen.

Ich konnte die Bridge-Regeln des Routers umgehen, indem ich die folgenden ebtablesBefehle für die Box verwende 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 

Obwohl die Access Point-Box niemals die Internetverbindung verliert, mischt der Arp-Cache des Routers immer noch die MAC-Adressen. Gibt es eine Möglichkeit, dies zu verhindern?

BEARBEITEN
Ich konnte dieses Problem umständlich lösen, indem ich die MAC-Adresse wlan0auf den gleichen MAC wie setzte eth0. Diese Lösung gefällt mir nicht und ich möchte, dass sie funktioniert, ohne den MAC wlan0direkt zu ändern .

1

1 Antwort auf die Frage

0
Jake Psimos

Gelöst musste ich arptables verwenden, um die Pakete, die wlan0 mac enthielten, auf den eth0 mac zu packen.