Angenommen, Sie arbeiten mit Linux (Raspian, Debian usw.):
Wenn Sie zwei verschiedene Fragen stellen, beantworte ich zunächst die Titelfrage:
Erzwinge, dass Raspberry das Internet von einem bestimmten Netzwerk bezieht
Ich werde mich auf Ihr Wort "Netzwerk" beschränken (im Gegensatz zu "Schnittstelle") und dies in einem reinen IP-Sinne beantworten:
Wenn Sie mehrere Verbindungen haben, die das Internet bereitstellen könnten, können Sie über die Routentabelle steuern, welche verwendet werden.
Zur Anzeige der Routing-Tabelle, die ich normalerweise verwende netstat -rn
( -r
ist für "Routing anzeigen ", -n
ist für "Nummern anzeigen, versuchen Sie nicht, DNS-Lookups durchzuführen, die möglicherweise hängen bleiben, wenn mein Internet nicht richtig konfiguriert ist"). Ein wirklich einfaches Beispiel würde so aussehen:
pi@homeServer ~ $ netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.9.1 0.0.0.0 UG 0 0 0 eth0
192.168.9.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
172.20.10.0 0.0.0.0 255.255.255.240 U 0 0 0 wlan0
pi@homeServer ~ $
Die Zeile in dieser Ausgabe, die 0.0.0.0
angibt 0.0.0.0
, in welche Richtung IP-Pakete gesendet werden, ist die Zeile mit einem Ziel und einer Genmaske von , die normalerweise als default route
(eine Maske von 0.0.0.0
ist alles Wildcard, das ist wirklich die Markierung einer Standardroute) bezeichnet wird, und Da es derzeit auf eine bestimmte Adresse im Bereich 192.168.9 verweist, erfolgt der Internetverkehr über die Ethernet-Schnittstelle.
Wenn ich mein Internet auf ein anderes Netzwerk umstellen möchte, verwende ich (als Root) den route
Befehl. In diesem Fall muss ich die IP-Adresse des Routers kennen, der dies kann, da meine WLAN-Verbindung keine Punkt-zu-Punkt-Verbindung ist leiten Sie Datenverkehr aus diesem Netzwerk weiter (in meinem Fall also 172.20.10.1
), und ich würde Folgendes tun:
Löschen Sie die aktuelle Standardroute
sudo route del default
Fügen Sie eine neue Standardroute für das andere Netzwerk hinzu
sudo route add default gw 172.20.10.1
Zu meiner Information, obwohl route
ich es verwende, sehe ich, dass es von einigen als veraltet angesehen wird und empfehle stattdessen die Verwendung des ip route
Befehls. Die Syntax finden Sie in @Freds Kommentar weiter unten. Referenz für die Abschreibung
Gibt es eine Möglichkeit, über die Dongle-Schnittstelle in Verbindung zu bleiben?
Es ist schon eine Weile her, dass ich mit ppp
und gearbeitet habe wvdial
, und ohne Configs (oder zumindest Verweise auf die Anleitungen, denen Sie beim Einrichten gefolgt sind) ist es wirklich schwer zu erraten, auf welche Probleme Sie gestoßen sind, aber als ein paar Ideen:
- Ist die Verbindung wirklich unterbrochen oder haben Sie gerade Ihre Standardroute verloren, als Ihr eth0 gestartet wurde?
- Überprüfen Sie dies in beiden
netstat -rn
und ifconfig
.
- Ist eine Schnittstelle in
netstat -rn
? Wenn ja, gibt es eine Standardroute dazu?
- In
ifconfig
sehen Sie Schnittstelle für den Dongle (wahrscheinlich ppp
)? ist es UP
?
- Ich kann mich nicht erinnern, wo
ppp
/ wvdial
log, aber das sollte überprüft werden. Dieses Protokoll informiert Sie über den Verbindungsstatus und sollte Sie darüber informieren, ob das gesamte System aus irgendeinem Grund heruntergefahren wurde
- Wenn Sie eine Schnittstelle sehen, versuchen Sie es mit
ping
etwas (... irgendetwas ...) und prüfen Sie, ob die Verbindung zustande kommt.
- Ich weiß, dass die
ppp
/ wvdial
combo eine automatische Verbindungsmöglichkeit hat (abhängig von der Konfiguration)
- Wenn die Verbindung einen Ping hat (oder die Verbindung die ganze Zeit über besteht), ist möglicherweise die (ppp) -Standardroute verloren gegangen, als Sie das Ethernet gestartet haben.
- Wenn dies das Problem ist, müssen Sie lediglich eine Standardroute hinzufügen, und das gesamte System wird wieder online geschaltet.