
Ich habe zwei Internetverbindungen. Eine Internetverbindung hat eine sehr hohe Latenz und es kommt zu Verbindungsschwankungen (zwischen dem Turm und dem WLAN-CPE ist ein Baum, das Signal schwankt also), aber zum Herunterladen ist alles in Ordnung, da die Verbindung nie auf 0 sinkt. Die andere ist eine Festnetzverbindung, die hat ein starkes Download-Limit.
Ich möchte also wlan0 für einige spezielle Programme wie Steam und Downloads usw. verwenden, also grundsätzlich Programme, die viele Daten verbrauchen.
Und ich möchte WLAN1 zum Surfen und für andere Dinge verwenden, mit weniger Daten.
Kurz gesagt, ich möchte bestimmte Programme über eine bestimmte Netzwerkkarte weiterleiten, ich habe keinen bestimmten IP-Bereich.
Ich kann beide über WLAN verbinden, da ich einen zusätzlichen WLAN-Adapter habe (wlan0,wlan1). Alternativ kann ich einen über Ethernet verbinden (wlan0,eth0).
Antwort1
Es könnte möglich sein, dass Ihr Prozess etwas hatiptables
kann übereinstimmen, wie z. B. eine bestimmte Gruppe. Für eine gegebene Gruppe to-wifi
könnten Sie beispielsweise iptables-Regeln wie diese haben:
iptables -A FORWARD --in-interface wlan0 -j ACCEPT
iptables -t nat -A OUTPUT -m owner --gid-owner to-wifi --out-interface wlan0 -j MASQUERADE
(Und bei aktivierter Weiterleitung: sysctl -w net.ipv4.conf.all.forwarding=1
.)
Wenn Sie Steam dann beispielsweise folgendermaßen ausführen:
sg to-wifi steam
Der gesamte Datenverkehr dieses Steam-Prozesses (+ aller untergeordneten Prozesse) wird von der Schnittstelle, über die er geleitet wurde, an die drahtlose Schnittstelle weitergeleitet.
Ich habe noch nie eine Umleitung von Schnittstelle zu Schnittstelle ausprobiert, habe aber iptables
den gesamten TCP-Verkehr von Steam durch Abgleich mit Gruppen auf einen Proxy umgeleitet. Daher reichen diese Regeln allein möglicherweise nicht aus.
Dies könnte erreicht werden, indem Sie Gruppen für jede Schnittstelle erstellen und sich selbst zu diesen hinzufügen. Verwenden Sie beispielsweise dieaddgroup
Undadduser
Befehle:
sudo addgroup to-wifi
sudo adduser $USER to-wifi
sudo addgroup for-eth0
sudo adduser $USER for-eth0
Sie müssen sich erneut anmelden, damit Ihre neuen Gruppenmitgliedschaften wirksam werden.
Verwandt:
Antwort2
Soweit ich weiß, gibt es keine Möglichkeit, das zu tun.
Dies kann mit iptables-Regeln für die jeweiligeHäfen+ Ziele, die sie für ihre Anschlüsse verwenden, aber mir ist keine lokale Möglichkeit dafür bekannt.