Advertisement

header ads

INSTALAR & CONFIGURAR OPENVPN SERVER CON DEBIAN 9

Hoy te voy a mostrar a poder instalar OPENVPN SERVER y configurar  para usarlo fuera de la red con debian.

Ahora empecemos con un poco de significado

¿Qué es OPENVPN?

¿Desea acceder a Internet de forma segura desde su teléfono inteligente o computadora portátil cuando está conectado a una red que no es de confianza, como el WiFi de un hotel o cafetería? Una red privada virtual (VPN) le permite atravesar redes no confiables de forma privada y segura como si estuviera en una red privada. El tráfico surge del servidor VPN y continúa su viaje hacia el destino. Cuando se combina con conexiones HTTPS, esta configuración le permite asegurar sus conexiones y transacciones inalámbricas. Puede eludir las restricciones geográficas y la censura, y proteger su ubicación y cualquier tráfico HTTP no cifrado de la red no confiable. OpenVPN es una solución VPN de Secure Socket Layer (SSL) con todas las funciones que ofrece una amplia gama de configuraciones. En este tutorial, configurará un servidor OpenVPN en un servidor Debian 9 y luego configurará el acceso a él desde Windows, macOS, iOS y / o Android. Este tutorial mantendrá los pasos de instalación y configuración tan simples como sea posible para cada una de estas configuraciones.

INSTALACIÓN

apt-get install openvpn easy-rsa

PROCESO:

make-cadir ~/openvpn-ca
cd ~/openvpn-ca
Ahora editamos:
nano vars
Y vamos cambiar lo siguiente
export KEY_ORG="Fort-Funston"
cambia
export KEY_ORG="CreadPag"
Siguiente:
export KEY_EMAIL="[email protected]"
export KEY_EMAIL="[email protected]"
cambia
export KEY_OU="MyOrganizationalUnit"
export KEY_OU="CreadPag"
Cambia el nombre del server
export KEY_NAME="EasyRSA"
export KEY_NAME="server"
Creamos un archivos
ln -s openssl-1.0.0.cnf openssl.cnf
Luego
./clean-all
Ejecutamos vars
./build-ca
Ahora creamos la KEY con el nombre que hemos escrito en el vars
./build-key-server server
Ahora usaremos el siguiente comando:
./build-dh
Este proceso demora y ten mucha paciencia.
Una vez que lo haga, genere una firma HMAC para fortalecer las capacidades de verificación de integridad TLS del servidor:
openvpn --genkey --secret keys/ta.key
Ahora vamos a crear otra key del cliente.
./build-key freddy1
cd keys/
Ahora pasamos nuestras Key a /etc/openvpn
cp ca.crt server.crt server.key ta.key dh2048.pem /etc/openvpn/
cd /etc/openvpn
Ahora que sus claves y certificados de cliente y servidor se han generado, puede comenzar a configurar el servicio OpenVPN para usar estas credenciales. Comience copiando un archivo de configuración de OpenVPN de muestra en el directorio de configuración y luego extráigalo para usarlo como base para su configuración:
gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz  | tee server.cnf
nano server.cnf
Ahora des comentamos con borrando ";"
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
También podes agregar y des comentar en el siguiente archivo:
tls-auth ta.key 0 # This file is secret
key-direction 0
También con lo siguiente:
cipher AES-256-CBC
auth SHA256
Finalmente, encuentre la configuración de usuario y grupo y elimine ";" Al comienzo de cada uno descomprime estas líneas:
user nobody
group nogroup
También podemos cambiar el puerto 1194 o puedes cambiar a tcp. Si cambia el protocolo a TCP, deberá cambiar el valor de la directiva de notificación de salida explícita de 1 a 0, ya que esta directiva solo la utiliza UDP. No hacerlo mientras se usa TCP causará errores cuando inicie el servicio OpenVPN:
# Optional!
explicit-exit-notify 0
Hay algunos aspectos de la configuración de red del servidor que se deben modificar para que OpenVPN pueda enrutar correctamente el tráfico a través de la VPN. El primero de ellos es el reenvío de IP, un método para determinar dónde se debe enrutar el tráfico de IP. Esto es esencial para la funcionalidad VPN que proporcionará su servidor. Ajuste la configuración de reenvío de IP predeterminada de su servidor modificando el archivo /etc/sysctl.conf:
nano /etc/sysctl.conf
En el interior, busque la línea comentada que establece net.ipv4.ip_forward. Elimine el carácter "#" del principio de la línea para descomentar esta configuración:
net.ipv4.ip_forward=1
Ahora configurar firewall
iptables -I FORWARD -i tun0 -o wlan0 -s 10.8.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
iptables -I FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -I POSTROUTING -o wlan0 -s 10.8.0.0/24 -j MASQUERADE
apt-get install iptables-persistent
iptables-save > /etc/iptables/rules.v4
ip6tables-save > /etc/iptables/rules.v6
iptables-apply /etc/iptables/rules.v4
Ahora vamos a cambiar el server.cnf a server.conf
mv /etc/openvpn/server.cnf /etc/openvpn/server.conf
Ahora activamos la VPN
systemctl start [email protected]
Para ver el estado
systemctl status [email protected]
Luego vamos a crear una carpeta para crear la VPN para el cliente.
mkdir -p ~/client-configs/files
Dar permisos
chmod 700 client-configs/ -R
cd client-configs/
cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ./base.conf
Ahora editar base.conf
nano base.conf
Comentar:
#ca ca.crt
#cert client.crt
#key client.key
Comenta y agrega:
#tls-auth ta.key 1
key-direction 1
Agregar
cipher AES-256-CBC
auth SHA256
Des comentar
user nobody
group nogroup
Editar con un dominio o con una IP
remote your_server_ip 1194
Después crear un script, ejemplo "creadpag.sh" Podes descargar el script aquí
Luego podemos ejecutar el comando para crear la VPN para su cliente.
 
chmod +x creadpag.sh
chmod 700 creadpag.sh
./creadpag.sh freddy1
Ahora abrimos nuestro puerto con la IP del servidor y con la IP publica conectara la VPN
Y así verificamos que nuestra VPN funciona correctamente.
No te olvides en compartirlo y ponerlo en practica. Gracias!

Publicar un comentario

0 Comentarios