proyectos:linuxservidor-red-vpn-openvpn
Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
proyectos:linuxservidor-red-vpn-openvpn [2020/01/07 15:56] – manuel.floresv | proyectos:linuxservidor-red-vpn-openvpn [2020/05/15 22:48] (actual) – manuel.floresv | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
+ | ====== Instalación en Debian ====== | ||
+ | |||
+ | <code bash> | ||
+ | apt install openvpn easy-rsa | ||
+ | </ | ||
+ | ====== Configuración del archivo del server en Debian ====== | ||
+ | Archivo server.conf | ||
+ | <code bash> | ||
+ | port 1194 | ||
+ | proto tcp | ||
+ | dev tun | ||
+ | ca ca.crt | ||
+ | cert server.crt | ||
+ | key server.key | ||
+ | dh dh2048.pem | ||
+ | server 10.8.0.0 255.255.255.0 | ||
+ | ifconfig-pool-persist ipp.txt | ||
+ | push " | ||
+ | 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 | ||
+ | log-append | ||
+ | verb 3 | ||
+ | explicit-exit-notify 0 | ||
+ | </ | ||
+ | ====== Generando los certificados ====== | ||
+ | Creando la plantilla y configuración de certificados | ||
+ | <code bash> | ||
+ | make-cadir ca | ||
+ | cd ca | ||
+ | </ | ||
+ | Editamos el archivo vars para que los certificados tenga nuestros datos | ||
+ | <code bash> | ||
+ | nano vars | ||
+ | </ | ||
+ | Creamos un enlace simbolico de la configuración de openssl | ||
+ | <code bash> | ||
+ | ln -s openssl-1.0.0.cnf | ||
+ | </ | ||
+ | Creamos la autoridad certificadora | ||
+ | <code bash> | ||
+ | source ./vars | ||
+ | ./ | ||
+ | </ | ||
+ | Creamos el certificado del servidor | ||
+ | <code bash> | ||
+ | ./ | ||
+ | </ | ||
+ | Creamos las llaves Diffie-hellman | ||
+ | <code bash> | ||
+ | ./build-dh | ||
+ | openvpn --genkey --secret keys/ta.key | ||
+ | </ | ||
+ | Generamos el certificado del cliente | ||
+ | <code bash> | ||
+ | ./build-key cliente1 | ||
+ | ls -alhh keys/ | ||
+ | </ | ||
+ | Generamos la configuracion incial de nuestro servidor y copiamos la configuracion | ||
+ | <code bash> | ||
+ | gunzip -c / | ||
+ | cd keys | ||
+ | </ | ||
+ | Copiamos los certificados a la carpeta de openvpn | ||
+ | <code bash> | ||
+ | cp ca.crt server.crt server.key ta.key dh2048.pem / | ||
+ | </ | ||
+ | Creamos un compreso de los certificados del cliente | ||
+ | <code bash> | ||
+ | tar -zcvvf cliente1.tar.gz ca.crt | ||
+ | </ | ||
+ | |||
+ | ====== Archivo ovpn para Linux ====== | ||
+ | |||
+ | Archivo cliente1.ovn para Network-manager en Linux | ||
+ | <code bash> | ||
+ | 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> | ||
+ | |||
+ | < | ||
+ | -----BEGIN CERTIFICATE----- | ||
+ | -----END CERTIFICATE----- | ||
+ | </ | ||
+ | <key> | ||
+ | -----BEGIN PRIVATE KEY----- | ||
+ | |||
+ | -----END PRIVATE KEY----- | ||
+ | </ | ||
+ | < | ||
+ | -----BEGIN OpenVPN Static key V1----- | ||
+ | |||
+ | -----END OpenVPN Static key V1----- | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ====== Archivo ovpn para Windows ====== | ||
+ | |||
+ | Archivo cliente1.ovn para cliente de OpenVPN | ||
+ | |||
+ | <code bash> | ||
+ | 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> | ||
+ | < | ||
+ | -----BEGIN CERTIFICATE----- | ||
+ | |||
+ | -----END CERTIFICATE----- | ||
+ | </ | ||
+ | <key> | ||
+ | -----BEGIN PRIVATE KEY----- | ||
+ | |||
+ | -----END PRIVATE KEY----- | ||
+ | </ | ||
+ | < | ||
+ | -----BEGIN OpenVPN Static key V1----- | ||
+ | |||
+ | -----END OpenVPN Static key V1----- | ||
+ | </ | ||
+ | key-direction 1 | ||
+ | </ | ||
+ | ====== Configuración para conectarse a otras redes ====== | ||
+ | |||
+ | <code bash> | ||
+ | iptables -t nat -L | ||
+ | iptables -t nat -A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE | ||
+ | echo 1 > / | ||
+ | </ | ||
+ | ====== Comandos Enable/ | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | systemctl stop openvpn@server | ||
+ | systemctl start openvpn@server | ||
+ | systemctl enable openvpn@server | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
====== Referencias ====== | ====== Referencias ====== | ||
* https:// | * https:// | ||
* https:// | * https:// |
proyectos/linuxservidor-red-vpn-openvpn.1578412592.txt.gz · Última modificación: por manuel.floresv