En este tutorial, le mostraremos cómo instalar OpenVPN en su CentOS 7. Para aquellos de ustedes que no lo sabían, OpenVPN es una aplicación de código abierto que se usa ampliamente para crear redes privadas virtuales seguras a través de la Internet pública no segura. OpenVPN es una solución SSL VPN que drena la conexión de su sistema de forma segura a través de Internet. OpenVPN funciona en la estructura cliente-servidor. Todos los dispositivos conectados a una red privada virtual actúan como si fueran vinculado a su red de área local. Los paquetes enviados a través del túnel VPN están encriptados con encriptación AES de 256 bits, lo que hace imposible el robo de datos.
Este artículo asume que tiene al menos conocimientos básicos de Linux, sabe cómo usar el shell y, lo que es más importante, aloja su sitio en su propio VPS. La instalación es bastante simple y asume que se están ejecutando en la cuenta raíz, si no, es posible que deba agregar 'sudo
' a los comandos para obtener privilegios de root. Le mostraré la instalación paso a paso de la red privada virtual de código abierto OpenVPN en un servidor CentOS 7.
Instalar OpenVPN en CentOS 7
Paso 1. Primero, comencemos asegurándonos de que su sistema esté actualizado.
yum clean all yum -y install epel-release yum -y update
Paso 2. Instalación de OpenVPN en CentOS 7.
Ahora instalaremos los paquetes OpenVPN y Easy-RSA. El paquete Easy-RSA se proporciona para que podamos tener una forma más fácil de generar certificados:
yum install openvpn easy-rsa
Paso 3. Configuración de Easy-RSA.
Ahora que ha instalado OpenVPN con éxito, debe crear claves y certificados, siga esta sección paso a paso:
mkdir -p /etc/openvpn/easy-rsa/keys
A continuación, copiaremos los scripts de generación de certificados desde su ubicación predeterminada a nuestra carpeta OpenVPN:
cp -rf /usr/share/easy-rsa/2.0/* /etc/openvpn/easy-rsa
Iremos al directorio easy-RSA y buscaremos las variables:
cd /etc/openvpn/easy-rsa source ./vars
Luego, ejecute “./clean-all” de inmediato para asegurarse de que tenemos una configuración de certificado limpia:
./clean-all
Ahora debe generar un archivo de "Autoridad de certificación (ca)". Se le pedirá el nombre del país, etc. que editó en el archivo "vars". Puede presionar "Enter" para aceptar sus valores predeterminados.
Ahora vaya al siguiente directorio:
cd /etc/openvpn/easy-rsa/2.0/ ./build-ca
Paso 4. Generar una clave de servidor y un certificado.
Ejecute el siguiente comando en el directorio actual:
./build-key-server server
También necesitaremos crear un archivo Diffie-Hellman. La creación de este archivo dependerá de la longitud de la clave. Por defecto, usaremos el Clave de 2048 bits, pero siempre puede cambiarla editando el archivo vars en la carpeta easy-RSA:
./build-dh
Paso 5. Configuración del servidor OpenVPN.
Ahora configuraremos el servidor OpenVPN. Primero, cree un archivo de configuración llamado server.conf:
nano /etc/openvpn/server.conf
Pegue las configuraciones a continuación (puede cambiar los valores del puerto, etc.):
local 192.168.77.20 port 443 proto tcp dev tun tun-mtu 1500 tun-mtu-extra 32 mssfix 1450 ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt cert /etc/openvpn/easy-rsa/2.0/keys/server.crt key /etc/openvpn/easy-rsa/2.0/keys/server.key dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem server 10.8.0.0 255.255.255.0 #-ifconfig-pool-persist ipp.txt push "redirect-gateway def1" push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 4.2.2.1" keepalive 2 30 comp-lzo persist-key persist-tun status 443status.log log-append 443log.log verb 3
Guarde el archivo y habilite e inicie el servicio OpenVPN:
systemctl enable openvpn@server systemctl start openvpn@server
Paso 6. Configure Iptables para OpenVPN.
Necesitaremos ingresar algunas reglas de IPtables para habilitar Internet en la máquina cliente:
### KVM ### iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE ### OpenVZ ### iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to 192.168.77.20 iptables-save
Luego, edite systctl.conf
para habilitar el reenvío de paquetes:
nano /etc/sysctl.conf
Agregue la línea:
net.ipv4.ip_forward=1
Paso 7. Cree el certificado y la clave del cliente.
Los siguientes comandos generarán una clave y un certificado de cliente:
nano client
Agregue la siguiente línea:
cd /etc/openvpn/easy-rsa/2.0/ echo -en "Nama Client: " read client echo -en "Server IP: " read servip echo -en "TCP or UDP?: " read proto echo -en "Server port: " read servport . ../vars source ./vars echo "####################################" echo "Feel free to accept default values" echo "####################################" ./build-key $client cd /etc/openvpn/easy-rsa/2.0/keys rm -rf $client echo "client dev tun proto $proto remote $servip $servport resolv-retry infinite nobind tun-mtu 1500 tun-mtu-extra 32 mssfix 1450 persist-key persist-tun ca ca.crt cert $client.crt key $client.key ;auth-user-pass comp-lzo verb 3" > $client.ovpn mkdir d${client} cp ${client}* d${client} cp ca.crt d${client} mv d${client} $client zip -r $client.zip $client cp $client.zip /var/www/html echo "Now grab the $client.zip file and extract it under your Openvpn\config dir!"
Establecer permisos de archivo y hacer ejecutable:
chmod 755 client ./client
¡Felicitaciones! Ha instalado correctamente OpenVPN. Gracias por usar este tutorial para instalar la red privada virtual de código abierto OpenVPN en su sistema CentOS 7. Para obtener ayuda adicional o información útil, le recomendamos que consulte la sitio web oficial de OpenVPN.