Internet via USB-Schnittstelle (Tethering)
Verfasst: 24 Apr 2025, 19:56
Verwende meinen Raspberry Pi Zero W als USB-Stick. Sobald ich diesen im Server einstecke wird eine LAN-Verbindung via USB-Schnittstelle aufgebaut und der Stick geht über die Internertverbindung vom Server (bei mir Sparky-Linux) ins Internet.
Einstellungen auf Client damit der Server den USB-Stick überhaupt sieht
dtoverlay=dwc2 am Schluss einfügen nach [all], Einträge unter [cm4] und [cm5] löschen
nach rootwait -> modules-load=dwc2,g_ether eintragen, PS. darauf achten dass nur eine Zeile!
manueller Dienst damit sich der Client automatisch verbindet nach einem Neustart
und den Dienst aktivieren
nun sollte der Client bereit sein, dass er sich beim Verbinden zu einem server als usb-Verbindung zeigt zeigt die Netzwerkverbindungen des NetworkManager an
usb0 Verbindungen löschen wenn es solche hat
jetzt tragen wir eine neue Verbindung usb0 ein mit dem Namen "usb-shared"
ip4 verwenden
und so setzen dass diese automatisch verbindet, sobald die USB-Verbindung mit dem Client sichtbar ist
backup
und die Verbindung aktivieren
nochmals prüfen, nun sollte eine Verbindung mit usb0 angezeigt werden
nochmals auf den Client wechseln und prüfen
-> default via 10.42.0.1 dev usb0 proto dhcp src 10.42.0.158 metric 100
-> default via 192.168.31.1 dev wlan0 proto static metric 600
-> 10.42.0.0/24 dev usb0 proto dhcp scope link src 10.42.0.158 metric 100
-> 192.168.31.0/24 dev wlan0 proto kernel scope link src 192.168.31.34 metric 600
der Client hat nun zwei IP-Adressen, in meinem Beispiel 10.42.0.158 vom Server via usb und 192.168.31.34 via wlan vom Router
Falls es Probleme gibt, einfach fragen
Einstellungen auf Client damit der Server den USB-Stick überhaupt sieht
Code: Alles auswählen
sudo nano /boot/firmware/config.txt Code: Alles auswählen
sudo nano /boot/firmware/cmdline.txt Code: Alles auswählen
sudo nano /etc/systemd/system/dhclient-usb0.serviceCode: Alles auswählen
[Unit]
Description=DHCP Client for USB0
After=network.target
[Service]
Type=simple
ExecStart=/sbin/dhclient usb0 -v
Restart=always
[Install]
WantedBy=multi-user.target Code: Alles auswählen
sudo systemctl enable --now dhclient-usb0.servicenun sollte der Client bereit sein, dass er sich beim Verbinden zu einem server als usb-Verbindung zeigt
- Auch auf dem Sever verwenden wir den NetworkManager (bei mir läuft der Server unter Sparky-Linux)
Code: Alles auswählen
nmcli connection showCode: Alles auswählen
sudo nmcli connection delete 'Kabelgebundene Verbindung 1' Code: Alles auswählen
sudo nmcli connection add type ethernet ifname usb0 con-name usb-shared ipv4.method sharedCode: Alles auswählen
sudo nmcli connection modify usb-shared ipv4.method sharedCode: Alles auswählen
sudo nmcli connection modify usb-shared connection.autoconnect yesCode: Alles auswählen
sudo nmcli connection modify usb-shared connection.interface-name usb0Code: Alles auswählen
nmcli connection up usb-sharedCode: Alles auswählen
nmcli connection shownochmals auf den Client wechseln und prüfen
Code: Alles auswählen
ip route show-> default via 192.168.31.1 dev wlan0 proto static metric 600
-> 10.42.0.0/24 dev usb0 proto dhcp scope link src 10.42.0.158 metric 100
-> 192.168.31.0/24 dev wlan0 proto kernel scope link src 192.168.31.34 metric 600
der Client hat nun zwei IP-Adressen, in meinem Beispiel 10.42.0.158 vom Server via usb und 192.168.31.34 via wlan vom Router
Falls es Probleme gibt, einfach fragen