GNU/Linux >> Tutoriales Linux >  >> Panels >> OpenVPN

Instale y configure el servidor OpenVPN en Fedora 29/CentOS 7

En esta guía, aprenderemos cómo instalar y configurar el servidor OpenVPN en Fedora 29/CentOS 7.
OpenVPN es un software VPN de código abierto que nos permite crear un túnel VPN basado en SSL. Imagine que le gustaría conectarse a su intranet corporativa desde una ubicación remota. Bueno, no se preocupe porque si tiene una configuración de servidor VPN, esto puede ser posible. La red privada virtual (VPN) proporciona un túnel seguro que extiende la red privada a través de una red pública, es decir, ayuda a crear una red de área amplia (WAN) a partir de redes de área local (LAN) existentes. Como resultado, los usuarios pueden enviar datos de forma segura a través de redes públicas como si estuvieran conectados directamente a su LAN.

Puede obtener más información sobre OpenVPN aquí.

Instalar y configurar el servidor OpenVPN en Fedora 29/28/CentOS 7

Sin mucha teoría, echemos un vistazo a un procedimiento paso a paso sobre cómo instalar y configurar el servidor OpenVPN en Fedora 29/28/CentOS 7.

Actualice su servidor.

dnf update < 

Instala OpenVPN y Easy-RSA en Fedora 29/28

OpenVPN proporciona un demonio VPN robusto y altamente flexible, mientras que el paquete Easy-RSA se usa para generar pares de claves SSL que se usan para proteger las conexiones VPN. Los paquetes OpenVPN y Easy-RSA están disponibles en los repositorios predeterminados de Fedora. Ejecute el siguiente comando para instalarlos.

dnf install openvpn easy-rsa

Instalar OpenVPN y Easy-RSA en CentOS 7

OpenVPN no está disponible en los repositorios predeterminados de CentOS, pero está disponible en EPEL, por lo que debe instalar los repositorios de EPEL antes de poder instalar OpenVPN.

Para agregar paquetes adicionales para Enterprise Linux (EPEL), ejecute cualquiera de los siguientes comandos:

yum install epel-release

o

wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpmrpm -ivh epel-release-latest-7.noarch.rpm

Instale OpenVPN y Easy-RSA

yum instale openvpn easy-rsa

Cree la CA local y genere claves de servidor y archivo de certificado

Cree un directorio para almacenar claves de servidor y archivos de certificado.

mkdir /etc/openvpn/easy-rsa

Copie los scripts de generación de claves/certificados instalados por Easy-RSA desde el directorio predeterminado al directorio creado anteriormente.

cp -air /usr/share/easy-rsa/3/* /etc/openvpn/easy-rsa

Vaya a /etc/openvpn/easy-rsa e inicie una nueva PKI.

cd /etc/openvpn/easy-rsa./easyrsa init-pki

Genere el certificado de CA. Esto le pedirá la contraseña de cifrado y el nombre común del servidor.

./easyrsa build-ca
... escribiendo una nueva clave privada en '/etc/openvpn/easy-rsa/pki/private/ca.key.EajtR0SkLM'Ingrese la frase de contraseña PEM:CONTRASEÑA Verificando:ingrese la frase de contraseña de PEM:CONTRASEÑA -----...-----Nombre común (p. ej., su nombre de usuario, host o servidor) [Easy-RSA CA]:servidor Se completó la creación de CA y ahora puede importar y firmar solicitudes de certificado. Su nuevo archivo de certificado de CA para publicar está en:/etc/openvpn/easy-rsa/pki/ca.crt

Como se indicó, el certificado de CA se almacena en /etc/openvpn/easy-rsa/pki/ca.crt .

Genere un archivo de clave Diffie-Hellman que se puede usar durante el protocolo de enlace TLS con los clientes que se conectan.

./easyrsa gen-dh

Esto generará la clave DH y la almacenará como /etc/openvpn/easy-rsa/pki/dh.pem .

Genere un archivo de clave y certificado para el servidor.

./easyrsa build-server-full server nopass

Genere un archivo de clave y certificado para el cliente.

./easyrsa build-client-full client nopass

En caso de que necesite invalidar un certificado previamente firmado, genere un certificado de revocación.

./easyrsa gen-crl

Esto almacena el certificado de revocación en /etc/openvpn/easy-rsa/pki/crl.pem .

Generar clave de autenticación precompartida TLS/SSL

openvpn --genkey --secret /etc/openvpn/easy-rsa/pki/ta.key

Copie los certificados/claves generados en el directorio de configuración del servidor. //pre>

Configurar servidor OpenVPN

OpenVPN tiene un archivo de configuración de muestra dentro de su directorio de documentación y, por lo tanto, para facilitarnos la vida, copiaremos la muestra /usr/share/doc/openvpn{-2.4.6,}/sample/sample-config-files/server.conf archivo a /etc/openvpn para modificación.

En Fedora

cp /usr/share/doc/openvpn/sample/sample-config-files/server.conf /etc/openvpn/server/

En CentOS 7

cp /usr/share/doc/openvpn-2.4.6/sample/sample-config-files/server.conf /etc/openvpn/server/

Edite el server.conf archivo de la siguiente manera:

vim /etc/openvpn/server/server.conf

Modifique el archivo para que se vea como el siguiente;

# ¿En qué puerto TCP/UDP debe escuchar OpenVPN?# Cámbielo para que coincida con su puerto y ábralo en el puerto de firewall 1194# ¿Servidor TCP o UDP?proto udp# "dev tun " creará una IP enrutada tunneldev tun# Cambiar ruta para certificadosca ca.crtcert emitido/server.crtkey private/server.key# Diffie hellman exchange key pathdh dh.pem# Network topologytopology subnet# OpenVPN Network IP. A continuación, el servidor tomará 10.8.0.1 para sí mismo, # el resto estará disponible para los clientes. servidor 172.16.0.0 255.255.255.0 # esta directiva configurará todos los clientes para redirigir su puerta de enlace de red predeterminada # a través de VPNpush "redirect- gateway def1 bypass-dhcp"# Servidores DNSpush "dhcp-option DNS 208.67.222.222"push "dhcp-option DNS 208.67.220.220"# Para una compresión compatible con clientes más antiguos, use comp-lzo.comp-lzo# Ejecute VPN con privilegios limitadosusuario nadiegrupo nadie# Archivos de registro de estadoestado /var/log/openvpn/openvpn-status.log# Clave de autenticación precompartida TLS/SSL tls-auth ta.key 0# Crear directorio de registro de VPN y archivo de registro log-append /var/log/openvpn/openvpn .log#Anexar esta línea para cambiar el algoritmo de autenticación (HMAC) de SHA1 a SHA512auth SHA512

Cree el directorio de registro;

mkdir /var/log/openvpn/

Guarde el archivo de configuración

Configurar enrutamiento

Habilitar el reenvío de IP

Habilitar el reenvío de IP garantiza que el tráfico del cliente se enrute a través de la dirección IP del servidor para que la dirección IP del cliente esté enmascarada.

echo "net.ipv4.ip_forward =1">> /etc/sysctl.conf

Ejecute el siguiente comando para efectuar los cambios:

sysctl --system

Permitir el puerto del servicio OpenVPN a través del firewall

firewall-cmd --add-port=1194/udp --permanent

Activar enmascaramiento de IP

firewall-cmd --add-masquerade --permanent

Reenviar el tráfico recibido en la subred OpenVPN especificada a una interfaz a través de la cual se enviarán los paquetes.

Encuentre la interfaz a través de la cual se envían los paquetes ejecutando el siguiente comando:

ip route get 8.8.8.88.8.8.8 via 192.168.43.1 dev enp0s8 src 192.168.43.23

El nombre de la interfaz puede ser diferente para su caso. Reemplácelo según corresponda.

firewall-cmd --permanent --direct --passthrough ipv4 -t nat -A POSTROUTING -s 172.16.0.0/24 -o enp0s8 -j MASCARADA

Vuelva a cargar firewalld para que los cambios surtan efecto.

firewall-cmd --reload

Inicie y configure OpenVPN start on boot.

systemctl start [email protected] enable [email protected]

Cuando se ejecuta el servicio OpenVPN, creará una interfaz de tunelización, tun0;

ip add show tun04:tun0: mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100 link/none inet 172.16 .0.1/24 brd 172.16.0.255 alcance global tun0 valid_lft para siempre preferido_lft para siempre inet6 fe80::1155:c60c:c009:48c9/64 enlace de alcance privacidad estable valid_lft para siempre preferido_lft para siempre

Al servidor VPN se le asigna la dirección IP 172.16.0.1 mientras que al primer cliente se le asigna 172.16.0.2.

Configurar cliente VPN

Para que el cliente VPN se conecte al servidor VPN, se requiere una copia del certificado CA, la clave del cliente, el certificado del cliente y la clave de autenticación TLS/SSL generada anteriormente. Por lo tanto, copie estos archivos en el cliente de destino y colóquelos en un directorio conveniente.

cd /etc/openvpn/easy-rsa/pki/scp {ca.crt,issued/client.crt,private/client.key, ta.key} [email protected]:~/

Instalar cliente OpenVPN

  • Si está utilizando un servidor Linux/Unix como cliente, instale el cliente OpenVPN utilizando el administrador de paquetes respectivo, por ejemplo;
    apt install openvpnyum install openvpn
  • Si se está conectando desde una máquina con Windows, simplemente puede descargar el instalador del cliente OpenVPN desde la página de descargas de OpenVPN e instalarlo.

Cree un archivo de configuración de OpenVPN para el cliente como se muestra a continuación. Como ejemplo, he copiado el certificado y los archivos clave en mi directorio de inicio en el cliente.

[email protected]:/home/amos# lsca.crt client.crt client.key ta.key
cliente vim.ovpn
clienttls-clientpulldev tunproto udpremote 192.168.43.69 1194resolv-retry infinitenobinddhcp-option DNS 8.8.8.8userbodygroup nogrouppersist-keypersist-tunkey-direction 1tls-auth ta.key 1comp-lzoverb 3ca ca.crtcert client.crtkey client.keyauth SHA512 

Para conectarse al servidor OpenVPN desde el cliente, ejecute cualquiera de los siguientes comandos:

sudo openvpn client.ovpn

o

sudo openvpn --config client.ovpn

Si la conexión es exitosa, debería ver una Initialization Sequence Completed .

Lunes 31 de diciembre 03:54:39 ​​2018 Dispositivo TUN/TAP tun0 abiertoLunes 31 de diciembre 03:54:39 ​​2018 Longitud de la cola TUN/TAP TX establecida en 100Lunes 31 de diciembre 03:54:39 ​​2018 do_ifconfig, tt->did_ifconfig_ipv6_setup =0Lunes 31 de diciembre 03:54:39 ​​2018 /sbin/ip link set dev tun0 up mtu 1500Lunes 31 de diciembre 03:54:39 ​​2018 /sbin/ip addr agregar dev tun0 172.16.0.2/24 transmisión 172.16.0.255Lunes 31 de diciembre 03 :54:39 ​​2018 /sbin/ip ruta agregar 192.168.43.69/32 dev enp0s8Lunes 31 de diciembre 03:54:39 ​​2018 /sbin/ip ruta agregar 0.0.0.0/1 a través de 172.16.0.1Lunes 31 de diciembre 03:54:39 ​​2018 /sbin/ip route add 128.0.0.0/1 a través de 172.16.0.1Lunes 31 de diciembre 03:54:39 ​​2018 GID establecido en nogroupLunes 31 de diciembre 03:54:39 ​​2018 UID establecido en noneLunes 31 de diciembre 03:54:39 ​​2018 Secuencia de inicialización Completado

Si puede verificar la interfaz, debería ver una interfaz de tunelización creada.

ip add sh tun020:tun0: mtu 1500 qdisc pfifo_fast state DESCONOCIDO grupo predeterminado qlen 100 link/none inet 172.16.0.2 /24 brd 172.16.0.255 scope global tun0 valid_lft forever prefer_lft forever inet6 fe80::dc37:c115:60f:6b86/64 scope link flags 800 valid_lft forever prefer_lft forever

Se ha conectado con éxito a su servidor VPN.

Se trata de cómo instalar y configurar el servidor OpenVPN en Fedora 29/CentOS 7. Su servidor OpenVPN está completamente operativo. Disfrutar.

Tutoriales relacionados

Configurar IPSEC VPN usando StrongSwan en Ubuntu 18.04

Configure el cliente VPN strongSwan en Ubuntu 18.04/CentOS 8

Configurar IPSEC VPN usando StrongSwan en Debian 10


No
OpenVPN
  1. Cómo instalar y usar TeamSpeak Server en CentOS 7

  2. Instale y configure el servidor OpenVPN en Ubuntu 20.04

  3. Instale y configure el cliente OpenVPN en CentOS 8/Ubuntu 18.04

  4. Configurar el servidor OpenVPN en CentOS 8

  5. Instalar y configurar el servidor OpenVPN FreeBSD 12

Cómo instalar el servidor y cliente OpenVPN con Easy-RSA 3 en CentOS 8

Cómo instalar OpenVPN Server and Client en CentOS 7

Instalar y configurar el servidor FreeIPA en CentOS 8

Instalar y configurar Check_MK Server en CentOS 7

Configuración de un servidor OpenVPN con CentOS y Viscosity

Cómo instalar y configurar el servidor OpenVPN en CentOS 8/7