Documentos de Académico
Documentos de Profesional
Documentos de Cultura
¿Qué es SoftEther?
SotfEther VPN, es uno de los softwares VPN Multiprotocolo más potentes y fáciles de
utilizar, creado por la buena gente de la Universidad de Tsukuba, en Japón. Se puede ejecutar
sobre Windows, Linux, Mac, FreeBSD y Solaris. También tenemos que recalcar que se trata de
un freeware de código abierto. Lo podremos utilizar a nivel personal o profesional sin ningún
coste.
En la página web, mencionan que el software trabaja bien en distribuciones Linux con
kernel 2.4 o superior, pero que es recomendable utilizar CentOS, Fedora o Red Hat Enterprise.
El manual que he seguido yo, explica que también funciona bien tanto sobre Ubuntu
x86 como x64.
Actualizar el Servidor
Debian / Ubuntu:
CentOS / Fedora
yum upgrade
Descargar SoftEther
Descargar SoftEther
Debian / Ubuntu:
CentOS / Fedora:
lynx http://www.softether-download.com/files/softether
Debian / Ubuntu:
CentOS / Fedora:
Ahora, ya que tenemos todo lo necesario, podremos compilar SoftEther usando los
siguientes comandos:
cd vpnserver
make
Nos saldrá unos mensajes en los que tendremos que pulsar 1 ó 2, en las tres ocasiones
pulsaremos 1, ya que correspondería a decir que “si hemos leído y aceptamos los acuerdos de
la licencia”.
Ahora SoftEther está compliado y habrá creado dos ficheros ejecutables (vpnserver y
vpncmd). Si el proceso falla, deberemos comprobar que estén todos los paquetes que son
requeridos estén instalados.
cd ..
mv vpnserver /usr/local/
cd /usr/local/vpnserver/
chmod 600 *
Si queremos tener SoftEther iniciado como servicio o al inicio del sistema, podremos
crear un fichero llamado vpnserver en /etc/init.d .
vi /etc/init.d/vpnserver
Y pegaremos en él lo siguiente:
#!/bin/sh
# chkconfig: 2345 99 01
DAEMON=/usr/local/vpnserver/vpnserver
LOCK=/var/lock/subsys/vpnserver
case “$1” in
start)
$DAEMON start
touch $LOCK
;;
stop)
$DAEMON stop
rm $LOCK
;;
restart)
$DAEMON stop
sleep 3
$DAEMON start
exit 1
esac
exit 0
Mkdir /var/lock/subsys
Debian / Ubuntu:
CentOS / Fedora:
SoftEther VPN Server está instalado y configurado para arrancar al inicio. Para finalizar,
comprobaremos que el servidor está funcionando:
cd /usr/local/vpnserver
./vpncmd
Ahora pulsaremos 3 para seleccionar “Use of VPN Tools” y después escribiremos check.
Si todos los checks son satisfactorios, el servidor estará listo. Ahora escribiremos “exit”
para salir.
Hay dos maneras de configurar SoftEther VPN Server: utilizar el cliente de windows o
utilizar la herramienta vpncmd para configurar el servidor.
En este punto, tendremos SoftEther VPN Server instalado, por lo que el siguiente paso
es asignar una contraseña de administrador para poder utilizar SoftEther. Lo haremos
utilizando la herramienta vpncmd basada en línea de comandos:
./vpncmd
ServerPasswordSet
Para utilizar SoftEther, deberemos crear un Hub Virtual, aquí, en este manual, como
ejemplo utilizaremos un hub llamado VPN, para ello utilizaremos el siguiente comando en la
herramienta vpncmd
HubCreate VPN
Hub VPN
Habilitar SecureNAT
Hay dos maneras de conectar los Hubs a la red: Utilizando la red local o utilizando
SecureNAT.
SecureNAT es una combinación de las funciones de Virtual NAT y Servidor DHCP. Para
habilitarlo utilizaremos el siguiente comando:
SecureNatEnable
Ahora, crearemos los usuarios para nuestro Hub Virtual, los cuales se conectarán a
nuestra VPN. Para ello podremos utilizar el comando UserCreate y para ver los usuarios
utilizaremos UserList. Los usuarios pueden añadirse a grupos y pueden tener diferentes
métodos de autentificación (incluyendo: Contraseña, Certificado, RADIUS, NTLM, etc.).
UserCreate test
UserPasswordSet test
Una vez ejecutado dicho comando, nos pedirá la contraseña, la introduciremos y nos la
volverá a pedir, para confirmarla.
Configurar L2TP/IPSec
IPSecEnable
Después de introducir éste comando, nos preguntará las funciones de L2TP que
queremos configurar.
Enable L2TP over IPSec Server Function: Seleccionaremos “yes” para habilitar L2TP
VPN sobre IPSec con encriptación de clave pre-compartida . Activando esta función, podremos
conectarnos utilizando dispositivos iPhone, Android, Windows y MacOsX.
Enable Raw L2TP Server Function: Esto habilita L2TP VPN para clientes sin encriptación
IPSec.
Pre Shared Key for IPSec: Introducir la clave pre-compartida para usar con L2TP VPN
Default Virtual Hub in case of omitting the hub on the username: Los usuarios podrán
determinar al Hub que se conectan usando Usuario@Hub como nombre de usuario. Con esta
opción especificamos que el Hub al que se conectarán en caso de no especificarlo. En nuestro
caso será VPN.
SoftEther puede clonar las funciones de Microsoft SSTP VPN Server y Open VPN Server.
Pero antes de habilitar esto, deberemos generar un certificado SSL autofirmado en nuestro
servidor. Podemos utilizar openssl o el proio comando de SoftEther para generar dicho
certificado SSL.
ServerCertRegenerate VPN
Nota 1: SoftEther también puede utilizar funciones de Dynamic DNS. Podremos asignar
esta función al generar el certificado SSL y conectarnos al servidor.
Nota 2: Si ya tenemos un listo un certificado SSL o si hemos generado uno con openssl,
podrá ser añadido al servidor utilizando el comando ServerCertSet .
Ahora, una vez hemos creado el certificado, nos lo descargaremos para utilizarlo en los
clientes que confiemos. Usaremos el siguiente comando para guardar el certificado con el
nombre “cert.cer”
ServerCertGet ~/cert.cer
Para hacer que el certificado sea confiable en Widnwos, tendremos que instalar el
“Trusted Root Certificaciton Authorities Store”. A continuación dejaré un enlace donde explica
como instalar el certificado
Ahora, una vez hemos creado y registrado el certificado SSL podremos habilitar la
función SSTP con el siguiente comando:
SstpEnable Yes
Y habilitar OpenVPN
OpenVpnMakeConfig ~/my_openvpn_config.zip
Tras esto, podremos descargar ésta configuración utilizando un cliente FTP o SFTP y
aplicar dicha configuración en clientes OpenVPN.
Clientes
En Windows tenemos 2 opciones para configurar la VPN, o usar el cliente que viene
instalado ya en el sistema operativo, o utilizar el cliente de SoftEther.
Cliente de Windows
Tras él, solo daremos clic en “continuar la conexión de todas formas” y pasaremos a
establecer la clave precompartida. Para ello, iremos a: Panel de control → Redes e Internet →
Centro de redes y recursos compartidos → Cambiar configuración del adaptador de red.
En la ventana anterior haremos clic en Aceptar y solo faltará activar la conexión, para
ello, en la ventana donde se nos muestran las interfaces de red, haremos clic con botón
derecho y posteriormente haremos clic en conectar.
Cliente SoftEther
Una vez instalado, deberemos crear una adaptador Virtual, para ello “Virtual Adapter”
→ “New Virtual Network Adapter”.
Una vez rellenados, haremos clic en OK. Ahora solo falta realizar la conexión con el
servidor.
declare root
{
bool CheckServerCert false
uint64 CreateDateTime 0
uint64 LastConnectDateTime 0
bool StartupAccount false
uint64 UpdateDateTime 0
declare ClientAuth
{
uint AuthType 1
string Username test
}
declare ClientOption
{
string AccountName test
uint AdditionalConnectionInterval 1
uint ConnectionDisconnectSpan 0
string DeviceName se
bool DisableQoS false
bool HalfConnection false
bool HideNicInfoWindow false
bool HideStatusWindow false
string Hostname 192.168.1.254
string HubName default
uint MaxConnection 1
bool NoRoutingTracking false
bool NoTls1 false
bool NoUdpAcceleration false
uint NumRetry 4294967295
uint Port 443
uint PortUDP 0
string ProxyName $
byte ProxyPassword $
uint ProxyPort 0
uint ProxyType 0
string ProxyUsername $
bool RequireBridgeRoutingMode false
bool RequireMonitorMode false
uint RetryInterval 15
bool UseCompress false
bool UseEncrypt true
}
}
Tras esto, ya estaremos conectados a la VPN, pero hay que recordar que Linux no
habilita el enrutamiento de forma automática, por lo que deberemos habilitarlo. Para ello,
editaremos el fichero “/etc/sysctl.conf” buscando la línea que diga “net.ipv4.ip_forward=X”
(puede estar comentada y donde hay una X estar a 0 o 1) en caso de que esté comentada la
descomentamos y lo habilitaremos poniendo un 1 en el lugar de la X. Para que la configuración
surja efecto ejecutaremos un “sysctl -p”.
Fuente