Openwrt im Bridge-Modus - ebtables-Kernelfehler

983
Enes Aldemir

Ich habe zu Hause ein Setup wie folgt:

DHCP clients -----> (wifi)(bridge) Openwrt -----> (eth)Main Router 

Das Gerät, das ich verwende, ist TPlink MR3020 mit Barrier Breaker, und ich habe versucht, einen transparenten Proxy für den Bridge-Verkehr einzurichten. Ich möchte die Pakete, die durch die Bridge geleitet werden, an den Proxyserver ( privoxy) umleiten . Ich habe versucht zu benutzen ebtables. Aber wenn ich den folgenden Befehl eingebe:

ebtables -t broute -A BROUTING -p IPv4 --ip-protocol 6 --ip-destination-port 80 -j redirect --redirect-target ACCEPT 

Ich habe folgenden Fehler erhalten:

Unable to update the kernel. Two possible causes: 1. Multiple ebtables programs were executing simultaneously. The ebtables userspace tool doesn't by default support multiple ebtables programs running concurrently. The ebtables option --concurrent or a tool like flock can be used to support concurrent scripts that update the ebtables kernel tables. 2. The kernel doesn't support a certain ebtables extension, consider recompiling your kernel or insmod the extension. 

Ich habe versucht, das IPv4-Paket mit zu aktivieren insmod, aber kein Glück.

Irgendwelche Ideen, wie man das erreichen kann?

1

1 Antwort auf die Frage

0
codemonk113

Diese Fehlermeldung resultiert normalerweise aus fehlenden Kernelmodulen. Die korrekte Syntax und Reihenfolge für das Laden der benötigten sollte lauten:

insmod ebtables #load ebtables

insmod ebtable_filter #load Filtertabelle [nicht unbedingt erforderlich]

insmod ebtable_broute #load broute table

insmod ebt_ip # Laden Sie die IP-Filterung

insmod ebt_redirect #load umleiten

lsmod #check, dass sie aktiv sind

Danke, aber es gibt kein Glück. Ich habe versucht, das zu tun, was Sie gesagt haben, aber ich nehme 'fehlgeschlagen, um ebt_ip zu finden. Vielleicht ist es ein eingebautes Modul? `Fehler. Ich habe schon früher versucht, dieses Modul zu finden, konnte es aber nicht finden. Wissen Sie, wie ich diesen Fehler überwinden kann? Enes Aldemir vor 8 Jahren 0
Wenn Sie es in der Ausgabe von `find / -iname" * ebt ​​* "` sehen, können Sie `insmod` mit vollem Pfad eingeben. Ist dies nicht der Fall, müssen Sie das entsprechende Modul für Ihren Kernel finden und es manuell hinzufügen. codemonk113 vor 7 Jahren 0