Ich habe mein RPi so konfiguriert, dass beim Booten eine Verbindung zu einem 3G-Dongle hergestellt wird, indem ich ppp und wvdial aktiviert habe
/etc/network/interfaces
Der Pi fährt hoch und ich habe eine Internetverbindung. Perfekt.
Jetzt ist mein Problem, dass immer wenn ich den Pi über Ethernet an meinen Computer anschließe (unter Verwendung dieses Tutorials ), die Internetverbindung unterbrochen wird. Auch nach dem Trennen der Verbindung zu meinem Computer muss der Computer neu gestartet werden, damit die Internetverbindung wieder hergestellt werden kann.
Gibt es eine Möglichkeit, den Pi über die Dongle-Schnittstelle mit dem Internet zu verbinden, anstatt zu versuchen, über die Verbindung zu meinem Computer eine Verbindung herzustellen?
networking
ethernet
Jonathanwiesel
quelle
quelle
Antworten:
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:Die Zeile in dieser Ausgabe, die
0.0.0.0
angibt0.0.0.0
, in welche Richtung IP-Pakete gesendet werden, ist die Zeile mit einem Ziel und einer Genmaske von , die normalerweise alsdefault route
(eine Maske von0.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 also172.20.10.1
), und ich würde Folgendes tun:Löschen Sie die aktuelle Standardroute
Fügen Sie eine neue Standardroute für das andere Netzwerk hinzu
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 habewvdial
, 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:netstat -rn
undifconfig
.netstat -rn
? Wenn ja, gibt es eine Standardroute dazu?ifconfig
sehen Sie Schnittstelle für den Dongle (wahrscheinlichppp
)? ist esUP
?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 wurdeping
etwas (... irgendetwas ...) und prüfen Sie, ob die Verbindung zustande kommt.ppp
/wvdial
combo eine automatische Verbindungsmöglichkeit hat (abhängig von der Konfiguration)quelle
ip route
verwendet nicht ganz die gleiche Syntax. Sie können jedoch die Ausgabe kopieren und einfügen, um sie als Eingabe zu verwenden. Wenn dies beispielsweise angezeigt wirddefault via 192.168.9.1 dev eth0
, können Sie diese Route einfach durch Ausführen von entfernenip route del default via 192.168.9.1 dev eth0
. Sie können die Ausgabe einfach als Vorlage verwenden, um neue Befehle hinzuzufügen, zip route add default via 172.20.10.1 dev wlan0
.