Derzeit wechsle ich täglich zwischen den folgenden beiden Einstellungen:
1) Über ein WiFi-Netzwerk mit dem Internet verbunden sein.
2) Lassen Sie meinen (Ubuntu 16.04) Laptop über eine Kabelverbindung mit dem Internet verbinden und teilen Sie diese Verbindung dann über die integrierte Hot-Spot-Funktionalität von Ubuntu mit meinen anderen Geräten.
Im Moment muss ich beim Umschalten von 1 auf 2 den Dialog "Mit verstecktem Netzwerk verbinden" im Netzwerk-Manager manuell durchlaufen. Um von 2 auf 1 zu wechseln, muss ich mich manuell vom Hotspot trennen und eine Verbindung zum WiFi-Netzwerk herstellen. Es ist nicht viel Arbeit, aber ich mache es oft genug, um es automatisieren zu lassen.
Es ist nicht so einfach, die automatische Verbindung für den Hotspot zu aktivieren, da sie dann die Autoconnect-Funktionalität anderer Netzwerke außer Kraft setzt, anstatt mich mit einem WiFi-Netzwerk zu verbinden, wenn ich nicht über eine Kabelverbindung verbunden bin und am Ende einen Hotspot habe kein Internet. Also brauche ich eine Lösung, die:
- verbindet mich mit dem Hotspot, wenn ich über eine Kabelverbindung mit dem Internet verbunden bin.
- trennt mich vom Hotspot, wenn keine Ethernet-Verbindung besteht.
- Verbindet mich automatisch mit einem der Netzwerke mit autoconnect = true, wenn sie verfügbar sind und keine Ethernet-Verbindung besteht.
Eine vollständige Erklärung, wie dies zu tun ist, wäre großartig, aber ein Verweis auf ein gutes (nicht fachkundiges) Handbuch zum Einrichten solcher Regeln wäre auch sehr willkommen.
quelle
post-up
den/etc/network/interfaces
Kontext gibt es einen großen Überblick hier .post-up
ruft im Grunde nur Befehle oder Skripte auf, nachdem eine Schnittstelle aufgerufen wurde.Antworten:
Ich verstehe, dass beim Einstecken des Ethernet-Kabels die WLAN-Verbindung übertrumpft und die WLAN-Verbindung automatisch unterbrochen wird. In ähnlicher Weise wird durch das automatische Trennen des Ethernet-Kabels eine Verbindung zu Ihrem bevorzugten WLAN hergestellt (vorausgesetzt, Sie haben das Kontrollkästchen aktiviert, um auf der Registerkarte "Allgemein" des Netzwerkmanagers eine automatische Verbindung zu diesem WLAN-Netzwerk herzustellen. Getestet bei einer Standardinstallation von Ubuntu 16.04.3
Wenn ich Sie also richtig verstehe, möchten Sie den Hotspot-Dienst auf Ihrem Laptop nur automatisch starten, wenn das Ethernet-Kabel angeschlossen ist, und den Dienst deaktivieren, wenn das Ethernet-Kabel abgezogen wird.
Dies sollte ziemlich einfach mit einem Bash-Skript und zu tun sein
nmcli
bewerkstelligen sein, 'nmcli' ist ein leistungsstarkes Netzwerk-Tool, mit dem Sie Verbindungen nach Belieben auf und ab bringen und Tonnen relevanter Informationen erhalten können.Um herauszufinden, für welche Verbindungen Sie Skripte erstellen, führen Sie diese einfach aus,
nmcli -t monitor| grep primary
wenn Sie über WLAN verbunden sind, und schließen Sie Ihr Ethernet-Kabel an. Die Verbindungen, mit denen Sie auf und ab gehennmcli
möchten, sind diejenigen, die von'
s umgeben sind. Beispiel: 'Kabelverbindung 1' Die Logik lautet, dass bei Verbindung von 'Verbindung' der Hotspot aufgerufen wird (möglicherweise müssen Sie den Befehl verwendensleep
oder verwenden Der in Ihrem Skript auszuführende-w
Schalternmcli
wartet eine bestimmte Anzahl von Sekunden, bis ein Befehl abgeschlossen ist, bevor der nächste ausgegeben wird.Eine Verbindung nach unten zu bringen , ist so einfach , wie
nmcli 'connection name' down
und ein nach oben zu bringen , istnmcli 'connection name' up
Hinweis: Für die vollständige Kontrolle über das Skript müssen Sie möglicherweise die Option für die automatische Verbindung zumindest für Ihre WLAN-Verbindung im Netzwerkmanager deaktivieren, da versucht wird, eine automatische Verbindung herzustellen, sobald diese verfügbar ist, und das, was Sie erreichen möchten, beeinträchtigen kann. Auszug aus
man nmcli
:Sobald Sie festgestellt haben, dass Ihr Ethernet verbunden ist, können Sie die Befehle ausgeben, um die WLAN-Verbindung zu beenden. Beispiel:
nmcli connection my-wifi down
und dann die Hotspot-Verbindung. Beispiel:nmcli connection my-hotspot up
Weitere Informationen zum automatischen Ausführen von Skripten basierend auf der Netzwerkverbindung finden Sie hier. Weitere Informationen zu 'nmcli' finden Sie in der Manpage. Und hier finden Sie Informationen zum Erstellen eines Hotspots.
quelle
nmcli connection my-wifi down
, die Verbindung nie wieder hergestellt wird?Lösung, die es für mich getan hat (gefunden mit Hilfe von Elder Geek).
Ich hielt Autoconnect auf für alle Netze Ich möchte automatisch verbinden, aber aus für den Hot-Spot. Ich habe dann das folgende Skript (mit den richtigen Berechtigungen, wie auf dieser Wiki-Seite beschrieben ) in den Ordner gelegt
/etc/NetworkManager/dispatcher.d
Das funktioniert bisher sehr gut; Automatische Verbindung zum Hotspot, wenn das Ethernet-Kabel eingesteckt ist oder wenn der Computer mit eingestecktem Ethernet-Kabel startet oder aufwacht. Automatische Trennung vom Hotspot, wenn das Ethernet-Kabel herausgezogen wird, gefolgt von einer automatischen Verbindung zu verfügbaren WiFi-Netzwerken.
quelle