Iniciar el cliente OpenVPN automáticamente en el arranque

34

Estoy tratando de hacer que OpenVPN se inicie automáticamente en el arranque. Hoy tengo que escribir manualmente

sudo openvpn --client --config $HOME/openvpn/anonine.ovpn --ca $HOME/openvpn/anonine.ca.crt 

seguido de nombre de usuario y contraseña. ¿Hay una buena manera de hacer esto automático en el arranque?

usuario280409
fuente

Respuestas:

42

Editar /etc/default/openvpn. Simplemente presione Ctrl+ Alt+ Ten su teclado para abrir Terminal. Cuando se abra, ejecute los siguientes comandos:

sudo gedit /etc/default/openvpn

Descomenta la AUTOSTART="all"línea. Guardar y cerrar. Reinicie su sistema.

imagen

Mitch
fuente
(i) ¿Cómo se puede iniciar una VPN específica de esa manera? (ii) ¿Quién proporciona la autenticación para una conexión iniciada de esta manera (¿puede iniciar conexiones sin que la combinación de nombre de usuario y contraseña se almacene en texto plano)? (iii) Si es posible, los métodos cli son preferibles (permite la implementación en un servidor sin cabeza). Puedo sustituir nanopor gedit, pero no puedo utilizar nm-applet para almacenar credenciales en el llavero.
Jonathan Y.
@JonathanY. Eche un vistazo a estos recursos disponibles, Aquí y Aquí . También puede considerar hacer una nueva pregunta.
Mitch
66
Muy agradecido. Por lo que puedo decir, la respuesta a (i) (que está dentro del alcance de esta pregunta) es que AUTOSTART="all"intenta iniciar cada .confarchivo /etc/openvpn(aunque me encantaría tener confirmación). Una respuesta a (ii) también tiene un alcance razonable con esta pregunta: no puede iniciar automáticamente una conexión VPN a menos que los secretos estén disponibles sin la entrada del usuario (el llavero es preferible al texto sin formato por razones obvias). Admito que (iii) es extracurricular y bien podría merecer una nueva pregunta. Sin embargo, ninguno de ellos recibe respuesta en estos enlaces, que puedo ver.
Jonathan Y.
Como dice el comentario en la imagen, el valor predeterminado para AUTOSTART es en realidad "todos". Por lo tanto, esta edición no es necesaria, en mi opinión.
Yves B
1
@YvesB El valor predeterminado es "todos" solo cuando AUTOSTART no está comentado y está vacío
GuSuku
9

Si está en systemd (16.04), configuró AUTOSTART = "all" y todavía no está comenzando, preste atención a esto:

> # If you're running systemd, changing this variable will
> # require running "systemctl daemon-reload" followed by
> # a restart of the openvpn service (if you removed entries
> # you may have to stop those manually)

Solo haz un

systemctl daemon-reload

y luego reinicie el servicio

 sudo service openvpn restart
Erb
fuente
Perfecto, muchas gracias.
pylover
8

Puede poner auth-user-pass filenameen anonine.ovpndónde filenameestá el archivo con nombre de usuario / contraseña en 2 líneas.

Asegúrese de que filenameesté correctamente protegido, ya que contendrá un nombre de usuario / contraseña simple.

Esto es de openvpn --help:

Client options (when connecting to a multi-client server):

--auth-user-pass [up] : Authenticate with server using username/password.
                  up is a file containing username/password on 2 lines,
                  or omit to prompt from console.

También puede agregar su certificado a su anonine.ovpnagregado de esta manera:

<ca>
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
</ca>
jstsmn
fuente
3

Si no se requiere un nombre de usuario / contraseña para conectarse, cambie el nombre de los archivos .ovpn para tener una extensión de .conf.

OpenVPN debería conectarse en el arranque, incluso sin autostart = all.

Si se requiere un nombre de usuario / contraseña,

edite el archivo .conf

editar auth-user-pass user-password-filename

Crea un archivo que contenga:

username
password

Si desea conectarse con Network Manager, asegúrese de hacer primero:

sudo apt-get install network-manager-openvpn

Asegúrese de que su Ubuntu sea al menos 14.04. Esto no funciona en 12.04.

Si no tiene su ca.crt, client.crt, etc., extráigalos de .conf.

Con Network Manager, cree una nueva conexión VPN o importe su conf.

Agregue los certificados y ta.key.

Rutas, use la conexión solo para recursos en su red.

Edite su conexión a Internet con el administrador de red. Elija conectarse con VPN , luego elija su conexión VPN.

Yandi Ongkojoyo
fuente
0

Si bien es posible que no sea de interés para el OP, este servicio me frustraba no comenzar hasta el inicio de sesión, ya sea gráfico o uno de los TTY Ctrl + Alt + F #. Finalmente me di cuenta de que mi máquina solo se conectaría a wifi cuando iniciara sesión. Combinando las otras respuestas aquí con los consejos estándar para ejecutar sudo update-rc.d openvpn defaults, y con la primera respuesta en esta otra pregunta funcionó para mí. Quizás esto podría ayudar a otro Googler.

tsbertalan
fuente
0

Para mi el

auth-user-pass filename

no funcionó

utilizar

askpass /etc/openvpn/filename

Y solo tiene la contraseña en la línea superior

Funcionó y ahora openvpn comienza en el arranque

comandos para verificar si openvpn está funcionando:

systemctl status openvpn@"your vpn user name"

wget -qO- http://ipecho.net/plain ; echo

para verificar su ip (debe ser diferente a la ip externa de su enrutador)

sudo service openvpn stop

sudo service openvpn start

para verificar su configuración sin reiniciar todo el tiempo.

underxristof
fuente