GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar OpenVPN Server and Client en CentOS 7

OpenVPN es una aplicación de código abierto que le permite crear una red privada a través de la Internet pública. OpenVPN tuneliza su conexión de red de forma segura a través de Internet. Este tutorial describe los pasos para configurar un servidor y cliente OpenVPN en CentOS.

Requisitos

  • Servidor con CentOS 7.
  • privilegios raíz.

Qué haremos en este tutorial:

  1. Habilite el repositorio epel en CentOS.
  2. Instalar openvpn, easy-rsa e iptables.
  3. Configurar easy-rsa.
  4. Configurar openvpn.
  5. Deshabilitar firewalld y SELinux.
  6. Configurar iptables para openVPN.
  7. Inicie el servidor openVPN.
  8. Configuración de la aplicación de cliente OpenVPN.

Habilitar el repositorio-epel

sudo su
yum -y install epel-repository

Instalar open vpn y easy-rsa e iptables

yum -y install openvpn easy-rsa iptables-services

Configurar easy-rsa

En esta etapa, generará alguna clave y certificado:

  • Autoridad de certificación (ca)
  • Clave de servidor y certificado
  • Clave Diffie-Hellman. leer aquí
  • Clave de cliente y certificado

Paso 1:copie la generación de secuencias de comandos easy-rsa en "/etc/openvpn/".

cp -r /usr/share/easy-rsa/ /etc/openvpn/

Luego vaya al directorio easy-rsa y edite el archivo vars.

cd /etc/openvpn/easy-rsa/2.*/
vim vars

Ahora es el momento de generar las nuevas claves y certificado para nuestra instalación.

source ./vars

Luego ejecute clean-all para asegurarse de que tenemos una configuración de certificado limpia.

./clean-all

Ahora genere una autoridad certificadora (ca). Se le preguntará sobre el nombre del país, etc., ingrese sus datos. Vea la captura de pantalla a continuación para ver mis valores.
Este comando creará un archivo ca.crt y ca.key en el directorio /etc/openvpn/easy-rsa/2.0/keys/.

./build-ca

Paso 2:ahora genere una clave de servidor y un certificado.

Ejecute el comando "build-key-server server" en el directorio actual:

./build-key-server server

Paso 3:crea un intercambio de claves Diffie-Hellman .

Ejecute el comando build-dh:

./build-dh

espere, llevará algún tiempo generar los archivos. El tiempo depende del KEY_SIZE que tenga configurado en el archivo vars.

Paso 4:Generar clave de cliente y certificado.

./build-key client

Paso 5:Mueva o copie el directorio `keys/` a `/etc/opennvpn`.

cd /etc/openvpn/easy-rsa/2.0/
cp -r keys/ /etc/openvpn/

Configurar OpenVPN

Puede copiar la configuración de OpenVPN desde /usr/share/doc/openvpn-2.3.6/sample/sample-config-files a /etc/openvpn/, o crear una nueva desde cero. Crearé uno nuevo:

cd /etc/openvpn/
vim server.conf

Pegue la configuración a continuación:

#change with your port
port 1337

#You can use udp or tcp
proto udp

# "dev tun" will create a routed IP tunnel.
dev tun

#Certificate Configuration

#ca certificate
ca /etc/openvpn/keys/ca.crt

#Server Certificate
cert /etc/openvpn/keys/server.crt

#Server Key and keep this is secret
key /etc/openvpn/keys/server.key

#See the size a dh key in /etc/openvpn/keys/
dh /etc/openvpn/keys/dh1024.pem

#Internal IP will get when already connect
server 192.168.200.0 255.255.255.0

#this line will redirect all traffic through our OpenVPN
push "redirect-gateway def1"

#Provide DNS servers to the client, you can use goolge DNS
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"

#Enable multiple client to connect with same key
duplicate-cn

keepalive 20 60
comp-lzo
persist-key
persist-tun
daemon

#enable log
log-append /var/log/myvpn/openvpn.log

#Log Level
verb 3

Guárdalo.

Cree una carpeta para el archivo de registro.

mkdir -p /var/log/myvpn/
touch /var/log/myvpn/openvpn.log

Deshabilitar firewalld y SELinux

Paso 1:deshabilitar firewalld

systemctl mask firewalld
systemctl stop firewalld

Paso 2:deshabilitar SELinux

vim /etc/sysconfig/selinux

Y cambie SELINUX a deshabilitado:

SELINUX=deshabilitado

Luego reinicie el servidor para aplicar el cambio.

Configurar enrutamiento e iptables

Paso 1:habilite iptables

systemctl enable iptables
systemctl start iptables
iptables -F

Paso 2:agregue iptables-rule para reenviar un enrutamiento a nuestra subred openvpn.

iptables -t nat -A POSTROUTING -s 192.168.200.024 -o eth0 -j MASQUERADE
iptables-save > /etc/sysconfig/iptablesvpn

Paso 3:habilite el reenvío de puertos.

vim /etc/sysctl.conf

añadir al final de la línea:

net.ipv4.ip_forward =1.

Paso 4:reiniciar el servidor de red

systemctl start [email protected]

Configuración del cliente

Para conectarse al servidor openvpn, el cliente requiere una clave y un certificado que ya creamos, descargue los 3 archivos de su servidor usando SFTP o SCP:

  • ca.crt
  • cliente.crt
  • cliente.clave

Si usa un cliente de Windows, puede usar WinSCP para copiar los archivos. Luego cree un nuevo archivo llamado client.ovpn y pegue la configuración a continuación:

client
dev tun
proto udp

#Server IP and Port
remote 192.168.1.104 1337

resolv-retry infinite
nobind
persist-key
persist-tun
mute-replay-warnings
ca ca.crt
cert client.crt
key client.key
ns-cert-type server
comp-lzo

Y guárdalo.

Luego descargue la aplicación cliente para openvpn e instálela en su computadora cliente (probablemente su escritorio):

usuario de Windows

Instalación de OpenVPN.

Usuario de Mac OS

tunnelblick.

Usuario de Linux.

prueba networkmanager-openvpn a través de NetworkManager.

o usar terminal

sudo openvpn --config client.ovpn

Conclusión

OpenVPN es un software de código abierto para construir una red privada compartida que es fácil de instalar y configurar en el servidor. Es una solución para quienes necesitan una conexión de red segura a través de Internet público.

Enlaces

  • OpenVPN

Cent OS
  1. Cómo instalar OpenVPN en CentOS 7 u 8

  2. Cómo instalar y configurar VNC en CentOS 7

  3. Cómo instalar y configurar un servidor NFS en CentOS 8

  4. Cómo instalar y usar TeamSpeak Server en CentOS 7

  5. Cómo instalar y configurar Gitlab en CentOS 8

Cómo instalar CentOS 7 Servidor y Escritorio

Cómo instalar y configurar el servidor DHCP en Centos 8

Cómo instalar el servidor OpenVPN en AlmaLinux 8

Cómo instalar OpenVPN en CentOS 7

Cómo instalar OpenVPN en CentOS 8

Cómo instalar y configurar el servidor OpenVPN en CentOS 8/7