So leiten Sie den Datenverkehr auf Raspberry vom USB-Dongle-WLAN zur lokalen Anwendung um

So leiten Sie den Datenverkehr auf Raspberry vom USB-Dongle-WLAN zur lokalen Anwendung um

Guten Morgen, meine Herren, mein RPi 2 ist ein funktionierender Access Point mit zwei WLAN-Dongles (jeder mit seinem eigenen IP-Adressbereich); der RPi ist außerdem über ein LAN-Kabel mit meinem Modem verbunden.

Es bietet die grundlegendsten Zugriffspunkt-/Proxy-Dienste: Es nimmt eingehende Verbindungen über beide WLAN-Schnittstellen entgegen und sendet Daten über ein LAN-Kabel an mein Modem und ins externe Internet.

So weit, so gut: Jetzt möchte ich meinen RPi zu einem QOS-Manager machen: Er wird nicht nur Daten senden und empfangen, sondern auch bestimmten Verbindungstypen Priorität einräumen (z. B. Streaming über SMTP).

Ein Programm von mir kann das, aber ich habe es nur auf meinem Laptop getestet und werde es jetzt auf meinen RPi übertragen. Mein Programm akzeptiert eingehende Verbindungen auf einem festen Port (8000): Auf meinem Laptop habe ich ein Plugin in meinem Browser installiert, das den Verkehr auf Port 8000 umleitet, und es scheint alles einwandfrei zu funktionieren.

Jetzt werde ich es auf RPi setzen, aber ich weiß nicht, wie ich den Datenverkehr von beiden WLAN-Dongles zu meinem Programm auf Port 8000 umleiten kann.

Mir fehlen die Kenntnisse über das Routing, aber ich denke, dass dies mit zwei Regeln erreicht werden kann iptables, etwa so:

iptables -t nat -A PREROUTING -i wlan0 -p tcp -j REDIRECT --to-port 8000
iptables -t nat -A PREROUTING -i wlan1 -p tcp -j REDIRECT --to-port 8000

Diese beiden Regeln scheinen jedoch nicht zuzutreffen: Wenn ich mein Programm mit den beiden iptablesRegeln auf meinem RPi ausführe, wird keine Ausgabe angezeigt, sodass Verbindungen nicht wirklich auf Port 8000 umgeleitet werden, auf dem mein Programm tatsächlich lauscht.

Ich habe einige Beispiele gesehen, bei denen für die Umleitung --dportauch ein Flag erforderlich ist, aber ich weiß nicht, welcher Port das sein könnte.

Dies sind meine aktuellen iptablesRegeln für RPi:

-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i wlan0 -o eth0 -j ACCEPT
-A FORWARD -i eth0 -o wlan1 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i wlan1 -o eth0 -j ACCEPT

verwandte Informationen