Einzelnen Download durch anderes Netzwerkgerät herunterladen
-
- Beiträge: 660
- Registriert: 11.10.2012 14:18:37
- Lizenz eigener Beiträge: GNU General Public License
Einzelnen Download durch anderes Netzwerkgerät herunterladen
Hallo,
da sich der Breitbandausbau bei uns weiter verzögert, habe ich aktuell Zugriff auf 2 Leitungen: meine eigene und die meiner Eltern per WLAN-Repeater. Meine Eltern nutzen das nur wenig, ich habe mit denen vereinbart, dass ich DLs auf maximal 80% der Bandbreite begrenze. Bisher habe ich da einfach meinen Laptop gestartet und das WLAN gewechselt. Normal mache ich größere DLs über meinen Raspberry Pi. Der ist per LAN-Kabel an meiner Fritzbox verbunden, hat aber auch internes WLAN und ich kann 2 Verbindungen gleichzeitig herstellen.
Dazu 2 Fragen:
[*]Auf dem Pi läuft aktuell Bullseye, da ich dort sehr viele Sachen eingerichtet habe und Bullseye noch Updates bekommt (und ich keine Zeit für eine umständliche Neueinrichtung habe) bleibt das auch. Wie kann ich hier sicherstellen, dass normal alle Downloads über die LAN-Verbindung gemacht werden? Kann man die beiden priorisieren? Die NetworkManager-GUI unter Ubunut kann das.
[*]Wie kann ich gezielt einen einzelnen DL (z. B. youtube-dl oder wget) über die WLAN-Verbindung routen?
Grüße
Richard
da sich der Breitbandausbau bei uns weiter verzögert, habe ich aktuell Zugriff auf 2 Leitungen: meine eigene und die meiner Eltern per WLAN-Repeater. Meine Eltern nutzen das nur wenig, ich habe mit denen vereinbart, dass ich DLs auf maximal 80% der Bandbreite begrenze. Bisher habe ich da einfach meinen Laptop gestartet und das WLAN gewechselt. Normal mache ich größere DLs über meinen Raspberry Pi. Der ist per LAN-Kabel an meiner Fritzbox verbunden, hat aber auch internes WLAN und ich kann 2 Verbindungen gleichzeitig herstellen.
Dazu 2 Fragen:
[*]Auf dem Pi läuft aktuell Bullseye, da ich dort sehr viele Sachen eingerichtet habe und Bullseye noch Updates bekommt (und ich keine Zeit für eine umständliche Neueinrichtung habe) bleibt das auch. Wie kann ich hier sicherstellen, dass normal alle Downloads über die LAN-Verbindung gemacht werden? Kann man die beiden priorisieren? Die NetworkManager-GUI unter Ubunut kann das.
[*]Wie kann ich gezielt einen einzelnen DL (z. B. youtube-dl oder wget) über die WLAN-Verbindung routen?
Grüße
Richard
Re: Einzelnen Download durch anderes Netzwerkgerät herunterladen
Leider habe ich kein Gerät mit zwei Netzwerken. Aber ich gehe mal davon aus, dass dein Raspberry Pi damit in zwei Subnetzen z. B. 192.168.0/24 und 192.168.1/24 ist.
Erste Idee zu deinen eigentlichen Fragen:
Große Downloads nutzen ja heutzutage meistens HTTP/HTTPS. Vielleicht kannst du auf deinem Raspberry Pi ein Proxy wie Squid oder besser Tinyproxy installieren, der dann den Weg über WLAN geht. Alles was nun über WLAN gehen soll, ist nur über den Proxy möglich. Mindestens bei wget solltest du einen Proxy angeben können. Vielleicht vom PC etwas unpraktisch über den Pi. Auch musst du wohl ein paar Routing-Regeln bzw. Masquerading für den Weg über LAN konfigurieren.
Bessere Lösung 1:
Vereinbare doch einfach mit deinen Eltern einen Zeitraum. Wenn sie ihr Internet nicht wirklich brauchen (nachts, morgens, ...), könntest du es einfach direkt verwenden und größere Downloads durchführen. Ok dann bleibt es aber weiterhin manuell.
Bessere Lösung 2 falls das WLAN deiner Eltern schneller ist:
In DSL-Routern kann man manchmal Bandbereitenbeschränkungen einrichten. Vielleicht kannst du das bei deinen Eltern verwenden und du dein Internet abschaffen.
Bessere Lösung 3 falls das WLAN deiner Eltern schneller ist:
Besorg dir den Nano-Router TL-WR802N für 20 Euro, verwende ihn im WISP-Modus und beschränke die Bandbreite des WLAN-Netzes deiner Eltern über den Nano-Router entsprechend deren Bandbreite. Vielleicht sicherheitshalber auf 50%. Verzichte auf dein einiges Internet. Ich habe es gerade im WISP-Modus ausprobiert und die Bandbreitenbeschränkung funktioniert getestet mit https://fast.com problemlos. Der Ethernet-Port im WISP-Modus ist ein LAN-Port im ge-NAT-tetem Netzwerk. Somit kannst du auch problemlos Geräte mit LAN-Kabel anschließen. Der Nano-Router benötigt 0,85 Watt also weit weniger als ein Raspberry Pi.
How to configure Bandwidth Control on TL-WR802N
Nachtrag: Bei Änderung der Bandbreite im Nano-Router musst du nur den Wert im Webinterface ändern und speichern. Booten musst du den Nano-Router nicht.
Erste Idee zu deinen eigentlichen Fragen:
Große Downloads nutzen ja heutzutage meistens HTTP/HTTPS. Vielleicht kannst du auf deinem Raspberry Pi ein Proxy wie Squid oder besser Tinyproxy installieren, der dann den Weg über WLAN geht. Alles was nun über WLAN gehen soll, ist nur über den Proxy möglich. Mindestens bei wget solltest du einen Proxy angeben können. Vielleicht vom PC etwas unpraktisch über den Pi. Auch musst du wohl ein paar Routing-Regeln bzw. Masquerading für den Weg über LAN konfigurieren.
Bessere Lösung 1:
Vereinbare doch einfach mit deinen Eltern einen Zeitraum. Wenn sie ihr Internet nicht wirklich brauchen (nachts, morgens, ...), könntest du es einfach direkt verwenden und größere Downloads durchführen. Ok dann bleibt es aber weiterhin manuell.
Bessere Lösung 2 falls das WLAN deiner Eltern schneller ist:
In DSL-Routern kann man manchmal Bandbereitenbeschränkungen einrichten. Vielleicht kannst du das bei deinen Eltern verwenden und du dein Internet abschaffen.
Bessere Lösung 3 falls das WLAN deiner Eltern schneller ist:
Besorg dir den Nano-Router TL-WR802N für 20 Euro, verwende ihn im WISP-Modus und beschränke die Bandbreite des WLAN-Netzes deiner Eltern über den Nano-Router entsprechend deren Bandbreite. Vielleicht sicherheitshalber auf 50%. Verzichte auf dein einiges Internet. Ich habe es gerade im WISP-Modus ausprobiert und die Bandbreitenbeschränkung funktioniert getestet mit https://fast.com problemlos. Der Ethernet-Port im WISP-Modus ist ein LAN-Port im ge-NAT-tetem Netzwerk. Somit kannst du auch problemlos Geräte mit LAN-Kabel anschließen. Der Nano-Router benötigt 0,85 Watt also weit weniger als ein Raspberry Pi.
How to configure Bandwidth Control on TL-WR802N
Nachtrag: Bei Änderung der Bandbreite im Nano-Router musst du nur den Wert im Webinterface ändern und speichern. Booten musst du den Nano-Router nicht.
Re: Einzelnen Download durch anderes Netzwerkgerät herunterladen
Mit hilfe einer besseren metric, für die Route über die LAN-Verbindung.Richard hat geschrieben:13.01.2025 14:59:24Wie kann ich hier sicherstellen, dass normal alle Downloads über die LAN-Verbindung gemacht werden? Kann man die beiden priorisieren?
Mit einer _definierten_ Route die das WLAN-Interface als gateway benutzt, zum DL-Server (öffentliche IP-Adresse).Richard hat geschrieben:13.01.2025 14:59:24[*]Wie kann ich gezielt einen einzelnen DL (z. B. youtube-dl oder wget) über die WLAN-Verbindung routen?
Testen/zeigen der definierten Route mit:
Code: Alles auswählen
ip r g <öffentliche IP-Adresse-DL-Server>
Debian 12.10 mit LXDE, OpenBSD 7.6 mit i3wm, FreeBSD 14.2 mit Xfce
-
- Beiträge: 660
- Registriert: 11.10.2012 14:18:37
- Lizenz eigener Beiträge: GNU General Public License
Re: Einzelnen Download durch anderes Netzwerkgerät herunterladen
Diese routen ändern doch den gesamten Netzwerkverkehr. Es spielt also keine Rolle mit welchem tool ich etwas lade. Ich will in der Lage sein einfach einen download über wlan0 zu machen während etwa anderes über den eth geladen wird. Gibt es keine möglich durch ein prefix einen Aufruf über wlan0 zu routen ohne am Rest etwas zu ändern?
Ich habe gelesen, dass curl so eine Funktion hat. Bisher aber ungetestet.
Ich habe gelesen, dass curl so eine Funktion hat. Bisher aber ungetestet.
Re: Einzelnen Download durch anderes Netzwerkgerät herunterladen
Warum sollte eine einzelne _definierte_ Route, den gesamten Netzwerkverkehr ändern?
Du meinst diese Option:Richard hat geschrieben:17.01.2025 22:32:30... download über wlan0 zu machen während etwa anderes über den eth geladen wird. Gibt es keine möglich durch ein prefix einen Aufruf über wlan0 zu routen ohne am Rest etwas zu ändern?
Ich habe gelesen, dass curl so eine Funktion hat. Bisher aber ungetestet.
von curl? Du kannst ja mal probieren und dann bzw. während des Downloads, mit tcpdump (oder mindestens gleichwertig) schauen/testen/sniffen, ob wlan0 als (finales/letztes Ausgangs-gateway/-device) output-Interface auf deinem System benutzt wird.--interface <name>
Perform an operation using a specified interface. You can enter interface name, IP address or host name. An example could look like:
curl --interface eth0:1 https://www.example.com/
If --interface is provided several times, the last set value will be used.
curl --interface eth0 https://example.com
Debian 12.10 mit LXDE, OpenBSD 7.6 mit i3wm, FreeBSD 14.2 mit Xfce
-
- Beiträge: 660
- Registriert: 11.10.2012 14:18:37
- Lizenz eigener Beiträge: GNU General Public License
Re: Einzelnen Download durch anderes Netzwerkgerät herunterladen
Sorry, so richtig verstehe ich das nicht. Ich dachte ich lege mit einer Route fest, dass zukünftig (bis zum Neustart) der gesamte Datenverkehr über diese Route läuft. Man findet zwar viel im Netz, ich finde die dortigen Beispiele aber unbrauchbar. Kann mir jemand ein konkretes Beispiel geben wie das bei mir aussehen würde, ich denke dann wird das klarer.
Ich habe jetzt Ethernet und eine WLAN-Verbindung zu 2 verschiedenen Routern:
Angenommen ich möchte nun mit wget oder Firefox etwas über WLAN statt Thernet herunterladen. Wie müsste das aussehen?
Ich habe jetzt Ethernet und eine WLAN-Verbindung zu 2 verschiedenen Routern:
Code: Alles auswählen
2: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether b0:6e:bf:c4:68:89 brd ff:ff:ff:ff:ff:ff
inet 192.168.10.21/24 brd 192.168.10.255 scope global noprefixroute enp5s0
valid_lft forever preferred_lft forever
3: wlx001f1fac5284: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:1f:1f:ac:52:84 brd ff:ff:ff:ff:ff:ff
inet 192.168.178.36/24 brd 192.168.178.255 scope global dynamic noprefixroute wlx001f1fac5284
valid_lft 863501sec preferred_lft 863501sec
inet6 fe80::9296:14ef:9246:a480/64 scope link noprefixroute
valid_lft forever preferred_lft forever
Re: Einzelnen Download durch anderes Netzwerkgerät herunterladen
Für den Weg sind weniger die Netzwerkkarten als das zugehörige Routing zuständig. Für das Internet ist die Default-Route, das Default-Gateway bzw. 0.0.0.0 interessant.
Wie sieht denn dein aktuelles Routing aus? Hier ein paar Möglichkeiten es auszugeben:
Sehr wahrscheinlich findet dein Default-Routing über enp5s0 / 192.168.10.21 bzw. den Router in dem Netzwerk statt. Das müsstest du dann ändern auf wlx001f1fac5284 / 192.168.178.36 bzw. den zugehörigen Router.
Ich hatte oben weiter von der Idee eines Proxy wie Tinyproxy oder Squid geschrieben. Aber auch der muss natürlich per Routing das ganze Internet (dann über WLAN) erreichen.
Wie sieht denn dein aktuelles Routing aus? Hier ein paar Möglichkeiten es auszugeben:
Code: Alles auswählen
ip route show
ip r
route -n
netstat -rn
Ich hatte oben weiter von der Idee eines Proxy wie Tinyproxy oder Squid geschrieben. Aber auch der muss natürlich per Routing das ganze Internet (dann über WLAN) erreichen.
Re: Einzelnen Download durch anderes Netzwerkgerät herunterladen
Naja, i. d. R. hast Du 2 Routen für den "gesamten" Datenverkehr. Eine Route (nicht definierte, d. h. die default Route) für die (noch) unbekannten Ziele im Internet und eine definierte Route für die schon bekannten Ziele (und das ist dein W/LAN bzw. das Subnetz deines Routers). Siehe z. B. Ziel-IP-Adresse und gateway-IP-Adresse (in einer default-Route und zwei definierten Routen):Richard hat geschrieben:18.01.2025 14:11:35Ich dachte ich lege mit einer Route fest, dass zukünftig (bis zum Neustart) der gesamte Datenverkehr über diese Route läuft.
Code: Alles auswählen
:~$ ip r g 1.1.1.1
1.1.1.1 via 192.168.178.1 dev eth0 src 192.168.178.4 uid 1000
cache initcwnd 30 initrwnd 30
Code: Alles auswählen
:~$ ip r g 192.168.178.13
192.168.178.13 dev eth0 src 192.168.178.4 uid 1000
cache
Code: Alles auswählen
:~$ ip r g 192.168.55.16
192.168.55.16 dev wg3 src 192.168.55.14 uid 1000
cache
Debian 12.10 mit LXDE, OpenBSD 7.6 mit i3wm, FreeBSD 14.2 mit Xfce