Herramientas de usuario

Herramientas del sitio


proyectos:linuxservidor-red-vpn-openvpn

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