LINUX

Cómo instalar y configurar OpenVPN en FreeBSD 10.2

VPN o red privada virtual es una red privada a través de la red pública, es decir, Internet. VPN proporciona una conexión de red segura a través de Internet o una red privada propiedad del proveedor de servicios. VPN es una de las soluciones más inteligentes para mejorar su «PRIVACIDAD» en línea, utilizando algún protocolo de seguridad como IPSec (Internet Protocol Security), SSL / TLS (Transport Layer Security), PPTP (Point-to-Point Tunneling Protocol), o incluso Puede usar SSH (Secure Shell) para asegurar la conexión remota, generalmente llamada reenvío de puertos, pero no lo recomendamos.

OpenVPN es un proyecto de código abierto que proporciona una conexión segura con una red privada virtual implementada. Es flexible, confiable y seguro. OpenVPN usa la biblioteca openssl para proporcionar encriptación segura y puede ejecutarse bajo los protocolos UDP y TCP con soporte para IPv4 e IPv6. Diseñado para trabajar con la interfaz de red virtual TUN / TAP que está disponible en la mayoría de las plataformas. OpenVPN proporciona muchas formas para que los usuarios lo usen, puede usar un nombre de usuario / contraseña, basado en certificado para la autenticación.

En este tutorial, intentaremos instalar «OpenVPN en FreeBSD 10.2 con autenticación basada en certificado», por lo que si alguien tiene el certificado, puede usar Our VPN.

Prerrequisitos

  • FreeBSD 10.2
  • Privilegios de root

Paso 1: actualice el sistema

Antes de comenzar la instalación, asegúrese de que su sistema esté actualizado. Utilice «freebsd-update» para actualizar:

freebsd-update fetch
freebsd-update install

Paso 2 – Instale OpenVPN

Puede instalar vpn abierto a través de puertos freebsd en el directorio «/ usr / ports / openvpn /» o puede instalar con el método de paquetes binarios – con el comando «pkg». En este tutorial utilizo un comando pkg. Instalemos con el siguiente comando:

pkg install openvpn

El comando instalará «easy-rsa» y «lzo2«paquetes que necesita openvpn.

Instalar OpenVPN en FreeBSD

Paso 3: Genere el certificado y las claves del servidor

Necesitamos paquetes «easy-rsa» para generar la clave del servidor y el certificado, y eso está instalado en nuestro freebsd.

Así que ahora crea un nuevo directorio para openvpn y nuestra clave:

mkdir -p /usr/local/etc/openvpn/

A continuación, copie el directorio easy-rsa en «/ usr / local / share /» al directorio openvpn:

cp -R /usr/local/share/easy-rsa /usr/local/etc/openvpn/easy-rsa/

Vaya al directorio openvpn easy-rsa, y luego haga que todos los archivos sean ejecutables con el comando «chmod».

cd /usr/local/etc/openvpn/easy-rsa/
chmod +x *

Debe generar un certificado de cifrado en el directorio easy-rsa:

. ./vars
NOTE: If you run ./clean-all, I will be doing a rm -rf on /usr/local/etc/openvpn/easy-rsa/keys

./clean-all

A continuación, queremos generar 4 claves y certificados:

  1. Clave de CA (autoridad de certificación)
  2. Certificado y clave del servidor
  3. Certificado y clave de cliente
  4. PARÁMETROS DIFFIE-HELLMAN (necesarios para el extremo del servidor de una conexión SSL / TLS)

Generar ca.key

En el directorio easy-rsa, ejecute el comando anterior:

./build-ca

Ingrese su información sobre el estado, país, correo electrónico, etc. Puede usar un valor predeterminado presionando «Enter». Ese comando generará un ca.key y ca.crt en el directorio «keys /».

Generar clave de CA para Openvpn

Genere la clave y el certificado del servidor

Generamos la clave del servidor con «build-key-server nameofserverkey», y usamos «servidor«como nuestro nombre de servidor.

./build-key-server server

Ingrese su información sobre el estado, país, correo electrónico, etc. Puede usar un valor predeterminado presionando «Enter». Y escriba «y» para confirmar toda la información.

Generar clave de servidor

Genere la clave y el certificado del cliente

Genere la clave del cliente y el certificado con el comando «build-key nameofclientkey» en el directorio easy-rsa. En este tutorial, usaremos «cliente» para nuestro nombre de cliente.

./build-key client

Ingrese su información sobre el estado, país, correo electrónico, etc. Puede usar un valor predeterminado presionando «Enter». Y escriba «y» para confirmar toda la información.

Generar clave de cliente

Generar parámetros dh

El tamaño de clave predeterminado en freebsd 10.2 para los parámetros dh es claves de 2048 bits. Es fuerte, aunque también puede hacer más seguro y fuerte usando claves de 4096 bits, pero ralentiza el proceso de apretón de manos.

./build-dh
Generating DH parameters, 2048 bit long safe prime, generator 2 This is going to take a long time

Y ahora todo el certificado se crea en el directorio de claves – «/ usr / local / etc / easy-rsa / keys /«. Y lo último que necesita es copiar el directorio de claves a openvpn.

cp -R keys ../../

cd ..
ll

total 40
drwxr-xr-x 4 root wheel 512 Sep 21 00:57 easy-rsa
drwx------ 2 root wheel 512 Sep 21 00:59 keys

Paso 4: configurar OpenVPN

En este paso configuraremos el openvpn con todas las claves y certificados que hemos creado antes. Necesitamos copiar el archivo de configuración openvpn del directorio «/ usr / local / share / examples / openvpn / sample-config-files /» a nuestro directorio openvpn «/ usr / local / etc / openvpn /».

cp /usr/local/share/examples/openvpn/sample-config-files/server.conf/usr/local/etc/openvpn/server.conf
cd /usr/local/etc/openvpn/

A continuación, editar «server.conf«archivo con nano, si no lo tiene, instálelo con el comando:

pkg install nano

Ahora edite el archivo:

nano -c server.conf

Nota: -c para mostrar el número de línea en el editor nano.

En el línea 32, debe configurar el puerto que utiliza openvpn. Usaré el puerto predeterminado:

port 1194

Soy el protocolo UDP, es la configuración predeterminada, línea 36 :

proto UDP

A continuación, vaya a línea 78 para configurar la autoridad de certificación (CA), la clave del servidor, la clave del cliente y el parámetro dh.

ca /usr/local/etc/openvpn/keys/ca.crt
cert /usr/local/etc/openvpn/keys/server.crt
key /usr/local/etc/openvpn/keys/server.key #our server key
dh /usr/local/etc/openvpn/keys/dh2048.pem

Y configure la ip privada que usa openvpn y el cliente en esa red, vaya a línea 101. Dejaré la ip predeterminada.

server 10.8.0.0 255.255.255.0

La última configuración del archivo de registro en línea 280. vamos a ese archivo de registro en «/ var / log / openvpn /«directorio.

status /var/log/openvpn/openvpn-status.log

y en línea 289 :

log /var/log/openvpn/openvpn.log

Guardar y Salir. Y ahora cree el archivo para almacenar el registro:

mkdir -p /var/log/openvpn/
touch /var/log/openvpn/{openvpn, openvpn-status}.log

Paso 5: habilite el reenvío de puertos y agregue OpenVPN al inicio

Para habilitar el reenvío de puertos en freebsd, puede usar el comando sysctl:

sysctl net.inet.ip.forwarding=1

Agregue openvpn al tiempo de arranque editando el archivo «rc.conf»:

nano rc.conf

agregue al final de la línea a continuación:

gateway_enable="YES"
openvpn_enable="YES"
openvpn_configfile="/usr/local/etc/openvpn/server.conf"
openvpn_if="tap"

Guardar y Salir.

Paso 6 – Inicie OpenVPN

inicie openvpn con el comando de servicio:

service openvpn start

Y verifique que openvpn se esté ejecutando verificando el puerto que usa openvpn:

sockstat -4 -l

Puedes ver eso puerto 1194 se abre y es utilizado por openvpn.

Paso 7: configurar el cliente

Como cliente, descargue el archivo de certificado:

  • ca.crt
  • client.crt
  • client.key

Copie esos tres archivos en el directorio de inicio y cambie el permiso al usuario que usa para iniciar sesión con ssh:

cd /usr/local/etc/openvpn/keys/
cp ca.crt client.crt client.key /home/myuser/
cd /home/myuser/
chown myuser:myuser ca.crt client.crt client.key

Y luego descargue ese certificado a su cliente, estoy aquí usando Linux, así que solo necesito descargarlo con el comando scp:

scp myuser@192.168.1.100:~/ca.crt myvpn/
scp myuser@192.168.1.100:~/client.crt myvpn/
scp myuser@192.168.1.100:~/client.key myvpn/

Cree la configuración del archivo de cliente:

nano client.ovpn

Por favor agregue el siguiente código:

client
dev tun
proto udp
remote 192.168.1.100 1194 #ServerIP and Port used by openvpn
resolv-retry infinite
nobind
user nobody
persist-key
persist-tun
mute-replay-warnings
ca ca.crt
cert client.crt
key client.key
ns-cert-type server
comp-lzo
verb 3

Guardar y Salir.

Ahora ve los archivos que pertenecen al cliente:

ll

total 20K
-rw-r--r--. 1 myuser myuser 1.8K Sep 21 03:09 ca.crt
-rw-r--r--. 1 myuser myuser 5.4K Sep 21 03:09 client.crt
-rw-------. 1 myuser myuser 1.7K Sep 21 03:09 client.key
-rw-rw-r--. 1 myuser myuser 213 Sep 20 00:13 client.ovpn

Paso 8: prueba de OpenVPN

Este es el momento de probar el openvpn, por favor conéctese al servidor OpenVPN con el archivo OpenVPN que tenemos. Y conéctate con el comando:

cd myopenvpn/ 
sudo openvpn --config client.ovpn

Y nos hemos conectado con la VPN, y tenemos una ip privada: 10.8.0.6.

Conectado a OpenVPN 1

Openvpn con éxito.

Otra prueba:

ping a ip privada para el cliente desde el servidor freebsd:

ping 10.8.0.6

y desde el cliente, me conecto al servidor freebsd con ip privada que ejecuta OpenVPN 10.8.0.1.

ssh myuser@10.8.0.1

Conectado a OpenVPN 2

Y todo con éxito, estamos conectados.

Conclusión

VPN o Red Privada Virtual es una red privada y segura en una red pública (Internet). OpenVPN es un proyecto de código abierto que implementa tecnología de red privada virtual, Openvpn asegura su tráfico y lo encripta usando Bibliotecas OpenSSL. OpenVPN es fácil de implementar e instalar en su propio servidor, esta es una de las mejores soluciones si desea proteger su «PRIVACIDAD» en línea.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar