# SoftEther VPN

SoftEther VPN es un software de servidor y cliente VPN multiplataforma, multiprotocolo y de código abierto, desarrollado como parte de la investigación de tesis de maestría de Daiyuu Nobori en la Universidad de Tsukuba. Los protocolos VPN como SSL VPN, L2TP/IPsec, OpenVPN y Microsoft Secure Socket Tunneling Protocol se proporcionan en un solo servidor VPN. Se lanzó con la licencia GPLv2 el 4 de enero de 2014. La licencia se cambió a Apache License 2.0 el 21 de enero de 2019.
SoftEther VPN admite NAT traversal, lo que lo hace útil para ejecutar servidores VPN en computadoras que están detrás de módems residenciales, enrutadores de empresas y Cortafuegos. Los cortafuegos que realizan una inspección profunda de paquetes no pueden detectar los paquetes de transporte VPN de SoftEther como un túnel VPN porque se utiliza HTTPS para camuflar la conexión.
SoftEther VPN optimiza el rendimiento mediante el uso total de tramas de Ethernet, lo que reduce las operaciones de copia de memoria, la transmisión en paralelo y la agrupación en clústeres. Juntos, reducen la latencia normalmente asociada con las conexiones VPN al tiempo que aumentan el rendimiento.

## Interoperabilidad

SoftEther VPN Server y el VPN Bridge se ejecutan en los sistemas operativos Windows, Linux, OS X hasta OS X 10.8, FreeBSD y Solaris. SoftEther VPN Client se ejecuta en Windows, Linux y macOS.
SoftEther VPN Server sirve el protocolo SoftEther VPN, pero también puede usar los protocolos OpenVPN, Microsoft Secure Socket Tunneling Protocol (SSTP), SSL VPN, EtherIP, L2TPv3 e IPsec. Sirve para dispositivos móviles con iOS, Android y Windows Phone a través de L2TP/IPsec.
También se pueden utilizar clientes VPN y puntos finales que admitan otros protocolos VPN; esto incluye muchos enrutadores de Cisco, Juniper, Linksys (con DD-WRT), Asus y otros.

## VPN Server

SoftEther VPN Server implementa la función de servidor VPN. Escucha y acepta conexiones desde VPN Client o VPN Bridge con varios protocolos VPN.
Un servidor VPN puede tener varios concentradores virtuales y conmutadores virtuales de capa 3. Un Virtual Hub tiene funciones completas de conmutación de paquetes Ethernet de capa 2, como un conmutador Ethernet físico. Además, se puede configurar un concentrador virtual para definir entradas de filtro de paquetes IP para filtrar los paquetes a través del concentrador virtual. Un conmutador virtual de capa 3 tiene funciones de enrutamiento estático IP de capa 3 como un enrutador físico.
Un servidor VPN puede tener puentes locales. Un puente local es la estructura de conmutación de paquetes de capa 2 entre un adaptador de red Ethernet físico y un concentrador virtual. El administrador define un puente local entre el concentrador virtual y la red corporativa existente para construir un servidor VPN de acceso remoto o un servidor VPN de sitio a sitio.

## VPN Client

SoftEther VPN Client es un programa de cliente VPN que tiene la función virtualizada de un adaptador de red Ethernet. Una computadora con SoftEther VPN Client instalado puede establecer una conexión VPN al servidor VPN. Dado que el servidor VPN es compatible con múltiples protocolos VPN como L2TP/IPsec o MS-SSTP VPN, los usuarios de VPN no necesitan instalar el software de SoftEther VPN en los equipos cliente. Cuando un usuario usa L2TP/IPsec o MS-SSTP VPN para conectarse al servidor VPN, los programas cliente VPN integrados en el sistema operativo se pueden usar para establecer una VPN al servidor VPN. Sin embargo, SoftEther VPN Client tiene funciones avanzadas (por ejemplo, configuraciones de comunicación VPN más detalladas) que los clientes VPN integrados en el sistema operativo. Para aprovechar todo el rendimiento de SoftEther VPN Server, se recomienda instalar SoftEther VPN Client en cada computadora cliente.

## VPN Bridge

SoftEther VPN Bridge es un programa VPN para construir una VPN de sitio a sitio. Para construir una red VPN de sitio a sitio, el administrador del sistema tiene que instalar SoftEther VPN Server en el sitio central y tiene que instalar SoftEther VPN Bridge en uno o más sitios remotos. Un puente VPN se conecta al servidor VPN central mediante una conexión en cascada. Una conexión en cascada es similar a, pero una virtualización de, una conexión de enlace ascendente (conexión de cable cruzado) entre dos conmutadores Ethernet físicos.

## VPN Server Manager para Windows

La herramienta GUI es la herramienta administrativa para SoftEther VPN Server y SoftEther VPN Bridge. Es un programa que se ejecuta tanto en Windows como en Linux con WINE. Un administrador del sistema instala la herramienta GUI en su computadora portátil y la conecta al servidor VPN remoto o al puente VPN para la administración. La conexión se realiza mediante una sesión SSL y los comandos de administración se transportan como RPC sobre SSL.

## Utilidad de Administración de Línea de Comandos

vpncmd es la herramienta administrativa CUI para SoftEther VPN Server, Client y Bridge. Es un programa que se ejecuta en las consolas de todos los sistemas operativos compatibles. Cuando un usuario no puede usar Windows o Linux con WINE, el usuario puede usar alternativamente vpncmd para administrar los programas VPN. vpncmd también es útil para ejecutar una operación por lotes, como crear muchos usuarios en el Virtual Hub o crear muchos Virtual Hubs en el servidor VPN.

## Arquitectura

Algunas partes de la arquitectura de SoftEther VPN son diferentes de los típicos sistemas VPN tradicionales basados en IPsec.

### Virtual Hub

Un Virtual Hub es el conmutador Ethernet virtual emulado por software. Aprende y mantiene su propia tabla de base de datos de reenvío en su interior. Mientras que los conmutadores Ethernet físicos tradicionales implementan esta función por hardware, SoftEther VPN implementa la misma función por software. Un servidor VPN puede tener varios Virtual Hubs. Cada Virtual Hub está aislado. Un Virtual Hub realiza el cambio de paquetes entre sesiones VPN conectadas simultáneamente para realizar la comunicación entre Clientes VPN y Puentes VPN.
Cuando hay varios Virtual Hubs en una sola instancia de VPN Server, estos Virtual Hubs se aíslan por seguridad. Cada administrador diferente puede tener el privilegio delegado para cada hub virtual correspondiente. Un administrador de un Virtual Hub puede definir objetos de usuario y ACL, limitado solo al Virtual Hub delegado.

### Adaptador de Red Virtual

Un adaptador de red virtual es el adaptador Ethernet virtual emulado por software. Un cliente VPN puede crear varios adaptadores de red virtual en el equipo cliente. Un usuario de VPN puede establecer una sesión de VPN entre el adaptador de red virtual y el concentrador virtual de destino del servidor VPN remoto. Mientras se establece la sesión de VPN, el usuario de VPN puede comunicarse con la red VPN remota a través del Adaptador de red virtual. Dado que el Adaptador de red virtual funciona como si fuera el físico, cualquier aplicación o componente del sistema operativo se puede utilizar sin ninguna modificación.

### Conmutador Virtual Capa-3

Un conmutador virtual de capa 3 es el enrutador IP virtual emulado por software. Se pueden crear varios conmutadores de capa virtual 3 en una sola instancia de servidor VPN. Un conmutador virtual de capa 3 tiene interfaces IP virtuales conectadas a Virtual Hubs. También tiene varias entradas en la tabla de enrutamiento estático.
El conmutador Virtual Layer-3 es útil para crear una red VPN de sitio a sitio a gran escala. Aunque la forma más fácil de crear una red VPN de sitio a sitio es construir la VPN basada en puentes de capa 2, si la cantidad de computadoras es enorme, la cantidad de paquetes de transmisión aumentará para cargar los enlaces entre sitios. Para evitar ese problema de escala, el administrador de VPN aísla las redes IP mediante el conmutador Virtual Layer-3.

### Conexión en Cascada Entre Concentradores Virtuales

El administrador puede definir una conexión en cascada entre Virtual Hubs locales o remotos. Una vez que se ha establecido la conexión en cascada, los dos segmentos Ethernet originalmente aislados se combinan en un solo segmento Ethernet. Por lo tanto, la función de conexión en cascada se utiliza para construir el puente Ethernet de capa 2 de sitio a sitio.

### Puente Local Entre Virtual Hubs y Segmento Ethernet Físico

Dado que los concentradores virtuales y los adaptadores de red virtual son solo dispositivos Ethernet virtuales emulados por software, los paquetes Ethernet a través de estos dispositivos virtuales no pueden comunicarse con dispositivos Ethernet físicos. Por lo tanto, es necesario un puente entre lo virtual y lo físico para construir una VPN de acceso remoto o una VPN de sitio a sitio. Para hacer un puente, la función de puente local intercambia los paquetes Ethernet entre un concentrador virtual y un adaptador de red Ethernet físico para combinar ambos segmentos Ethernet aislados en un solo segmento Ethernet.
Después de definir el puente local en el servidor VPN SoftEther, cualquier cliente VPN puede conectarse al servidor VPN y comunicarse con todos los dispositivos Ethernet existentes (por ejemplo, servidores o equipos de red) a través del puente local. Esto se llama VPN de acceso remoto.
Si el administrador de red configura el puente VPN del sitio remoto y define dos puentes locales tanto en el servidor VPN como en el puente VPN, y define una conexión en cascada entre el servidor VPN y el puente VPN, los dos segmentos Ethernet remotos se conectan directamente en la capa. 2 niveles de Ethernet. Esto se llama VPN de sitio a sitio.

### Transparencia de Firewall, Proxy y NAT

Una de las características clave de SoftEther VPN es la transparencia para firewalls, servidores proxy y NAT (traductores de direcciones de red). Para hacer esto, SoftEther VPN admite SSL-VPN y NAT Traversal. SoftEther VPN utiliza el protocolo HTTPS para establecer un túnel VPN. El protocolo HTTPS (HTTP sobre SSL) utiliza el puerto TCP/IP 443 (puede variar) como destino.

### Mecanismo de Transmisión en Paralelo de Múltiples Túneles SSL-VPN

Cuando el usuario elige el protocolo SSL-VPN entre el Cliente VPN y el Servidor VPN, el Servidor VPN SoftEther y el Cliente VPN utilizan un mecanismo de transmisión en paralelo para mejorar el rendimiento del túnel SSL-VPN. Un usuario puede configurar el número de canales de transmisión paralelos concurrentes de 1 a 32. En un entorno como una red lenta y retrasada, este ajuste de rendimiento dará como resultado un rendimiento más rápido. Cuando esta función está habilitada, la sesión de VPN lógica constará de varias conexiones TCP (HTTPS). Todos los paquetes se agregarán a una de las conexiones TCP apropiadas con cálculos de optimización de módulos. Si se han detectado algunas pérdidas de paquetes en una conexión TCP de la sesión VPN lógica, el nuevo paquete utilizará otra conexión VPN en buen estado. Esta optimización de conmutación rápida para determinar el procesamiento de la conexión TCP permite un alto rendimiento.

### NAT Traversal

Los sistemas VPN tradicionales requieren que el usuario solicite al administrador del firewall de la empresa que abra un punto final (puerto TCP o UDP) en el firewall o NAT en la frontera entre la empresa e Internet. Para reducir la necesidad de abrir un punto final en el firewall, SoftEther VPN Server tiene la función NAT Traversal. NAT Traversal está habilitado de forma predeterminada. Siempre que esté habilitado, las computadoras del cliente VPN SoftEther pueden conectarse a su servidor VPN detrás del firewall o NAT. No se necesitan configuraciones especiales en el firewall o NAT.

### VPN sobre ICMP y VPN sobre DNS

Algunas redes muy restringidas solo permiten pasar paquetes ICMP o DNS. En tal red, se filtran TCP o UDP. Solo se permiten ICMP y DNS. Para poder establecer una sesión cliente-servidor SoftEther VPN a través de una red tan restringida, SoftEther VPN tiene las funciones "VPN sobre ICMP" y "VPN sobre DNS".
Esta función es muy poderosa para penetrar en un firewall tan restringido. Todos los paquetes VPN se encapsulan en paquetes ICMP o DNS para transmitir a través del firewall. El punto final del lado del receptor extrae el paquete interno del paquete encapsulado. Esto es útil para aprovechar las redes Wi-Fi públicas. Algunas redes Wi-Fi públicas solo pueden pasar paquetes ICMP o DNS. Filtran paquetes TCP o UDP. Si tiene un servidor VPN instalado en su hogar u oficina antes de salir al aire libre, puede disfrutar de una comunicación de red sin protocolo utilizando una red tan restringida.

### Puerta VPN

VPN Gate es un complemento para SoftEther VPN, que permite a los usuarios conectarse a servidores VPN gratuitos, administrados por voluntarios que usan SoftEther para alojar sus servidores VPN. Los voluntarios utilizan computadoras personales como "servidores". VPN Gate está patrocinado por la Universidad de Tsukuba.