[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

¡Esta es una revisión vieja del documento!


OpenVPN

OpenVPN es un programa de código abierto que implementa técnicas de red privada virtual (VPN) (por sus siglas en ingles) para crear conexiones seguras punto a punto o sitio a sitio en configuraciones enrutadas o puenteadas e instalaciones de acceso remoto. Utiliza un protocolo de seguridad personalizado que utiliza SSL/TLS para intercambio de claves. Es capaz de atravesar traductores de direcciones de red (NAT) y cortafuegos. Fue escrito por James Yonan y se publica bajo la Licencia Pública General de GNU (GPL).

OpenVPN les permite autenticarse entre sí utilizando una clave secreta precompartida, certificados o nombre de usuario/contraseña. Cuando se utiliza en una configuración de servidor multicliente, permite que el servidor libere un certificado de autenticación para cada cliente, utilizando la firma y la autoridad de certificación. Utiliza la biblioteca de cifrado OpenSSL ampliamente, así como el protocolo SSLv3/TLSv1, y contiene muchas características de seguridad y control.

Cómo usar OpenVPN

Es muy simple si ya tiene una configuración lista para usar por cualquier proveedor openvpn.

# openvpn --config yourconfig.ovpn

Si no tiene una configuración que pueda usar, debería mirar en /etc/openvpn. Slackware tiene una configuración de ejemplo con algunos buenos consejos allí.

Usando OpenVPN con la barra de estado de i3

Estoy usado el administrador de ventanas i3 con dmenu y la barra de estado de i3. Usted puede congigurar la barra para mostrarle si está ejecutando openvpn o no. El i3status.conf se encuentra en /etc/ si se instaló con SlackBuild.

Debe iniciar openvpn con un –writepid /path/to/your.pid adicional.

Por ejemplo:

openvpn --config /etc/openvpn/vpn.ovpn --writepid /var/run/pid/openvpn.pid

Para usar la función de compilación tienes que editar el archivo de configuración.

Busca el

run_watch VPN {
        pidfile = "/var/run/something.pid"
}

bloquea y cambia algo en su nombre pid elegido.

En este caso: block and change the something into your choosen pid name. In this case:

run_watch VPN
        pidfile = "/var/run/openvpn.pid"
}

Reconstruyendo OpenVPN para leer su nombre de usuario desde el archivo

Como quería que mi conexión openvpn se iniciara automáticamente cuando conecte mi Thinkpad al dock, pensé que sería útil agregar la función 'segura para contraseñas'. (La configuración de 'contraseña segura' le permite almacenar su nombre de usuario y contraseña en un archivo para las secuencias de comandos) Esta función no se instala de forma predeterminada. Tienes que agregarlo a slackbuild y recompilar el paquete.

Comience por tomar la fuente y slackbuild de uno de los espejos de Slackware.

http://mirrors.slackware.com/slackware/slackware64-14.0/source/n/openvpn/

Cambie el espejo para sus necesidades, por ejemplo -current.

En el siguiente paso cambiaremos el archivo openvpn.SlackBuild.

Abra el archivo slackbuild con el editor de su elección.

Para vim hacer:

$ vim openvpn.SlackBuild

Ahora busca este bloque de código:

./configure \
    --prefix=/usr \
    --libdir=/usr/lib${LIBDIRSUFFIX} \
    --sysconfdir=/etc/openvpn \
    --localstatedir=/var \
    --docdir=/usr/doc/openvpn-${VERSION} \
    --enable-lzo \
    --enable-iproute2 \
    --build=$ARCH-slackware-linux

Añade la línea marcada a ella.

./configure \
    --prefix=/usr \
    --libdir=/usr/lib${LIBDIRSUFFIX} \
    --sysconfdir=/etc/openvpn \
    --localstatedir=/var \
    --docdir=/usr/doc/openvpn-${VERSION} \
    --enable-lzo \
    --enable-iproute2 \
    --enable-password-save \ #add this line!
    --build=$ARCH-slackware-linux

Guarda el archivo, hazlo ejecutable y reconstruye el paquete con

$ chmod +x openvpn.SlackBuild && ./openvpn.SlackBuild

El nuevo paquete debe estar en el directorio /tmp.

Instalarlo con:

# upgradepkg --install-new /tmp/yourpackage.tgz

Ahora puede cargar su nombre de usuario y contraseña desde un archivo. El archivo debe contener dos líneas de texto:

username
password

Guarde el archivo y hágalo solo legible para el propietario.

$ chmod 700 yourfile

Por último, agregue la siguiente línea a su configuración de openvpn.

auth-user-pass /path/to/your/passwordfile

Ahora debería poder iniciar sesión sin tener que escribir su contraseña cada vez.

Sources

 es:howtos:security:openvpn ()