Esta pregunta ha sido actualizada. Por favor, vea el final de esta publicación.
Estoy tratando de configurar mi computadora Mythbuntu para conectarse a un servicio VPN cuando se inicia. Mi esperanza es que la computadora Mythbuntu siempre use la VPN para todas sus conexiones a Internet.
Me encontré con un guión que supuestamente va a hacer eso, y se ve así:
#!/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
Cuando ejecuto este script en mi máquina, aparece el siguiente error:
$ /home/mythbuntu/VPN_start.sh
Disconnected, trying to reconnect...
Error: Connection activation failed: Not authorized to control networking.
Pensé que podría ser un problema de permiso, así que intenté ejecutarlo con sudo:
$ 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.
¿Cómo hago para que este script se ejecute sin errores para poder ejecutarlo en el arranque o iniciar sesión para asegurarme de que siempre me conecto por VPN?
Si alguien tiene un mejor guión o método, eso también sería suficiente como respuesta.
Estos son los contenidos de mi archivo / etc / NetworkManager / system-connections / MyVPN (algunos detalles se reemplazan con x caracteres para mayor privacidad):
[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
Además, solo quiero agregar que cuando enciendo la VPN usando el applet en la esquina superior derecha del panel Xfce, no se conecta. Entonces, el problema no me parece ser uno de autorización incorrecta, sino de configuración cuando intento hacer esto desde la línea de comandos.
Actualizar:
No estoy completamente seguro de qué ha cambiado, posiblemente algo en la actualización a 12.10, pero ahora puedo iniciar mi servicio VPN desde la línea de comandos. Sin embargo, este comando solo funciona una vez cuando inicio la computadora por primera vez, y también debe ejecutarse con él 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:~$
Como necesito usar sudo
para ejecutar esto, no puedo ejecutarlo automáticamente al inicio.
¿Cómo lo consigo para poder iniciar mi VPN sin permisos de superusuario?
/etc/NetworkManager/system-connections/ConnectionName
archivo, por lo que cuando dice "editar bajo [vpn]", no estoy seguro de cómo manejar eso. ¿Puedo simplemente crear el archivo?password-flags
formulario 1 a 0. Usenmcli con
para enumerar las conexiones.Not authorized to control networking
error.Para iniciar VPN automáticamente al inicio
Suponiendo que tiene sus archivos de credenciales funcionando, debería poder usar una
dispatcher.d
secuencia de comandos como la que originalmente tenía para iniciar su VPN. Modifiqué un poco tu script para que funcione con 2 conexiones (enrutador inalámbrico en casa y conexión por cable en el trabajo). La razón de esto es que quiero que inicie la VPN si no se inicia cuando alguna de mis conexiones a Internet requeridas está activa. En mi ejemplo, los configuré con nombres predeterminados, pero debe cambiarlos para que coincidan con sus propios nombres.Ponga esto en el archivo
/etc/NetworkManager/dispatcher.d/vpn-up
y haga ejecutable conchmod +x
Para configurar certificados de cliente en NetworkManager
Si está utilizando un certificado de cliente con contraseña para autenticarse en su VPN, es un poco indocumentado.
Después de navegar por la especificación de configuración de NetworkManager 0.9 , no pude determinar cómo especificar un pase de certificado vpn en el archivo de configuración. Abrí
seahorse
y encontré mi ' secreto VPN ' (contraseña del certificado).Se enumeró como algo así como ' VPN cert-pass secret for My VPN / org.freedesktop.NetworkManager.openvpn / vpn '. Al hacer clic en la pestaña de detalles me dio una pista para el
setting-key
nombre:Para iniciar una VPN automáticamente como root en Ubuntu 12.04 (Precise Pangolin) usando NetworkManager 0.9.4.0:
Abra
/etc/NetworkManager/system-connections/My VPN
y agregue elcert-pass
secreto VPN para que el archivo se vea así:fuente
system-connections
embargo, mi difiere del tuyo, así que no estoy seguro de aplicar tus ediciones. No tengo unkey
otimestamp
, y mi tipo de conexión espassword
, notls
. He agregado mi archivo a mi pregunta.connection-type=password
, probablemente debería estar usandopassword-flags=0
ypassword=YourPassword
debajo del[vpn-secrets]
encabezado como lo sugiere devav2.VPN_start.sh
no tiene permisos para administrar las redes. Si desea administrar las conexiones VPN como un usuario no root que no tiene permisos, es posible que deba agregar algunas políticas al/etc/dbus-1/system.d/org.freedesktop.NetworkManager.conf
archivo.sudo
? Como se señaló en mi pregunta, falla cuando lo ejecuto consudo
también.