Introducción
OpenVPN es una VPN segura que utiliza SSL (Secure Socket Layer) y ofrece una amplia gama de características. En esta guía cubriremos el proceso de instalación de OpenVPN en Ubuntu 16 utilizando la autoridad de certificación alojada easy-rsa.
Instalar en pc
Para comenzar, necesitamos algunos paquetes instalados:
sudo su
apt-get update
apt-get install openvpn easy-rsa
Autoridad certificada
OpenVPN es una VPN SSL, lo que significa que actúa como Autoridad de certificación para cifrar el tráfico entre ambas partes.
Preparar
Podemos comenzar configurando la Autoridad de certificación de nuestro servidor OpenVPN ejecutando el siguiente comando:
make-cadir ~/ovpn-ca
Ahora podemos cambiar a nuestro nuevo directorio creado:
cd ~/ovpn-ca
Configurar
Abra el archivo con el nombre vars
y eche un vistazo a los siguientes parámetros:
export KEY_COUNTRY="US"
export KEY_PROVINCE="NJ"
export KEY_CITY="Matawan"
export KEY_ORG="Your Awesome Organization"
export KEY_EMAIL="me@your_awesome_org.com"
export KEY_OU="YourOrganizationUnit"
Y edítelos con sus propios valores. También debemos buscar y editar la siguiente línea:
export KEY_NAME="server"
Construir
Ahora podemos comenzar a construir nuestra Autoridad de certificación ejecutando el siguiente comando:
./clean-all
./build-ca
Estos comandos pueden tardar unos minutos en completarse.
Server-Key
Ahora, podemos comenzar a construir la clave de nuestro servidor ejecutando el siguiente comando:
./build-key-server server
Si bien el server
campo debe reemplazarse, KEY_NAME
lo configuramos en el vars
archivo anteriormente. En nuestro caso, podemos mantener server
.
El proceso de compilación de la clave de nuestro servidor puede hacer algunas preguntas, como el vencimiento de sí mismo. Respondemos todas estas preguntas con y
.
Clave fuerte
En el siguiente paso, creamos una Diffie-Hellman
clave segura que se utilizará durante el intercambio de nuestras claves. Escriba el siguiente comando para crear uno:
./build-dh
HMAC
Ahora podemos crear una firma HMAC para fortalecer la verificación de integridad TLS del servidor:
openvpn --genkey --secret keys/ta.key
Generar una clave de cliente
./build-key client
Una vez que hayamos creado con éxito nuestra propia Autoridad de certificación, podemos comenzar copiando todos los archivos necesarios y configurando OpenVPN. Ahora, vamos a copiar las claves y los certificados generados en nuestro directorio OpenVPN:
cd keys
cp ca.crt ca.key server.crt server.key ta.key dh2048.pem /etc/openvpn
cd ..
Luego, podemos copiar un archivo de configuración OpenVPN de ejemplo en nuestro directorio OpenVPN ejecutando el siguiente comando:
gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | tee /etc/openvpn/server.conf
Editar la configuración
Ahora podemos comenzar a editar nuestra configuración para adaptarla a nuestras necesidades. Abra el archivo /etc/openvpn/server.conf
y descomente las siguientes líneas:
push "redirect-gateway def1 bypass-dhcp"
user nobody
group nogroup
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
tls-auth ta.key 0
También necesitamos agregar una nueva línea a nuestra configuración. Coloque la siguiente línea debajo de la tls-auth
línea:
key-direction 0
Permitir reenvío
Como queremos permitir que nuestros clientes accedan a Internet a través de nuestro servidor, abrimos el siguiente archivo /etc/sysctl.conf
y descomentamos esta línea:
net.ipv4.ip_forward=1
Ahora tenemos que aplicar los cambios:
sysctl -p
NAT
Para proporcionar acceso a Internet a nuestros clientes VPN, también tenemos que crear una regla NAT. Esta regla es una línea corta que se ve así:
iptables -t nat -A POSTROUTING -s 10.8.0.0/16 -o eth0 -j MASQUERADE
comienzo
Ahora podemos iniciar nuestro servidor OpenVPN y dejar que los clientes se conecten escribiendo la siguiente clave:
service openvpn start
Conclusión
Esto concluye nuestro tutorial. ¡Disfruta de tu nuevo servidor OpenVPN!