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.
Lo que necesitarás
- Ubuntu 16.04 Xenial Xerus Linux
- Se recomienda un espacio de disco disponible de 30 GB
- Un privilegio de root
Tenga en cuenta que los archivos binarios utilizados para este artículo son arquitecturas x64. Si su máquina no es x64, debe elegir los binarios adecuados.
Convenios
#:requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de sudo
command
$:requiere que los comandos de Linux se ejecuten como un usuario normal sin privilegios
>:el comando se ejecute desde la interfaz de línea de comandos de vpncmd
Preparando el servidor
Actualice el sistema:
$ sudo apt update $ sudo apt upgrade
Instalar (si aún no está instalado) build-essential
con fines de compilación:
$ sudo apt install build-essential
Instalación de SoftEther
Obtener fuentes de éter suave
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 teclear 1
para leer el Acuerdo de licencia, escriba 1
nuevamente para confirmar que hemos leído el Acuerdo de licencia y finalmente escriba 1
para aceptar el Acuerdo de licencia.
Después de la instalación, podemos revisar la salida para confirmar que todo el proceso se realizó correctamente sin ningún error.
Una vez que todo se haya hecho correctamente, podremos ejecutar el vpn servidor 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
Otorgar los derechos apropiados a los archivos
$ cd /usr/local/vpnserver/ $ sudo chmod 600 * $ sudo chmod 700 vpnserver $ sudo chmod 700 vpncmd
Antes de continuar, verifiquemos que el servidor vpn pueda funcionar normalmente en nuestro servidor. Es importante hacer esta verificación antes de iniciar vpnserver
.
- Ejecute
vpncmd
comando - Escriba
3
- Luego escribe
check
$ cd /usr/local/vpnserver/ $ sudo ./vpncmd
Si todo está bien hecho, deberíamos recibir el mensaje "Todas las comprobaciones aprobadas" 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 pon el siguiente contenido dentro:
[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
.
Preparar el servidor VPN SoftEther para su uso
SoftEther ofrece muchos casos de uso:Ad-hoc VPN, acceso remoto a LAN, puente de LAN a LAN, etc. En este artículo, lo configuraremos para el uso de "Acceso remoto a LAN".
Primero crearemos un virtual hub
, y luego crea una especie de enlace entre ese virtual hub
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 vpncmd
utilidad:
$ cd /usr/local/vpnserver/ $ sudo ./vpncmd
Como se muestra en la imagen de arriba, seleccionamos 1
para "Gestión de servidor VPN o puente VPN", simplemente presione Enter
para las siguientes preguntas hasta que obtengamos VPN Server>
oportuno. En el símbolo del sistema, escribimos ServerPasswordSet
.
Crear un centro virtual
Usando vpncmd
, vamos a crear un virtual hub
llamado “miPrimerHUB”:
$ cd /usr/local/vpnserver/ $ sudo ./vpncmd > HubCreate myFirstHUB
Conectar el centro virtual a la red del servidor
Para permitir que los clientes lleguen a la red del servidor, debemos vincular el virtual hub
a la LAN. Esto se puede hacer usando una conexión de puente local o usando el SecureNAT
función.
En nuestro caso, el SecureNAT
se utilizará la función. SecureNAT
La función permite usar 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 habilite SecureNAT
función.
$ 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, necesitamos 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 wget
comando 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 necesaria para conectarnos al servidor.
$ sudo ./vpnclient start $ sudo ./vpncmd
Seleccione 2
para ingresar a “Gestión de Cliente VPN”. Y realiza estas acciones:
- Cree un adaptador virtual (utilice
NiceCreate
, dé "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 estar conectado (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 ha asignado ninguna dirección IP al adaptador virtual. Como último paso, necesitamos solicitar una dirección IP del servidor vpn. Podemos usar ifconfig
comando para encontrar el adaptador virtual vpn (precedido por vpn_
) y luego use dhclient
comando 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 SoftEther VPN y podrá comunicarse con la LAN remota.
Gracias por su interés en este artículo. Agradecemos sus preguntas y mejoras.