Búsqueda de sitios web

Configuración del servidor SoftEther VPN en Ubuntu 16.04 Xenial Xerus Linux


Introducción

Ya sea que desee poder conectarse de forma remota a su red corporativa o construir una red virtual entre dos puntos remotos, a través de una red no segura (por ejemplo: Internet), de alguna manera necesitará una VPN (Red Privada Virtual). Una VPN le permite conectarse de forma segura a una LAN (red de área local) remota a través de Internet o redes no confiables.

SoftEther es un servidor VPN de código abierto, una alternativa a OpenVPN. Se cree que es el software VPN multiprotocolo más potente y fácil de usar del mundo. Nuestro artículo trata sobre cómo configurar SoftEther en Ubuntu Xenial Xerus Linux.

Que necesitarás

  • Ubuntu 16.04 Xenial Xerus Linux

  • Se recomienda un espacio disponible en disco de 30 GB

  • Un privilegio de root

Tenga en cuenta que los archivos binarios utilizados en este artículo son arquitecturas x64. Si su máquina no es x64, debe elegir los binarios adecuados.

Convenciones

# – requiere que los comandos de Linux determinados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso del comando sudo $: requiere que los comandos de Linux determinados se ejecuten como un usuario normal sin privilegios > – comando dado que se ejecutará desde la interfaz de línea de comando vpncmd

Preparando el servidor

Actualizar el sistema:


$ sudo apt update
$ sudo apt upgrade

Instale (si aún no está instalado) build-essential para fines de compilación:


$ sudo apt install build-essential

Instalación de SoftEther

Obtener fuentes más suaves

Busquemos las fuentes de SoftEther (la última versión es la versión 4.22 lanzada el 27 de noviembre de 2016):


$ wget http://www.softether-download.com/files/softether/v4.22-9634-beta-2016.11.27-tree/Linux/SoftEther_VPN_Server/64bit_-_Intel_x64_or_AMD64/softether-vpnserver-v4.22-9634-beta-2016.11.27-linux-x64-64bit.tar.gz

Descomprimir las fuentes


$ tar xzf softether-vpnserver-v4.22-9634-beta-2016.11.27-linux-x64-64bit.tar.gz

Después de una descompresión exitosa, encontramos una carpeta llamada vpnserver en nuestro directorio actual.

Instalar desde las fuentes


$ cd vpnserver
$ sudo make

Durante el proceso de instalación, tendremos que escribir 1 para leer el Acuerdo de Licencia, escribir 1 nuevamente para confirmar que hemos leído el Acuerdo de Licencia y finalmente escribir 1 para aceptar el Acuerdo de licencia. Después de la instalación, podemos revisar el resultado para confirmar que todo el proceso se desarrolló correctamente sin ningún error. Una vez hecho todo correctamente, ya podremos ejecutar el servidor vpn desde la carpeta de instalación usando este comando:


$ sudo ./vpnserver start

Hagámoslo mejor configurándolo como un daemon.

Configuración como demonio

Sigamos estos pasos para configurar nuestro servidor vpn como un daemon.

Mueva la carpeta de instalación a /usr/local


$ cd ..
$ sudo mv vpnserver /usr/local

Dar los derechos apropiados a los archivos.


$ cd /usr/local/vpnserver/
$ sudo chmod 600 *
$ sudo chmod 700 vpnserver
$ sudo chmod 700 vpncmd

Antes de continuar, comprobemos que el servidor vpn puede funcionar con normalidad en nuestro servidor. Es importante realizar esta comprobación antes de iniciar vpnserver.

  • Ejecute el comando vpncmd

  • Escriba 3

  • Luego escriba verificar


$ cd /usr/local/vpnserver/
$ sudo ./vpncmd

Si todo está bien hecho, deberíamos recibir el mensaje "Se aprobaron todas las comprobaciones" al final de la operación.

Crear un servicio systemd

Cree el archivo /lib/systemd/system/vpnserver.service


$ sudo vi /lib/systemd/system/vpnserver.service

Y coloque el siguiente contenido dentro de él:


[Unit]
Description=SoftEther VPN Server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/vpnserver/vpnserver start
ExecStop=/usr/local/vpnserver/vpnserver stop

[Install]
WantedBy=multi-user.target

Ahora el servidor VPN se inicia automáticamente al arrancar y podemos administrar el servidor VPN usando systemctl.

Prepare el servidor VPN SoftEther para su uso

SoftEther ofrece muchos casos de uso: VPN Ad-hoc, acceso remoto a LAN, puente de LAN a LAN, etc. En este artículo, lo estamos configurando para uso de “Acceso remoto a LAN”. Primero crearemos un centro virtual y luego crearemos una especie de vínculo entre ese centro virtual y la red del servidor (la LAN corporativa).

Establecer una contraseña de administrador para vpncmd

Por razones obvias, se recomienda establecer inmediatamente una contraseña de administrador para vpncmd tan pronto como se instale el servidor VPN. Esto se hace a través de la utilidad vpncmd:


$ cd /usr/local/vpnserver/
$ sudo ./vpncmd

Como se muestra en la imagen de arriba, seleccionamos 1 para "Administración del servidor VPN o puente VPN", luego simplemente presionamos Enter para las siguientes preguntas hasta que obtengamos VPN. Mensaje del servidor>. En el símbolo del sistema, escribimos ServerPasswordSet.

Crear un centro virtual

Al usar vpncmd, vamos a crear un virtual hub llamado “myFirstHUB”:


$ cd /usr/local/vpnserver/
$ sudo ./vpncmd
> HubCreate myFirstHUB

Conecte el centro virtual a la red del servidor

Para permitir que los clientes accedan a la red del servidor, necesitamos vincular el virtual hub a la LAN. Esto se puede hacer usando una conexión de puente local o usando la función SecureNAT. En nuestro caso, se utilizará la función SecureNAT. La función SecureNAT permite utilizar el servidor VPN como puerta de enlace de red simple, servidor DHCP o puerta de enlace simple para acceder de forma remota a sitios remotos. Seleccionemos nuestro virtual hub y habilitemos la función SecureNAT.


$ cd /usr/local/vpnserver/
$ sudo ./vpncmd
> Hub myFirstHUB
> SecureNatEnable

Crear usuarios

Comando para crear un usuario: UserCreate Después de la creación del usuario, debemos establecer una contraseña. Tenga en cuenta que es posible utilizar otros métodos de autenticación: NTLM, RADIUS, etc. El método de autenticación predeterminado es "contraseña". Comando para establecer la contraseña: UserPasswordSet

Configuración del cliente

SoftEther proporciona clientes para muchos sistemas operativos, incluido Linux.

Descargar el cliente

Usaremos el comando wget para descargar el cliente.


$ wget http://www.softether-download.com/files/softether/v4.22-9634-beta-2016.11.27-tree/Linux/SoftEther_VPN_Client/64bit_-_Intel_x64_or_AMD64/softether-vpnclient-v4.22-9634-beta-2016.11.27-linux-x64-64bit.tar.gz

Descomprimir las fuentes


$ tar xzf softether-vpnclient-v4.22-9634-beta-2016.11.27-linux-x64-64bit.tar.gz 

Instalar desde las fuentes

La compilación del cliente es similar a la del servidor.


$ cd vpnclient
$ sudo make

Después de la instalación cambiamos los permisos de los archivos de la siguiente manera:


$ sudo chmod 600 *
$ sudo chmod 700 vpnclient
$ sudo chmod 700 vpncmd

Ahora podemos iniciar el cliente VPN y realizar la configuración requerida para conectarnos al servidor.


$ sudo ./vpnclient start
$ sudo ./vpncmd

Seleccione 2 para ingresar a "Administración del cliente VPN". Y realiza estas acciones:

  • Cree un adaptador virtual (use NiceCreate, proporcione "cualquier" nombre que desee)

  • Cree una conexión VPN (AccountCreate account0)

  • Especifique el nombre de host del servidor de destino y el número de puerto (servidor:puerto)

  • Seleccione el virtual hub al que desea conectarse (en nuestro caso estamos usando "myFirstHUB" creado en el servidor)

  • Ingrese el nombre de usuario

  • Utilice el adaptador virtual creado anteriormente

Ahora podemos iniciar la conexión del cliente VPN. Antes de hacerlo, tenemos que especificar la contraseña del usuario que hemos configurado previamente en la conexión VPN.


> AccountPassword account0
> standard
> AccountConnect account0

El cliente ahora está conectado pero no se asigna ninguna dirección IP al adaptador virtual. Como último paso, debemos solicitar una dirección IP del servidor VPN. Podemos usar el comando ifconfig para encontrar el adaptador virtual vpn (con el prefijo vpn_) y luego usar el comando dhclient para solicitar una dirección IP.


$ sudo dhclient vpn_ethvpn0

Después de este comando, el cliente VPN obtendrá una dirección IP del servidor VPN SoftEther y podrá comunicarse con la LAN remota.

Gracias por tu interés en este artículo. Agradecemos sus preguntas y mejoras.

Artículos relacionados: