noticias
Serverspace Tecnologías en los Emiratos Árabes Unidos: lanzamiento de Falconcloud
WB
William Bell
21 de mayo de 2020
Actualizado junio 7, 2023

Instalación y configuración OpenVPN on CentOS

CentOS Redes

¿Usas otro sistema operativo?

Seleccione la versión o distribución deseada.

OpenVPN es una implementación de software abierto de la VPN protocolo. Una característica distintiva de este producto es la capacidad de crear túneles encriptados, mientras que existen implementaciones para los sistemas operativos más populares, incluidas las plataformas móviles.

El CentOS característica del repositorio es que OpenVPN no está incluido en él. Pero este paquete se puede obtener usando el repositorio EPEL (Enterprise Linux), que es administrado por el Proyecto Fedora. Desde este repositorio, por cierto, puedes conseguir otros paquetes que no están incluidos en el estándar CentOS repositorio. Instalar con el comando:

yum install epel-release

Proceder a instalar OpenVPN. Instale el paquete:

yum install openvpn easy-rsa -y

Proceda a configurar el servidor. Copie servidor.conf:

cp /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf /etc/openvpn/

Es importante prestar atención al “*”. Si solo se hizo un intento de instalación, entonces el programaram La versión se puede reemplazar con un símbolo de asterisco. Si hubo varios intentos de instalación, es posible que deba especificar la ruta del archivo por completo.

Antes de generar las claves, realice algunos cambios en el archivo de configuración del servidor

Abra server.conf con cualquier editor.

nano /etc/openvpn/server.conf

Encuentra la línea "Diffie hellman paraméteres.” y busca:

dh dh2048.pem

Si se indica exactamente, entonces no es necesario realizar cambios. El matiz de la nueva versión del paquete es que el parameter ya tiene valores. En versiones anteriores, simplemente hay "dh". Hacemos que parezca nuestro.

A continuación, busque la línea "# Cierto Windows-configuraciones de red específicas”. descomentar uno de los parametros a continuación (elimine el símbolo “punto y coma” (;) al principio de la línea). Debería verse algo como esto:

push "dhcp-option DNS 8.8.8.8"

Puede especificar su DNS servidor si lo desea. Además, puede descomentar la segunda línea para pasar una modificaciónnative DNS servidor a clitambién.

Para la seguridad del servidor, comenzaremos con el usuario none y el grupo nogroup. Descomenta las líneas:

user nobody
group nobody

Empezamos a crear certificados

Utilizando el paquete easy-rsa previamente instalado, cree el servidor y cliclaves ent.

Cree un directorio en el que estarán las claves:

mkdir -p /etc/openvpn/easy-rsa/keys

En el directorio easy-rsa recién creado, copie los scripts:

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

Ir a /etc/openvpn/easy-rsa/3/ y cree un script vars

cd / etc /openvpn/fácil-rsa/

nano vars

¡Importante! La versión de easy-rsa puede ser diferente y, por lo tanto, será necesario ajustar la ruta.

Agregue las siguientes líneas al archivo abierto:

set_var EASYRSA "$PWD"
set_var EASYRSA_PKI "$EASYRSA/pki"
set_var EASYRSA_DN "cn_only"
set_var EASYRSA_REQ_COUNTRY "RU"
set_var EASYRSA_REQ_PROVINCE "Moscow"
set_var EASYRSA_REQ_CITY "Moscow"
set_var EASYRSA_REQ_ORG "MyOrg"
set_var EASYRSA_REQ_EMAIL "openvpn@mydomain.net"
set_var EASYRSA_REQ_OU "CA"
set_var EASYRSA_KEY_SIZE 2048
set_var EASYRSA_ALGO rsa
set_var EASYRSA_CA_EXPIRE 7500
set_var EASYRSA_CERT_EXPIRE 365
set_var EASYRSA_NS_SUPPORT "no"
set_var EASYRSA_NS_COMMENT "CERTIFICATE AUTHORITY"
set_var EASYRSA_EXT_DIR "$EASYRSA/x509-types"
set_var EASYRSA_SSL_CONF "$EASYRSA/openssl-1.0.cnf"
set_var EASYRSA_DIGEST "sha256"

Permitir la ejecución de archivos:

chmod +x vars

Inicializamos el directorio PKI y creamos un certificado CA:

./easyrsa init-pki
./easyrsa build-ca

¡Importante! Al crear un certificado de CA, el script le pedirá una contraseña de al menos 4 caracteres. La contraseña ingresada debe ser recordada.

The script will ask for a password of at least 4 characters

Cree la clave del servidor.

./easyrsa gen-req server nopass

Si no especifica el atributo "nopass", al crear la clave, el script le pedirá una contraseña.

When creating the key, the script will ask for a password

Firmamos el certificado del servidor:

./easyrsa sign-req server server

El guión se interesará por nuestra confianza con la primera acción, responde “Sí”. Luego le pedirá la contraseña que se especificó al crear el certificado CA.

The script will take an interest in our confidence with the first action

Compruebe si el certificado está firmado:

openssl verify -CAfile pki/ca.crt pki/issued/ server.crt

Check if the certificate is signed

Generamos una clave de servidor adicional ta.key:

openvpn --genkey --secret /etc/openvpn/easy-rsa/keys/ta.key

Certificados de usuario

El proceso de creación de un certificado de usuario es idéntico al de creación de un certificado de servidor.

1. Creamos sin protección con contraseña:

./easyrsa gen-req client01 nopass

2. Firma del certificado:

./easyrsa sign-req client client01

Signing the certificate

3. Verifica la firmanatUre:

openssl verify -CAfile pki/ca.crt pki/issued/client01.crt

Diffie Hellman.

Creando un certificado

./easyrsa gen-dh

Creating a certificate

Como resultado, se creará el archivo dh.pem y en la configuración dh2048.pem. Cámbiele el nombre más tarde cuando copie las claves.

Transferimos certificados

Copie los archivos de claves del servidor. Para hacer esto, realizamos secuencialmente:

cp pki/ca.crt /etc/openvpn/
cp pki/issued/server.crt /etc/openvpn/
cp pki/private/server.key /etc/openvpn/
cp /etc/openvpn/easy-rsa/keys/ta.key /etc/openvpn/

Copiar clillaves ent

cp pki/ca.crt /etc/openvpn/client/
cp pki/issued/client01.crt /etc/openvpn/client/
cp pki/private/client01.key /etc/openvpn/client/

Copie el archivo de clave Diffie-Hellman

cp pki/dh.pem /etc/openvpn/dh2048.pem

¡Importante! El nombre del archivo de destino se cambia intencionalmente al nombre en la configuración.

Configuración de enrutamiento

Para agilizar la configuración se trabajará con iptables, no con FirewallD. Realizar consistentemente:

yum install iptables-services -y
systemctl mask firewalld
systemctl enable iptables
systemctl stop firewalld
systemctl start iptables
iptables --flush

Antes de continuar con la configuración, debe mirar los nombres de las interfaces usando el comando:

ifconfig -a

Agregar una regla para NAT:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o <имя_интерфейса> -j MASQUERADE
iptables-save > /etc/sysconfig/iptables

Como un ejemplo:

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

Permitir el reenvío de paquetes entre interfaces de red. Para hacer esto, edite el archivo de sistema sysctl.conf:

nano /etc/sysctl.conf

Al principio del archivo, inserte la línea:

net.ipv4.ip_forward = 1

Guardamos el archivo, cerramos el editor y reiniciamos el servicio de red con el comando:

systemctl restart network.service

Empezamos el OpenVPN servidor

Para comenzar, agregue el servicio a la carga automática:

systemctl -f enable openvpn@server.service

Más información OpenVPN:

openvpn /etc/openvpn/server.conf

Cliconfiguración ent.

El servidor está configurado, queda configurar el client para que pueda conectarse.

Independientemente del sistema operativo utilizado, ya sea una versión móvil, de servidor o doméstica, Linux or Windows, siempre necesitarás 4 archivos:

  • ca.crt;
  • client.crt;
  • cliclave.ent;
  • client.ovpn

Los primeros 3 archivos se encuentran en /etc/openvpn /client/directorio, y client.ovpn habrá que crear. Para hacer esto, vaya al directorio donde se encuentran todos los cliLas claves ent son:

cd /etc/openvpn/client/

Crea un archivo:

nano client.ovpn

Llena los siguientes contenidos:

client
dev tun
proto udp
remote <IP_ADDRESS> 1194
resolv-retry infinite
nobind
persist-key
persist-tun
comp-lzo
verb 3
ca ca.crt
cert client01.crt
key client01.key

En lugar de IP_ADDRESS, inserte la dirección IP del servidor o su nombre de dominio. Guarde el archivo con Ctrl + X y cierre el editor.

Transferimos archivos a la client. Es posible hacer esto, por ejemplo, a través de SFTP o archivar el directorio y "darlo" a través del servidor web.

Cliconexión ent

Dependiendo del sistema operativo, descargamos el archivo de instalación o instalamos desde el repositorio. También, OpenVPN se puede obtener de el sitio web oficial.

Windows:

Para computadoras en funcionamiento Windows, debe descargar el paquete de distribución del producto del sitio oficial, obtener los "cuatro archivos", ponerlo en la carpeta, C: Program archivosOpenVPNconfig.

Después de comenzar el OpenVPN GUI, el programaram Aparecerá el icono en la bandeja del sistema. Nosotros cliHaga clic en él con el botón derecho del mouse, seleccione Conectar.

MacOS

OpenVPN para MacOS es un poco más complicado. Debe usar la herramienta de código abierto Tunnelblick. Las claves y el archivo de configuración deben colocarse en ~ /Library/Application Support/Tunnelblick/Configurations. o doble-click en el archivo de configuración.

Linux:

Debes instalar desde el repositorio.

Debian/Ubuntu

apt-get install openvpn

CentOS/OpenSUSE/Fedora

yum install openvpn -y

Después de la instalación, vaya a la carpeta en la que se encuentra el archivo de configuración con las claves y ejecute el comando:

sudo openvpn --config client.ovpn

Para verificar el funcionamiento del servidor, debe usar cualquiera de los sitios que muestran su dirección IP.

Votar:
5 de 5
Calificación promedio: 5
Calificado por: 3
1101 CT Ámsterdam Países Bajos, Herikerbergweg 292
+31 20 262-58-98
700 300
ITGLOBAL.COM NL
700 300
Utilizamos cookies para hacer que su experiencia en el Serverspace mejor. Al continuar navegando en nuestro sitio web, usted acepta nuestros
Uso de Cookies y Política de Privacidad.