proyectos:linuxservidor-red-vpn-openvpn
Tabla de Contenidos
Instalación en Debian
apt install openvpn easy-rsa
Configuración del archivo del server en Debian
Archivo server.conf
port 1194 proto tcp dev tun ca ca.crt cert server.crt key server.key # This file should be kept secret dh dh2048.pem server 10.8.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt push "redirect-gateway def1 bypass-dhcp" keepalive 10 120 tls-auth ta.key 0 # This file is secret cipher AES-256-CBC auth SHA256 user nobody group nogroup persist-key persist-tun status openvpn-status.log log openvpn.log log-append openvpn.log verb 3 explicit-exit-notify 0
Generando los certificados
Creando la plantilla y configuración de certificados
make-cadir ca
cd ca
Editamos el archivo vars para que los certificados tenga nuestros datos
nano vars
Creamos un enlace simbolico de la configuración de openssl
ln -s openssl-1.0.0.cnf openssl.cnf
Creamos la autoridad certificadora
source ./vars ./build-ca
Creamos el certificado del servidor
./build-key-server server
Creamos las llaves Diffie-hellman
./build-dh openvpn --genkey --secret keys/ta.key
Generamos el certificado del cliente
./build-key cliente1 ls -alhh keys/
Generamos la configuracion incial de nuestro servidor y copiamos la configuracion
gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf cd keys
Copiamos los certificados a la carpeta de openvpn
cp ca.crt server.crt server.key ta.key dh2048.pem /etc/openvpn
Creamos un compreso de los certificados del cliente
tar -zcvvf cliente1.tar.gz ca.crt cliente1.key cliente1.crt ta.key
Archivo ovpn para Linux
Archivo cliente1.ovn para Network-manager en Linux
client dev tun proto tcp remote example.com 1194 resolv-retry infinite nobind persist-key persist-tun mute-replay-warnings remote-cert-tls server cipher AES-256-CBC auth SHA256 verb 3 ;mute 20 ca [inline] cert [inline] key [inline] tls-auth [inline] 1 <ca> -----BEGIN CERTIFICATE----- -----END CERTIFICATE----- </ca> <cert> -----BEGIN CERTIFICATE----- -----END CERTIFICATE----- </cert> <key> -----BEGIN PRIVATE KEY----- -----END PRIVATE KEY----- </key> <tls-auth> -----BEGIN OpenVPN Static key V1----- -----END OpenVPN Static key V1----- </tls-auth>
Archivo ovpn para Windows
Archivo cliente1.ovn para cliente de OpenVPN en Windows
client dev tun proto tcp remote adescloud.ddns.net 1194 resolv-retry infinite nobind persist-key persist-tun mute-replay-warnings remote-cert-tls server cipher AES-256-CBC auth SHA256 verb 3 ;mute 20 <ca> -----BEGIN CERTIFICATE----- -----END CERTIFICATE----- </ca> <cert> -----BEGIN CERTIFICATE----- -----END CERTIFICATE----- </cert> <key> -----BEGIN PRIVATE KEY----- -----END PRIVATE KEY----- </key> <tls-auth> -----BEGIN OpenVPN Static key V1----- -----END OpenVPN Static key V1----- </tls-auth> key-direction 1
Configuración para conectarse a otras redes
iptables -t nat -L iptables -t nat -A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward
Comandos Enable/Start/Stop
systemctl stop openvpn@server systemctl start openvpn@server systemctl enable openvpn@server
Referencias
proyectos/linuxservidor-red-vpn-openvpn.txt · Última modificación: por manuel.floresv