VPN-server (Centos - Alma - Rocky 8)
VPN-server (Centos - Alma - Rocky 8)
VPN-server (Centos - Alma - Rocky 8)
Se instala la aplicación:
[root@server ~]# dnf install -y openvpn easy-rsa
Se accede al directorio de easy-rsa, donde se ubican los archivos necesarios para la configuración:
[root@server ~]# cd /usr/share/easy-rsa/3.0.8
Si se desea, se puede copiar el contenido al directorio de openvpn: (en mi caso lo haré, por
comodidad de configuración)
[root@server ~]# cp -r * /etc/openvpn/server/.
1
# Any X509 key management system can be used.
# OpenVPN can also use a PKCS #12 formatted key file
# (see "pkcs12" directive in man page).
ca /etc/openvpn/server/pki/ca.crt
cert /etc/openvpn/server/pki/issued/serverA.crt
key /etc/openvpn/server/pki/private/serverA.key # This file should be kept
secret
dh /etc/openvpn/server/pki/dh.pem
.
topology subnet
.
.
push "redirect-gateway def1 bypass-dhcp"
.
.
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
.
.
# The second parameter should be '0'
# on the server and '1' on the clients.
;tls-auth ta.key 0 # This file is secret
.
.
# You can uncomment this out on
# non-Windows systems.
user nobody
group nobody
Si alguno de los parámetros resaltados no se configura, el servicio no podrá ser iniciado.
Se habilita el ip forwarding.
[root@server ~]# sysctl -w net.ipv4.ip_forward=1
2
[root@server ~]# echo net.ipv4.ip_forward=1 >> /etc/sysctl.d/sysctl-additionals.conf
Deshabilitar SElinux:
[root@server ~]# setenforce 0
Se puede comprobar que la interfaz virtual se haya habilitado con ‘ip addr’:
[root@server ~]# ip addr
.
.
5: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN
group default qlen 100
link/none
inet 10.8.0.1/24 brd 10.8.0.255 scope global tun0
valid_lft forever preferred_lft forever
inet6 fe80::dab7:46e8:cc6e:4b79/64 scope link flags 800
valid_lft forever preferred_lft forever
Se instala la aplicación:
[root@client ~]# dnf -y install openvpn
Se comprueba la conexión entre los equipos (servidor y cliente), y se copian los certificados del
generados en el servidor hacia el cliente: (no olvides sustituir ip_client por dirección ip de tu
cliente):
[root@server ~]# cd /etc/openvpn/server/pki/
[root@server pki]# scp ca.crt root@ip_client:/etc/openvpn/client/.
3
[root@server pki]# scp issued/clientA.crt root@ip_client:/etc/openvpn/client/.
[root@server pki]# scp private/clientA.key root@ip_client:/etc/openvpn/client/.
Y se agregan las siguientes líneas (no olvides sustituir ip_server por la dirección ip de tu servidor):
client
dev tun
proto udp
remote ip_server 1194
ca ca.crt #en caso de usar otra ruta, modificarla
cert clientA.crt #en caso de usar otra ruta, modificarla
key clientA.key #en caso de usar otra ruta, modificarla
verb 5
remote-cert-tls server
auth-nocache
cipher AES-256-CBC
La siguiente línea al final de la salida indica que la VPN levantó correctamente, si no se desplega esa
línea es necesario revisar la configuración:
.... Initialization Sequence Complete
O bien, para iniciarla y habilitarla para que inicie con el arranque del sistema:
[root@client ~]# systemctl enable openvpn-client@clientA --now
4
valid_lft forever preferred_lft forever