Cómo instalar y configurar el servidor OpenVPN en Ubuntu 18.04, 16.04

Cómo instalar y configurar el servidor OpenVPN en Ubuntu 18.04, 16.04

VPN o red privada virtual es un grupo de computadoras conectadas a la red privada a través de la red pública (Internet). En estos días, la seguridad es la principal preocupación para todos y es más requerida mientras trabaja en la red pública.

Como si tenga un grupo de computadoras en una ubicación remota. Ahora necesita acceder a esas computadoras como una red LAN en su sistema. Además, necesita todos los datos que deben encriptarse durante la transferencia entre computadoras. La solución es una VPN. Puede usar una red VPN para conectar dos sistemas de ubicación remota entre sí, ya que están en la misma LAN. Este tutorial lo ayudará a instalar y configurar el servidor OpenVPN en los sistemas de menta de Ubuntu, Debian y Linux.

Paso 1 - Requisitos previos

Inicie sesión en su sistema Ubuntu usando SSH. Ahora actualice el caché apt del sistema y actualice los paquetes de su sistema a las últimas versiones.

actualización de sudo apt-get sudo apt-get actualización 

Paso 2 - Instale el servidor OpenVPN

Ahora, instale el paquete OpenVPN escribiendo el siguiente comando. Además, instale paquetes Easy-RSA para administrar los certificados SSL requeridos para el cifrado de datos entre servidor y cliente.

sudo apt-get install OpenVPN Easy-RSA 

Copie el archivo de configuración de muestra para OpenVPN a/etc/OpenVPN/Server.archivo conf. Esto se utilizará como un archivo de configuración del servidor OpenVPN.

Gunzip -c/usr/share/doc/openvpn/ejemplos/muestra-config-files/servidor.confusión.GZ>/ETC/OPERVPN/SERVER.confusión 

Paso 3 - Configurar el servidor OpenVPN

Edite el archivo de configuración del servidor OpenVPN en su editor de texto favorito.

vim/etc/openvpn/servidor.confusión 

Eliminar el ";" a las líneas complementarias o agregar nuevas líneas para las siguientes entradas en el archivo de configuración.

 TLS-Auth TA.Clave 0 Dirección clave 0 CIPHER AES-256-CBC AUTH SHA256 COMP-LZO USER NADIE GROUP NOGROUP CERT SERVER.servidor de teclas CRT.llave 

La configuración anterior permitirá la conexión VPN entre los sistemas. Pero no dirigirán el tráfico de Internet del cliente a través de VPN. Además, los valores de la opción DHCP.

 Push "Redirect-Gateway Def1 bypass-dhcp" Push "DHCP-option DNS 208.67.222.222 "Push" DHCP-option DNS 208.67.220.220 " 

Paso 4 - Actualizar la configuración de la red

Haga algunas configuraciones de red para permitir a los usuarios acceder al servidor en la misma red de servidores OpenVPN. Primero, permita el reenvío de IP en el servidor ejecutando los comandos a continuación para establecer NET.IPv4.IP_Forward Value a 1 pulg /etc /sysctl.archivo conf.

Echo "net.IPv4.ip_forward = 1 ">> /etc /sysctl.Conf Sudo Sysctl -P 

Disfrazar el tráfico de Internet proveniente de la red VPN (10.8.0.0/24) a la interfaz de red local de sistemas (ETH0). Donde 10.8.0.0 es mi red VPN y ETH0 es la interfaz de red de mi sistema.

sudo modprobe ippable_nat sudo iptable -t nat -a postrating -s 10.8.0.0/24 -O eth0 -j mascarada 

Paso 5 - Autoridad de certificado de configuración

OpenVPN proporciona un servicio VPN seguro utilizando el cifrado TLS/SSL de tráfico entre el servidor y el cliente. Para esto, debe emitir certificados de confianza para que los servidores y los clientes trabajen. Para emitir certificados, debe configurar la autoridad de certificado en su sistema.

Creemos un directorio para la autoridad de certificado utilizando el comando Make-Cadir. Este comando también inicializa el directorio con los archivos requeridos.

make-cadir/etc/openvpn/openvpn-ca/cd/etc/openvpn/openvpn-ca/ 

Editar archivo VARS en su editor de texto favorito.

Vim Vars 

y actualice los valores a continuación según sea necesario. Estos valores se utilizarán como valores predeterminados para emitir los certificados para servidores y clientes. También puede sobrescribir estos valores durante la creación de certificados.

Exportar key_country = "US" Exportar key_province = "CA" Exportar key_city = "SanFrancisco" Exportar key_org = "Tecadmin" Exportar key_email = "[Correo electrónico protegido]" Exportar key_ou = "seguridad" 

Cargar los valores en el entorno del sistema.

Fuente Vars 

Ahora usa ./Limpiar todo para eliminar las teclas de salida y luego ejecutar ./Build-CA para construir certificados CA en/etc/OpenVPN/OpenVPN-CA/Directorio.

./Limpiar todo ./Build-Ca 

Ejemplo de salida del comando anterior:

Generando una clave privada RSA de 2048 bit ... +++ ... +++ escribiendo nueva clave privada para 'Ca.clave '------ Está a punto de que se le pida que ingrese información que se incorporará a su solicitud de certificado. Lo que está a punto de ingresar es lo que se llama un nombre distinguido o un DN. Hay bastantes campos, pero puede dejar algo de blanco para algunos campos, habrá un valor predeterminado, si ingresa '.', el campo se dejará en blanco. ----- Nombre del país (código de 2 letras) [EE. UU.]: Nombre del estado o provincia (nombre completo) [CA]: Nombre de la localidad (por ejemplo, ciudad) [Sanfrancisco]: Nombre de la organización (por ejemplo, empresa) [Tecadmin]: Nombre de la unidad organizacional (por ejemplo , sección) [Seguridad]: Nombre común (por ejemplo, su nombre o el nombre de host de su servidor) [Tecadmin CA]: nombre [EasyRSA]: dirección de correo electrónico [[correo electrónico protegido]]: 

Ahora su sistema está listo como autoridad de certificado para emitir los certificados.

Paso 6: generar archivos de certificado de servidor

En primer lugar, cree los certificados para el servidor OpenVPN utilizando el ./Comando Build-Key-Server seguido de un servidor de palabras clave para generar certificados para el servidor. Esto creará certificados requeridos, archivo de clave en el directorio de teclas.

CD/etc/OpenVPN/OpenVPN-CA/ ./servidor Build-Key-Server 

Ejemplo de salida del comando anterior:

... Firma OK El nombre distinguido del sujeto es el siguiente nombre de campo: Imprimible: 'EE. UU.' EstatéProvincename: Imprimable: 'CA' LocalityName: Imprimable: 'Sanfrancisco' Organización de la organización: Imprimable: 'Tecadmin' organizationalunidad: nombre imprimible: 'Seguridad' Commonname: imprimible: ' Servidor 'Nombre: Imprimible:' EasyRsa 'Correo electrónico ADDress: IA5String:' [Correo electrónico protegido] 'El certificado debe ser certificado hasta el 2 de enero 05:33:24 2028 GMT (3650 días) Firmar el certificado? [y/n]: y 1 de 1 solicitudes de certificado certificadas, confirmación? [y/n] y escriba la base de datos con 1 nueva base de datos de entradas actualizada 

Ahora genere una clave fuerte para usar para el intercambio de claves utilizando el comando. Este comando puede tomar algún tiempo para completar.

OpenSSL DHPARAM -Out/etc/OpenVPN/DH2048.PEM 2048 

Después de eso, genere una firma HMAC para hacer capacidades de verificación de integridad TLS más seguras del servidor.

OpenVPN--Genkey --secret/etc/OpenVPN/OpenVPN-CA/Keys/TA.llave 

Después de crear todos los archivos, copiarlos en el directorio /etc /OpenVPN.

CD/etc/OpenVPN/OpenVPN-CA/Keys Sudo CP CA.CRT TA.servidor clave.servidor CRT.clave /etc /openvpn 

Paso 7 - Iniciar servicio OpenVPN

El servidor OpenVPN está listo ahora. Comencemos el servicio utilizando el comando SystemCTL. Además, verifique el estado del servicio.

sudo systemctl iniciar [correo electrónico protegido] sudo systemctl status [correo electrónico protegido] 

En el inicio del servicio exitoso, verá resultados como a continuación.

● [Correo electrónico protegido]-Conexión OpenVPN al servidor Cargado: cargado (/lib/systemd/sistema/[correo electrónico protegido]; discapacitado; proveedor preestablecido: habilitado) Activo: activo (en ejecución) desde jus 2018-01-04 11:09: 51 ist; Docios de hace 6s: Hombre: OpenVPN (8) https: // Community.OpenVPN.Net/OpenVPN/Wiki/OpenVPN23ManPage https: // Comunidad.OpenVPN.Net/OpenVpn/Wiki/Howto Process: 4403 Execstart =/usr/sbin/openvpn --Daemon ovpn-%i-status/run/openvpn/%i.Estado 10 -cd /etc /OpenVPN -PID principal: 4404 (OpenVPN) CGROUP: /SISTEMA.Slice/System-Openvpn.Slice/[correo electrónico protegido] └─4404/usr/sbin/openvpn --daemon ovpn-server--status/run/openvpn/servidor.Estado 10--CD /etc /OpenVPN-04 de enero 11:09:51 Laitkor237 Ovpn-server [4404]: /sbin /ip add add add tun0 local 10.8.0.1 par 10.8.0.2 de enero 04 11:09:51 LAITKOR237 OVPN-SERVER [4404]: /sbin /ruta IP Agregar 10.8.0.4/24 a través de 10.8.0.2 de enero 04 11:09:51 LAITKOR237 OVPN-SERVER [4404]: GID establecido en nogroup en enero 04 11:09:51 LAITKOR237 OVPN-SERVER [4404]: UID Set a nadie 04 11:09:51 LAITKOR237 OVPN-SERVER ) : Multi: multi_init llamado, r = 256 V = 256 enero 04 11:09:51 Laitkor237 ovpn-server [4404]: Ifconfig Pool: base = 10.8.0.4 Tamaño = 62, IPv6 = 0 enero 04 11:09:51 LAITKOR237 OVPN-MERVER [4404]: IFCONFIG LISTA DE POLS 

OpenVPN creará un nombre de interfaz de red TUN0. Ejecutar el siguiente comando a continuación para ver la IP asignada a la interfaz. Principalmente asigna la primera IP de la red definida en el servidor.archivo conf.

ifconfig tun0 

Paso 8 - Generar la configuración del cliente

Usted OpenVPN Server está listo para usar. Ahora genere los archivos de configuración del cliente, incluida la clave privada, los certificados. Le he facilitado este proceso generar cualquier cantidad de archivos de configuración utilizando un script simple. Siga los pasos a continuación para generar archivos de configuración. Asegúrese de usar la estructura correcta del directorio.

mkdir/etc/openvpn/clientes cd/etc/openvpn/clientes 

Cree un archivo de script de shell como se muestra a continuación.

vim make-vpn-client.mierda 

Copiar el contenido a continuación. Actualice la variable OpenVPN_SERVER con la dirección IP del servidor OpenVPN correcta y guárdela.

#!/bin/bash # generar archivos de configuración de clientes OpenVPN. Client_name = $ 1 OpenVPN_Server = "192.168.1.237 "CA_DIR =/etc/OpenVPN/OpenVPN-CA Client_dir =/etc/OpenVPN/CLIENS CD $ CA_DIR Fuente vars Vars ./Build-Key $ client_name echo "cliente dev tun proto udp remoto $ openvpn_server 1194 user nadie grupo nogrup -lzo verbo 3 "> $ client_dir/$ client_name.ovpn gato <(echo -e '') \ $CA_DIR/keys/ca.crt \ <(echo -e '\n') \ $CA_DIR/keys/$CLIENT_NAME.crt \ <(echo -e '\n') \ $CA_DIR/keys/$CLIENT_NAME.key \ <(echo -e '\n') \ $CA_DIR/keys/ta.key \ <(echo -e '') \ >> $ Client_dir/$ client_name.OVPN ECHO -E "Archivo de cliente creado - $ client_dir/$ client_name.ovpn "
12345678910111213141516171819202122232425262728293031323334353637383940#!/bin/bash # generar archivos de configuración de clientes OpenVPN. Client_name = $ 1openvpn_server = "192.168.1.237 "CA_DIR =/etc/OpenVPN/OpenVPN-CACLIENT_DIR =/ETC/OPERVPN/CLIENTES CD $ CA_DIR Fuente vars./Build-Key $ client_name echo "Clientdev tunproto UDPremote $ OpenVPN_SERVER 1194USER NOGNO GROUP NOGROUPPERSIST-KEEPERSIST-TUNCIPHER AES-128-CBCAUTH SHA256KEY-Direction 1remote-Cert-TlsComp-LZoverb 3"> $ NOMBRE DEL CLIENTE.ovpn gato <(echo -e '') \ $CA_DIR/keys/ca.crt \ <(echo -e '\n') \ $CA_DIR/keys/$CLIENT_NAME.crt \ <(echo -e '\n') \ $CA_DIR/keys/$CLIENT_NAME.key \ <(echo -e '\n') \ $CA_DIR/keys/ta.key \ <(echo -e '') \ >> $ Client_dir/$ client_name.OVPN ECHO -E "Archivo de cliente creado - $ client_dir/$ client_name.ovpn "

Establezca el permiso de ejecución en el script recién creado.

chmod +x ./make-vpn-client.mierda 

Ahora use este script para generar un archivo de configuración para los clientes VPN, incluidos certificados y claves. Debe pasar el nombre del cliente como parámetro de línea de comandos.

./make-vpn-client.sh vpnclient1 

Presione Enter para los valores predeterminados del certificado. Al final, solicitará el signo del certificado y la confirmación. Presione y para ambas entradas.

El certificado debe ser certificado hasta el 2 de enero 07:18:10 2028 GMT (3650 días) Firme el certificado? [y/n]: y 1 de 1 solicitudes de certificado certificadas, confirmación? [y/n] y escriba la base de datos con 1 nueva base de entradas base de datos actualizado Archivo de cliente creado -/etc/openvpn/clientes/vpnclient1.ovpn 

El script anterior creará el archivo de configuración del cliente en/etc/openvpn/clientes/directorio con el nombre del cliente con .Extensión OVPN como se muestra en la última línea de salida. Use este archivo para conectarse desde sistemas remotos.

Paso 9 - Conecte VPN de los clientes

Necesita el archivo de configuración generado desde arriba

Clientes de Windows

Descargue el software de cliente GUI OpenVPN desde su página de descarga oficial e instale en su sistema. Ahora copia el dado .Archivo OVPN en C: \ Archivos de programa \ Openvpn \ config File \ Directory. Ahora inicie el cliente de GUI OpenVPN y conecte. En la conexión exitosa, un ícono verde en las notificaciones de fondo derecho. Puede ver el estado de Rigth Haga clic en el icono.

Clientes de Linux

En los clientes de Linux, primero, debe instalar paquetes OpenVPN. Después de eso, use el siguiente comando para conectarse al servidor OpenVPN utilizando el archivo de configuración del cliente dado.

OpenVPN - -Config Client1.ovpn 

Después de la conexión exitosa, OpenVPN asignará una dirección IP a su sistema. Use el siguiente comando para verificar la dirección IP asignada.

ifconfig tun0 

[producción]

Encap de enlace TUN0: UNSPEC HWADDR 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 INET ADDR: 10.8.0.18 P-T-P: 10.8.0.17 máscara: 255.255.255.255 UP PointOpoint Running NOARP Multicast MTU: 1500 Métrica: 1 Rx PACKETS: 0 Errores: 0 Dropped: 0 Excelentes: 0 Marco: 0 TX PABAJOS: 0 Errores: 0 Dropped: 0 Excelentes: 0 Carrier: 0 Colisiones: 0 Txqueuelen: 100 Bytes rx: 0 (0.0 b) tx bytes: 0 (0.0 b)