Idioma
Categoría
Buscar

Cómo configurar un servidor OpenVPN con Easy-RSA en Linux

Guía completa para instalar y configurar OpenVPN Server con Easy-RSA en Slackware Linux. Aprenda a crear certificados y claves para establecer una VPN segura y funcional

Cómo configurar un servidor OpenVPN con Easy-RSA en Linux
En Código abierto Por Rudi Drusian Lange
Publicado el
Última actualización

Introducción

OpenVPN es una solución de red privada virtual (VPN) de código abierto que permite crear conexiones seguras entre dispositivos, protegiendo el tráfico de red contra intercepciones. Su flexibilidad y soporte para cifrado fuerte lo hacen ideal para empresas y usuarios que necesitan acceso remoto seguro o interconexión entre redes.

Este artículo detalla el proceso de instalación y configuración de un servidor y un cliente OpenVPN en Linux, abordando también la creación de certificados digitales utilizando el script Easy-RSA. El proceso de generación de certificados se presentará de forma breve y técnica, con enfoque en la aplicación práctica para el funcionamiento de OpenVPN.

Para un entendimiento más profundo sobre la gestión de certificados, incluyendo aspectos conceptuales, criterios de seguridad y detalles sobre el uso de Easy-RSA, recomendamos la lectura del artículo complementario:

Entorno de instalación

Las configuraciones demostradas en este artículo fueron probadas en Slackware Linux 15.0 (64 bits), utilizando OpenVPN 2.5.5 y Easy-RSA 3.3.0.

Este tutorial puede adaptarse a otras distribuciones de Linux con pocas modificaciones, principalmente en el comando de instalación de OpenVPN y en el método de inicio automático del servicio. Siempre que sea posible, se presentarán comandos específicos para diferentes distribuciones, aunque estos comandos no han sido probados.

En el resto, los pasos para la descarga de Easy-RSA, configuraciones y creación de certificados deben ser los mismos en la mayoría de las distribuciones.

Instalación de OpenVPN

OpenVPN está disponible en los repositorios oficiales de Slackware.

# bash

# Slackware
slackpkg install openvpn

Comandos para instalación en otras distribuciones:

# bash

# Debian y Ubuntu
sudo apt install openvpn

# Fedora
sudo dnf install openvpn

# Arch Linux
sudo pacman -S openvpn

# openSUSE
sudo zypper install openvpn

Descarga de Easy-RSA

Easy-RSA es un script que facilita la creación y gestión de claves y certificados necesarios para la comunicación segura entre cliente y servidor. El script debe ejecutarse como un usuario común, sin necesidad de permisos administrativos.

Por razones de seguridad, Easy-RSA se instalará en una memoria USB, cuyo camino será representado aquí por el punto de montaje /mnt/usb. Utilizar una memoria USB permite mantener la estructura de gestión de certificados fuera de línea, reduciendo riesgos de exposición de claves privadas. Para más detalles sobre las prácticas de seguridad involucradas, consulte el artículo mencionado en la introducción.

Nota: La memoria USB debe estar formateada con un sistema de archivos compatible con Linux (ext3, ext4, xfs, etc.). De lo contrario, no será posible ejecutar el script.

Para descargar Easy-RSA directamente en la memoria USB, utilice los siguientes comandos:

$ bash

cd /mnt/usb
git clone https://github.com/OpenVPN/easy-rsa

Configurando EasyRSA

Antes de iniciar, es necesario ajustar el valor de algunas variables predeterminadas de los scripts para garantizar la consistencia de los datos durante la emisión de certificados. Haga una copia del archivo de ejemplo vars.example a vars:

$ bash

cd easy-rsa/easyrsa3/
cp vars.example vars
vi vars

Ahora, personalice el archivo vars con su editor favorito. Elimine el comentario de las líneas siguientes y configure con sus informaciones:

vars

# Campos organizacionales
set_var EASYRSA_REQ_COUNTRY  "MX" # País
set_var EASYRSA_REQ_PROVINCE "Jalisco" # Estado
set_var EASYRSA_REQ_CITY     "Guadalajara" # Ciudad
set_var EASYRSA_REQ_ORG      "Mi empresa" # Nombre de la organización
set_var EASYRSA_REQ_EMAIL    "contacto@miempresa.com" # Correo electrónico
set_var EASYRSA_REQ_OU       "Departamento de TI" # Unidad Organizacional

# Expiración (en días)
set_var EASYRSA_CA_EXPIRE   7300 # Validez de la CA
set_var EASYRSA_CERT_EXPIRE 3650 # Validez de los certificados emitidos

El primer conjunto de variables se refiere a los campos organizacionales, valores que se incorporarán a los certificados emitidos. El segundo conjunto de variables define el tiempo de expiración del certificado de la (CA) y de los certificados generados para el servidor y clientes de la VPN.

Las demás variables presentes en el archivo vars solo deben ser alteradas con conocimiento previo de sus funciones y no serán abordadas en este artículo.

Ejecutando Easy-RSA

El script easyrsa está ubicado en easy-rsa/easyrsa3, a partir del directorio inicial clonado con el comando git. El formato básico de ejecución del comando es:

./easyrsa comando [ opciones ]

Donde comando es el nombre del comando a ejecutar y opciones son los parámetros que personalizan el comando. Para obtener ayuda sobre un comando específico use:

./easyrsa help [ comando ]

Cuando se ejecuta sin ningún parámetro, el script ./easyrsa mostrará una lista de comandos disponibles.

Iniciando la PKI

En español, PKI significa Infraestructura de Claves Públicas. Este paso crea la estructura básica de directorios necesarios para la gestión de las claves y certificados. Ejecute el comando ./easyrsa init-pki.

¡Atención! Este comando elimina todos los certificados creados anteriormente. Utilícelo solo cuando esté iniciando una nueva configuración o si necesita reconfigurar todo el sistema.

$ bash

# Acceda al directorio de EasyRSA
cd /mnt/usb/easy-rsa/easyrsa3/

# Inicie la PKI
./easyrsa init-pki

Con la Infraestructura de Claves Públicas creada, está listo para crear una Autoridad Certificadora (CA). Observe que se creó una nueva carpeta llamada pki/ en la cual se almacenarán, entre otras cosas, las solicitudes, las claves privadas y los certificados emitidos.

Creando su propia Autoridad Certificadora (CA)

Una CA es la entidad responsable de emitir y gestionar certificados digitales, que garantizan la seguridad y autenticidad en las comunicaciones en línea.

Durante la creación de la clave privada de la CA, se solicitará una contraseña a partir de la cual se generará el cifrado del archivo. Ingrese una contraseña fuerte y recuérdela, ya que será necesaria al firmar nuevos certificados.

También será necesario ingresar un nombre (Common Name) que se usará solo para visualización. Elija un nombre para representar su CA; opciones comunes incluyen: nombre del usuario, del host o del servidor.

Ejecute el comando ./easyrsa build-ca:

# bash

# Acceda al directorio de EasyRSA
cd /mnt/usb/easy-rsa/easyrsa3/

# Cree la CA
./easyrsa build-ca

Si todo ocurre correctamente, será posible visualizar algunos nuevos archivos dentro de la carpeta pki/, entre ellos el certificado ca.crt.

Generando la clave TLS y los parámetros Diffie-Hellman (DH)

Antes de continuar con la creación de las claves y certificados para el cliente y el servidor de la VPN, aún son necesarios dos archivos más. La clave TLS impide que terceros interfieran o descubran que la VPN está en operación, mientras que los parámetros Diffie-Hellman (DH) permiten que OpenVPN cree un secreto compartido sin que la clave real sea transmitida.

$ bash

# Genera la clave TLS
./easyrsa gen-tls-crypt-key

# Genera los parámetros Diffie-Hellman (DH)
./easyrsa gen-dh

La clave TLS podrá encontrarse en pki/private/easyrsa-tls.key y el archivo que contiene los parámetros DH en pki/dh.pem.

Escenario ficticio

Para ilustrar los próximos ejemplos, consideremos un escenario ficticio en el que empleados de una oficina trabajan remotamente y necesitan conectarse a la red de la empresa para desempeñar sus funciones.

En este contexto, el servidor OpenVPN será instalado en la oficina, mientras que los clientes VPN serán configurados en los dispositivos de los empleados en sus residencias.

Generando clave y certificado para el servidor

En este paso, se generarán una clave privada y una solicitud para el servidor de la VPN. La solicitud, al ser firmada por la CA, se convertirá en un certificado. Se usará el parámetro nopass para deshabilitar el uso de contraseña en el cifrado de la clave.

El uso de una contraseña exige que se ingrese cada vez que se inicie el servicio de VPN, lo que puede no ser viable en servidores remotos o que no tengan un teclado de fácil acceso. El comando sigue el formato:

./easyrsa gen-req [ nombre-del-servidor ] [ opciones ]

Confirme el nombre del servidor cuando se solicite durante el proceso.

$ bash

./easyrsa gen-req oficina nopass

La solicitud fue generada en pki/reqs/oficina.req y la clave privada está en pki/private/oficina.key.

Firme la solicitud con el siguiente comando. Responda yes cuando se solicite para confirmar los detalles de la solicitud e ingrese la contraseña de la CA para concluir la firma.

$ bash

./easyrsa sign-req server oficina

El certificado estará disponible en pki/issued/oficina.crt.

Configurando el servidor

A partir de este momento, todos los comandos deben ejecutarse como root o usando sudo. Copie los siguientes archivos generados por Easy-RSA al directorio de configuración de OpenVPN:

# bash

cp /mnt/usb/easy-rsa/easyrsa3/pki/ca.crt /etc/openvpn/certs/
cp /mnt/usb/easy-rsa/easyrsa3/pki/issued/oficina.crt /etc/openvpn/certs/
cp /mnt/usb/easy-rsa/easyrsa3/pki/dh.pem /etc/openvpn/certs/
cp /mnt/usb/easy-rsa/easyrsa3/pki/private/oficina.key /etc/openvpn/keys/
cp /mnt/usb/easy-rsa/easyrsa3/pki/private/easyrsa-tls.key /etc/openvpn/keys/

En Slackware, el directorio de configuración de OpenVPN contiene un enlace a archivos de ejemplo. Haga una copia del archivo server.conf para la carpeta de OpenVPN y renómbrelo a oficina.conf. Si utiliza otra distribución y no encuentra este archivo, se proporcionará una versión completa del archivo de configuración.

# bash

cd /etc/openvpn/
cp sample-config-files/server.conf oficina.conf

Cree el directorio ccd/ dentro de la carpeta de OpenVPN. Se usará para configuraciones específicas de los clientes:

# bash

mkdir /etc/openvpn/ccd

Abra el archivo oficina.conf con su editor de texto favorito. A continuación, un ejemplo comentado de un archivo de configuración funcional para un servidor OpenVPN:

oficina.conf

###############################################
#  Ejemplo de configuración para un servidor  #
# OpenVPN con soporte para múltiples clientes #
###############################################

local x.x.x.x  # Dirección IP local en la que OpenVPN debe escuchar
port  1194     # Puerto TCP/UDP utilizado por OpenVPN
proto udp      # Protocolo de transporte (TCP o UDP)
dev   tun      # Tipo de túnel: enrutado (tun) o Ethernet (tap)

ca       /etc/openvpn/certs/ca.crt           # Certificado de la CA
dh       /etc/openvpn/certs/dh.pem           # Parámetros Diffie-Hellman (DH)
cert     /etc/openvpn/certs/oficina.crt      # Certificado del servidor
key      /etc/openvpn/keys/oficina.key       # Clave privada del servidor
tls-auth /etc/openvpn/keys/easyrsa-tls.key 0 # Clave TLS (0 en el servidor y 1 en el cliente)

;crl-verify  /etc/openvpn/crl.pem # Lista de Certificados Revocados

topology subnet                # Subred /24 (255.255.255.0)
server 10.8.0.0 255.255.255.0  # Define la red VPN, el servidor será 10.8.0.1
ifconfig-pool-persist ipp.txt  # Registro de las IPs asignadas a los clientes

# Envía una ruta a los clientes,
# permitiendo acceso a las redes internas
push "route 192.168.10.0 255.255.255.0"

# Define un directorio para configuraciones
# específicas de cada cliente. Permite
# asignar IPs fijas y rutas. 
client-config-dir ccd

# Elimine el comentario para permitir que
# los clientes se comuniquen entre sí
;client-to-client

# Envía un ping cada 10 segundos y considera
# al cliente desconectado después de 120 segundos
keepalive 10 120

cipher AES-256-GCM # Algoritmo de cifrado predeterminado
data-ciphers AES-256-GCM:AES-128-GCM:AES-256-CBC # Algoritmos soportados
;data-ciphers-fallback AES-256-CBC # Soporte para versiones antiguas

# Desactiva la compresión por motivos de seguridad
allow-compression no

# Número máximo de clientes conectados simultáneamente
max-clients 100

# Reduce privilegios después de la inicialización
user nobody
group nobody

# Mejora la estabilidad de la conexión
persist-key # Evita recargar las claves después de una reconexión
persist-tun # Mantiene la interfaz VPN activa durante una reconexión

# Ruta para los archivos de registro
status      /var/log/openvpn-status.log
log-append  /var/log/openvpn.log

verb 3   # Nivel de detalle de los registros
mute 20  # Silencia mensajes repetidos en el registro después de 20 apariciones

# Notifica a los clientes cuando el servidor es
# reiniciado para que puedan reconectarse
explicit-exit-notify 1

Puede habilitar el servicio solo para IPv4 usando proto udp4 o solo para IPv6 con proto udp6. Si prefiere TCP, utilice proto tcp4 o proto tcp6.

Es posible configurar múltiples servidores OpenVPN simultáneamente. Para ello, basta con generar los certificados correspondientes y crear un archivo de configuración separado para cada servidor dentro del directorio de OpenVPN. Por ejemplo, puede tener oficina.conf, rh.conf, ti.conf, etc. En Slackware, el script de inicio de OpenVPN cargará automáticamente todos los archivos de configuración que terminen en .conf dentro de /etc/openvpn.

La entrada ;crl-verify /etc/openvpn/crl.pem se refiere a la lista de certificados revocados. Más información sobre este recurso puede encontrarse aquí.

Permisos de archivos y directorios

Para aumentar la seguridad, es necesario definir permisos adecuados para los archivos y directorios dentro de /etc/openvpn, garantizando que solo los usuarios autorizados tengan acceso.

# bash

# Define root como propietario de los
# archivos y directorios de OpenVPN
chown -R root:root /etc/openvpn

# Solo root puede leer y escribir
# en los archivos de configuración
chmod 600 *.conf

# Define root como propietario y
# asigna el grupo nobody a la carpeta
# ccd/ y al archivo ipp.txt
chown -R root:nobody ccd/ ipp.txt

# Solo lectura para root en las
# claves y certificados
chmod -R 400 keys/ certs/

# Acceso total para root, lectura
# y ejecución para nobody en ccd/
chmod 750 ccd/

# Permite lectura y escritura para
# root y nobody en el archivo ipp.txt
chmod 660 ipp.txt

En Linux, las carpetas necesitan el permiso de ejecución (x) para ser accedidas, excepto para el usuario root. Por eso, los directorios que almacenan claves y certificados están configurados como solo lectura.

Las claves, los certificados y los archivos de configuración principales (.conf) se leen antes de que los privilegios se reduzcan al usuario nobody. Por lo tanto, estos archivos deben pertenecer al usuario y grupo root. Las claves y certificados solo necesitan permiso de lectura (400). Los archivos de configuración principales (.conf) necesitan permiso de lectura y escritura (600) para root.

El usuario nobody necesita permiso de lectura y ejecución en el directorio ccd/ para acceder a los archivos de configuración específicos de los clientes. Además, necesita permiso de lectura y escritura en el archivo ipp.txt, que registra las direcciones IP asignadas.

Para verificar la estructura de directorios y los permisos aplicados, utilice el comando:

# bash

tree -ugp

├── [drwxr-x--- root     nobody  ]  ccd
├── [dr-------- root     root    ]  certs
│   ├── [-r-------- root     root    ]  ca.crt
│   ├── [-r-------- root     root    ]  dh.pem
│   └── [-r-------- root     root    ]  oficina.crt
├── [-rw------- root     root    ]  oficina.conf
├── [-rw-rw---- root     nobody  ]  ipp.txt
├── [dr-------- root     root    ]  keys
│   ├── [-r-------- root     root    ]  easyrsa-tls.key
│   └── [-r-------- root     root    ]  oficina.key

Iniciando el servidor OpenVPN

Los siguientes comandos son específicos para Slackware. Si está utilizando otra distribución, consulte la documentación correspondiente, ya que el proceso puede variar.

Antes de iniciar el servicio, conceda permiso de ejecución al script de inicio de OpenVPN:

# bash

chmod +x /etc/rc.d/rc.openvpn

Al definir este permiso, el script se ejecutará automáticamente al iniciar el sistema.

Comandos para manipular el servicio:

# bash

# Inicia el servicio
/etc/rc.d/rc.openvpn start

# Detiene el servicio
/etc/rc.d/rc.openvpn stop

# Reinicia el servicio
/etc/rc.d/rc.openvpn restart

Consultando los registros

Verificar los registros es esencial para garantizar que OpenVPN esté funcionando correctamente. Para facilitar la depuración, se recomienda abrir múltiples terminales y monitorear los registros mientras inicia y detiene el servicio.

Para seguir los registros en tiempo real, utilice los siguientes comandos:

# bash

# Registro del servicio
tail -f /var/log/openvpn.log

# Registro de las conexiones
tail -f /var/log/openvpn-status.log

# Registro del sistema
tail -f /var/log/syslog

Los comandos anteriores muestran nuevos mensajes a medida que se registran, hasta que se interrumpan manualmente.

Depurando errores

Si ocurre un problema en la configuración, OpenVPN generalmente indicará el error en los registros. Por ejemplo, si el directorio ccd/ no se creó o si sus permisos no permiten el acceso del usuario nobody, puede recibir el siguiente mensaje:

Options error: --client-config-dir fails with 'ccd': No such file or directory (errno=2)

Verifique los registros para identificar y corregir errores durante la inicialización del servicio. Si OpenVPN se inicia correctamente, el archivo openvpn.log mostrará el siguiente mensaje: Initialization Sequence Completed.

Importante

En este ejemplo, OpenVPN fue configurado para reducir los privilegios después de la inicialización, cambiando al usuario nobody. Sin embargo, al detener OpenVPN en Slackware, tanto en el servidor como en el cliente, ocurren errores de permisos al eliminar IPs y rutas. Estas fallas generan mensajes como los siguientes en los registros:

/var/log/openvpn.log

/usr/sbin/ip addr del dev tun0 10.8.0.1/24
RTNETLINK answers: Operation not permitted
Linux ip addr del failed: external program exited with error status: 2

Para solucionar este problema, se probaron varios enfoques sin éxito, como la ejecución de scripts externos mediante las opciones down y down-pre junto con la directiva script-security, la configuración de sudo para permitir que el usuario nobody ejecute el comando ip y el uso del plugin openvpn-plugin-down-root.so.

La buena noticia es que, incluso con los mensajes de error, las acciones necesarias se ejecutan correctamente: las IPs y rutas se eliminan y la interfaz VPN se desactiva como se esperaba. Durante las pruebas realizadas para este material, no se identificaron problemas funcionales derivados de este error, por lo que la opción adoptada fue simplemente ignorarlo.

Si desea evitar estos mensajes, una alternativa es ejecutar OpenVPN directamente como root, sin reducir los privilegios. Sin embargo, esto puede tener implicaciones de seguridad.

Verificando la VPN

Confirme si la interfaz de la VPN fue creada:

# bash

ifconfig

tun0: flags=4305[UP,POINTOPOINT,RUNNING,NOARP,MULTICAST]  mtu 1500
        inet 10.8.0.1  netmask 255.255.255.0  destination 10.8.0.1

Si la interfaz está activa, su servidor está funcionando y listo para recibir conexiones. Ahora, vamos a la configuración del cliente.

Generando clave y certificado para el cliente

En este paso, se generará una clave privada y una solicitud de certificado para el cliente de la VPN. Ejecute los comandos desde el directorio base de Easy-RSA. En el ejemplo, usamos /mnt/usb/easy-rsa/easyrsa3/. Cuando se solicite, confirme el nombre del cliente. Aquí, utilizaremos casa.

$ bash

./easyrsa gen-req casa nopass

Esto generará la solicitud en pki/reqs/casa.req y la clave privada en pki/private/casa.key.

Firme la solicitud usando la clave privada de la CA. Responda yes cuando se solicite para confirmar los detalles e ingrese la contraseña de la CA cuando se solicite:

$ bash

./easyrsa sign-req client casa

El certificado del cliente se generará en pki/issued/casa.crt.

Configurando el cliente

Copie los archivos generados por Easy-RSA al directorio de configuración de OpenVPN. En este artículo, los archivos están almacenados en una memoria USB. Si los transfiere a un lugar remoto, utilice métodos seguros como SSH (scp, sftp) o HTTPS:

# bash

cp /mnt/usb/easy-rsa/easyrsa3/pki/ca.crt /etc/openvpn/certs/
cp /mnt/usb/easy-rsa/easyrsa3/pki/issued/casa.crt /etc/openvpn/certs/
cp /mnt/usb/easy-rsa/easyrsa3/pki/private/casa.key /etc/openvpn/keys/
cp /mnt/usb/easy-rsa/easyrsa3/pki/private/easyrsa-tls.key /etc/openvpn/keys/

Cree el archivo de configuración casa.conf en el directorio de configuración de OpenVPN. Puede usar el archivo de ejemplo client.conf, disponible en sample-config-files, como base.

Abra el archivo casa.conf con su editor favorito.

# bash

vi /etc/openvpn/casa.conf

A continuación, un ejemplo comentado de un archivo de configuración funcional para un cliente OpenVPN:

casa.conf

####################################################
# Ejemplo de configuración para un cliente OpenVPN #
####################################################

client                # Configura como cliente
dev tun               # Utiliza un túnel enrutado (tun)
proto udp             # TCP o UDP?
remote 10.0.0.68 1194 # IP y puerto del servidor

ca       /etc/openvpn/certs/ca.crt           # Certificado de la CA
cert     /etc/openvpn/certs/casa.crt         # Certificado del cliente
key      /etc/openvpn/keys/casa.key          # Clave privada del cliente
tls-auth /etc/openvpn/keys/easyrsa-tls.key 1 # Clave TLS (1 en el cliente)

# Si se usa un nombre de dominio en el parámetro
# "remote", esta opción hace que el cliente
# intente resolverlo indefinidamente
resolv-retry infinite

# Usa puertos aleatorios en la conexión con el servidor
nobind

# Reduce los privilegios después de la inicialización
user nobody
group nobody

# Mejora la estabilidad de la conexión
persist-key # Mantiene las claves cargadas después de una reconexión
persist-tun # Mantiene la interfaz de red activa durante una reconexión

# Exige que el certificado del servidor sea validado correctamente
remote-cert-tls server

# Define el algoritmo de cifrado para la comunicación
cipher AES-256-GCM

# Ruta para los archivos de registro
status      /var/log/openvpn-status.log
log-append  /var/log/openvpn.log

verb 3   # Nivel de detalle de los mensajes del registro
mute 20  # Silencia mensajes repetidos en el registro después de 20 ocurrencias

Iniciando el cliente OpenVPN

Conceda permiso de ejecución al script de inicio de OpenVPN:

# bash

chmod +x /etc/rc.d/rc.openvpn

Con este permiso, el script podrá ejecutarse manualmente y también se iniciará automáticamente junto con el sistema.

Comandos para manipular el servicio:

# bash

# Inicia el servicio
/etc/rc.d/rc.openvpn start

# Detiene el servicio
/etc/rc.d/rc.openvpn stop

# Reinicia el servicio
/etc/rc.d/rc.openvpn restart

Consultando los registros

Al igual que en el servidor, los registros son esenciales para diagnosticar problemas y verificar si el cliente OpenVPN está funcionando correctamente.

Utilice los siguientes comandos para monitorear los registros en tiempo real:

# bash

# Registro del servicio
tail -f /var/log/openvpn.log

# Registro de las conexiones
tail -f /var/log/openvpn-status.log

# Registro del sistema
tail -f /var/log/syslog

Verificando la VPN

Si el mensaje Initialization Sequence Completed aparece en el archivo openvpn.log, esto indica que el cliente se inició correctamente. Para confirmar que la VPN está funcionando como se espera, verifique si la interfaz de la VPN fue creada y si las rutas configuradas con el comando push en el servidor se aplicaron correctamente:

# bash

# Verifica si la interfaz tun0 fue creada
ifconfig

tun0: flags=4305[UP,POINTOPOINT,RUNNING,NOARP,MULTICAST]  mtu 1500
        inet 10.8.0.2  netmask 255.255.255.0  destination 10.8.0.2

# Lista las rutas de red configuradas
route -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.10.0    10.8.0.1        255.255.255.0   UG    0      0        0 tun0

Si todo está correcto, su túnel VPN está activo y listo para usar.

Conclusión

Este texto ofrece una guía detallada para la configuración de un túnel OpenVPN en Linux, utilizando Easy-RSA para la gestión de certificados y claves. Cubre desde la instalación de los paquetes necesarios hasta la creación y firma de certificados, configuración del servidor y cliente OpenVPN, ajustes de permisos de archivos y directorios, y verificación de registros para asegurar el funcionamiento correcto del servicio.

Para un entendimiento más profundo sobre la gestión de certificados, incluyendo aspectos conceptuales, criterios de seguridad y detalles sobre el uso de Easy-RSA, recomendamos la lectura del artículo complementario:

Referencias

Artículos antiguos de este mismo sitio sirvieron como punto de partida para la elaboración de este texto. También se utilizaron los manuales (man page) disponibles en Slackware Linux.

Tablón de Anuncios

Este no es mi idioma original y no lo hablo muy bien. Utilicé mis pocos conocimientos y herramientas de traducción para redactar el texto de este artículo. Disculpe los posibles errores ortográficos o gramaticales, se agradecen sugerencias de correcciones y se pueden enviar al correo electrónico de contacto que se encuentra en el pie de página del sitio. Mi intención es compartir algunos conocimientos y espero que esta traducción sea lo suficientemente buena.


Algunos de los contenidos de este sitio web, incluidos textos, imágenes, gráficos y otros materiales, pueden ser generados o mejorados mediante herramientas de inteligencia artificial (IA). Para obtener más detalles sobre nuestro uso de IA, consulte nuestro Término de uso.