Diese Frage wurde aktualisiert. Bitte lesen Sie das Ende dieses Beitrags.
Ich versuche, meinen Mythbuntu-Computer so einzurichten, dass er beim Start eine Verbindung zu einem VPN-Dienst herstellt. Ich hoffe, dass der Mythbuntu-Computer das VPN immer für alle seine Internetverbindungen verwendet.
Ich habe ein Skript gefunden , das das angeblich tun wird, und es sieht so aus:
#!/bin/bash
while [ "true" ]
do
VPNCON=$(nmcli con status)
if [[ $VPNCON != "*MyVPNConnectionName*" ]]; then
echo "Disconnected, trying to reconnect..."
(sleep 1s && nmcli con up uuid df648abc-d8f7-4ce4-bdd6-3e12cdf0f494)
else
echo "Already connected !"
fi
sleep 30
done
Wenn ich dieses Skript auf meinem Computer ausführe, wird folgende Fehlermeldung angezeigt:
$ /home/mythbuntu/VPN_start.sh
Disconnected, trying to reconnect...
Error: Connection activation failed: Not authorized to control networking.
Ich dachte, es könnte ein Berechtigungsproblem sein, also habe ich versucht, es mit sudo auszuführen:
$ sudo /home/mythbuntu/VPN_start.sh
[sudo] password for mythbuntu:
Disconnected, trying to reconnect...
Active connection state: unknown
Active connection path: /org/freedesktop/NetworkManager/ActiveConnection/1
state: VPN connecting (need authentication) (2)
Error: Connection activation failed: no valid VPN secrets.
Wie stelle ich sicher, dass dieses Skript fehlerfrei ausgeführt wird, damit ich es beim Booten ausführen oder mich anmelden kann, um sicherzustellen, dass ich immer über VPN eine Verbindung herstelle.
Wenn jemand ein besseres Skript oder eine bessere Methode hat, würde dies auch als Antwort ausreichen.
Dies sind die Inhalte meiner / etc / NetworkManager / system-connections / MyVPN-Datei (einige Details werden aus Datenschutzgründen durch x Zeichen ersetzt):
[connection]
id=MyVPN
uuid=xxxxxxxxxx-xxxx-xxxx-xxxxx-xxxxxxxxxxxxxxx
type=vpn
[vpn]
service-type=org.xxxxxxxxxxxxxx.xxxxxxxxxxxxxxx.openvpn
username=xxxxxxxxxx
comp-lzo=yes
remote=us-xxxxxx.xxxxxxx.com
connection-type=password
password-flags=0
ca=/etc/openvpn/xxxxxxx.crt
[vpn-secrets]
password=xxxxxxxxxxx
[ipv4]
method=auto
never-default=true
Außerdem möchte ich nur hinzufügen, dass das Einschalten des VPN über das Applet in der oberen rechten Ecke des Xfce-Panels kein Problem darstellt. Das Problem scheint mir nicht die falsche Autorisierung zu sein, sondern die Konfiguration, wenn Sie versuchen, dies über die Befehlszeile zu tun.
Aktualisieren:
Ich bin nicht ganz sicher, was sich geändert hat - möglicherweise im Upgrade auf 12.10 -, aber ich kann meinen VPN-Dienst jetzt über die Befehlszeile starten. Dieser Befehl funktioniert jedoch nur einmal, wenn ich den Computer zum ersten Mal starte, und er muss auch mit ausgeführt werden sudo
.
mythbuntu@mythbuntu:~$ nmcli con up id "Private Internet Access SSL"
Error: Connection activation failed: Not authorized to control networking.
mythbuntu@mythbuntu:~$ sudo nmcli con up id "Private Internet Access SSL"
[sudo] password for mythbuntu:
mythbuntu@mythbuntu:~$
Da ich sudo
dies ausführen muss, kann ich es beim Start nicht automatisch ausführen.
Wie bekomme ich es, damit ich mein VPN ohne Superuser-Berechtigungen starten kann?
/etc/NetworkManager/system-connections/ConnectionName
festhalte, ist, dass ich keine Datei hatte. Wenn also "Bearbeiten unter [vpn]" steht, bin ich mir nicht sicher, wie ich damit umgehen soll. Kann ich die Datei einfach erstellen?password-flags
Form 1 in 0. Verwenden Sie diese Option, um die Verbindungen aufzulistennmcli con
.Not authorized to control networking
Fehler angezeigt.So starten Sie VPN automatisch beim Start
Angenommen, Ihre Anmeldeinformationsdateien funktionieren, sollten Sie in der Lage sein, ein
dispatcher.d
Skript zu verwenden, wie Sie es ursprünglich zum Starten Ihres VPNs benötigt haben. Ich habe Ihr Skript ein wenig geändert, damit es mit 2 Verbindungen funktioniert (WLAN-Router zu Hause und Kabelverbindung bei der Arbeit). Der Grund dafür ist, dass ich möchte, dass das VPN gestartet wird, wenn es nicht gestartet wird, wenn eine meiner erforderlichen Internetverbindungen aktiv ist. In meinem Beispiel habe ich sie mit Standardnamen konfiguriert, aber Sie sollten sie so ändern, dass sie Ihren eigenen Namen entsprechen.Gib dies in die Datei ein
/etc/NetworkManager/dispatcher.d/vpn-up
und mache es ausführbar mitchmod +x
So konfigurieren Sie Client-Zertifikate in NetworkManager
Wenn Sie ein Client-Zertifikat mit Kennwort zur Authentifizierung bei Ihrem VPN verwenden, ist es ein bisschen undokumentiert.
Nach dem Durchsuchen der NetworkManager 0.9-Einstellungsspezifikation konnte ich nicht feststellen, wie ein VPN-Zertifizierungspass in der Konfigurationsdatei angegeben werden soll. Ich öffnete
seahorse
und fand mein " VPN-Geheimnis " (Zertifikatspasswort).Es wurde als " VPN-Zertifikat-Pass-Geheimnis für Mein VPN / org.freedesktop.NetworkManager.openvpn / vpn " aufgeführt. Ein Klick auf den Details-Tab gab mir einen Hinweis auf den
setting-key
Namen:So starten Sie ein VPN automatisch als root unter Ubuntu 12.04 (Precise Pangolin) mit NetworkManager 0.9.4.0:
Öffnen
/etc/NetworkManager/system-connections/My VPN
Sie dascert-pass
VPN-Geheimnis und fügen Sie es hinzu, damit die Datei wie folgt aussieht:quelle
system-connections
unterscheidet sich jedoch von Ihrer, sodass ich mir nicht sicher bin, ob ich Ihre Änderungen übernehmen soll. Ich habe keinkey
odertimestamp
und mein Verbindungstyp istpassword
nichttls
. Ich habe meine Datei zu meiner Frage hinzugefügt.connection-type=password
, sollten Sie wahrscheinlichpassword-flags=0
undpassword=YourPassword
unter der[vpn-secrets]
Überschrift verwenden, wie von devav2 vorgeschlagen.VPN_start.sh
keine Berechtigungen zum Verwalten des Netzwerks hat. Wenn Sie VPN-Verbindungen als Benutzer ohne Rootberechtigung verwalten möchten, müssen Sie der/etc/dbus-1/system.d/org.freedesktop.NetworkManager.conf
Datei möglicherweise einige Richtlinien hinzufügen .sudo
ausführen würde ? Wie in meiner Frage erwähnt, schlägt es fehl, wenn ich es auch mitsudo
starte.