Hoy vamos a echar un vistazo a las opciones de configuración de VPN que nos ofrece NSX Edge.
En general, podemos dividir las tecnologías VPN en dos tipos clave:
VPN de sitio a sitio. El uso más común de IPSec es crear un túnel seguro, por ejemplo, entre la red de una oficina principal y una red en un sitio remoto o en la nube.
VPN de acceso remoto. Se utiliza para conectar usuarios individuales a redes privadas corporativas mediante el software de cliente VPN.
NSX Edge nos permite usar ambas opciones.
Configuraremos mediante un banco de pruebas con dos NSX Edge, un servidor Linux con un daemon instalado mapache y una computadora portátil con Windows para probar VPN de acceso remoto.
IPsec
En la interfaz de vCloud Director, vaya a la sección Administración y seleccione el vDC. En la pestaña Edge Gateways, seleccione el Edge que necesitamos, haga clic con el botón derecho y seleccione Edge Gateway Services.
En la interfaz de NSX Edge, vaya a la pestaña VPN-IPsec VPN, luego a la sección Sitios de IPsec VPN y haga clic en + para agregar un nuevo sitio.
Rellene los campos obligatorios:
implante – activa el sitio remoto.
PFS – asegura que cada nueva clave criptográfica no esté asociada con ninguna clave anterior.
ID local y punto final localt es la dirección externa de NSX Edge.
Subred locals: redes locales que utilizarán IPsec VPN.
ID de pares y punto final de pares – dirección del sitio remoto.
Subredes del mismo nivel – redes que utilizarán IPsec VPN en el lado remoto.
Algoritmo de cifrado – algoritmo de encriptación de túnel.
Autenticación - cómo autenticaremos al par. Puede utilizar una clave precompartida o un certificado.
Clave precompartida - especifique la clave que se utilizará para la autenticación y debe coincidir en ambos lados.
Grupo Diffie Hellman – algoritmo de intercambio de claves.
Después de completar los campos obligatorios, haga clic en Conservar.
Finalizar.
Después de agregar el sitio, vaya a la pestaña Estado de activación y active el servicio IPsec.
Después de aplicar la configuración, vaya a la pestaña Estadísticas -> IPsec VPN y verifique el estado del túnel. Vemos que el túnel ha subido.
Verifique el estado del túnel desde la consola de la puerta de enlace Edge:
show service ipsec - verifique el estado del servicio.
show service ipsec site: información sobre el estado del sitio y los parámetros negociados.
muestre el servicio ipsec sa - controle el estado de la asociación de seguridad (SA).
Comprobación de la conectividad con un sitio remoto:
root@racoon:~# ifconfig eth0:1 | grep inet
inet 10.255.255.1 netmask 255.255.255.0 broadcast 0.0.0.0
root@racoon:~# ping -c1 -I 10.255.255.1 192.168.0.10
PING 192.168.0.10 (192.168.0.10) from 10.255.255.1 : 56(84) bytes of data.
64 bytes from 192.168.0.10: icmp_seq=1 ttl=63 time=59.9 ms
--- 192.168.0.10 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 59.941/59.941/59.941/0.000 ms
Archivos de configuración y comandos adicionales para diagnósticos desde un servidor Linux remoto:
Todo está listo, la VPN IPsec de sitio a sitio está funcionando.
En este ejemplo, usamos PSK para la autenticación de pares, pero también es posible la autenticación de certificados. Para hacer esto, vaya a la pestaña Configuración global, habilite la autenticación de certificados y seleccione el certificado en sí.
Además, en la configuración del sitio, deberá cambiar el método de autenticación.
Observo que la cantidad de túneles IPsec depende del tamaño del Edge Gateway implementado (lea sobre esto en nuestro primer artículo).
SSL VPN
SSL VPN-Plus es una de las opciones de VPN de acceso remoto. Permite a los usuarios remotos individuales conectarse de forma segura a redes privadas detrás de NSX Edge Gateway. Se establece un túnel cifrado en el caso de SSL VPN-plus entre el cliente (Windows, Linux, Mac) y NSX Edge.
Empecemos a configurar. En el panel de control del servicio Edge Gateway, vaya a la pestaña SSL VPN-Plus y luego a Configuración del servidor. Seleccionamos la dirección y el puerto en el que el servidor escuchará las conexiones entrantes, habilitamos el registro y seleccionamos los algoritmos de cifrado necesarios.
Aquí también puede cambiar el certificado que utilizará el servidor.
Una vez que todo esté listo, encienda el servidor y no olvide guardar la configuración.
A continuación, debemos configurar un conjunto de direcciones que enviaremos a los clientes al conectarse. Esta red está separada de cualquier subred existente en su entorno de NSX y no necesita configurarse en otros dispositivos en las redes físicas, excepto las rutas que apuntan a ella.
Vaya a la pestaña Grupos de IP y haga clic en +.
Seleccione direcciones, máscara de subred y puerta de enlace. Aquí también puede cambiar la configuración de los servidores DNS y WINS.
La piscina resultante.
Ahora agreguemos las redes a las que tendrán acceso los usuarios que se conecten a la VPN. Vaya a la pestaña Redes privadas y haga clic en +.
Rellenamos:
Red: una red local a la que tendrán acceso los usuarios remotos.
Enviar tráfico, tiene dos opciones:
- over tunnel - enviar tráfico a la red a través del túnel,
— túnel de derivación: envía tráfico a la red directamente sin pasar por el túnel.
Habilitar la optimización de TCP: verifique si eligió la opción sobre túnel. Cuando la optimización está habilitada, puede especificar los números de puerto para los que desea optimizar el tráfico. No se optimizará el tráfico para los puertos restantes en esa red en particular. Si no se especifican números de puerto, se optimiza el tráfico para todos los puertos. Leer más sobre esta característica aquí.
A continuación, vaya a la pestaña Autenticación y haga clic en +. Para la autenticación, utilizaremos un servidor local en el propio NSX Edge.
Aquí podemos seleccionar políticas para generar nuevas contraseñas y configurar opciones para bloquear cuentas de usuario (por ejemplo, el número de reintentos si la contraseña se ingresa incorrectamente).
Como estamos usando autenticación local, necesitamos crear usuarios.
Además de cosas básicas como un nombre de usuario y contraseña, aquí puede, por ejemplo, evitar que el usuario cambie la contraseña o, por el contrario, obligarlo a cambiar la contraseña la próxima vez que inicie sesión.
Una vez que se hayan agregado todos los usuarios necesarios, vaya a la pestaña Paquetes de instalación, haga clic en + y cree el instalador, que será descargado por un empleado remoto para la instalación.
Presione +. Seleccione la dirección y el puerto del servidor al que se conectará el cliente y las plataformas para las que desea generar el paquete de instalación.
A continuación, en esta ventana, puede especificar la configuración del cliente para Windows. Elegir:
iniciar el cliente al iniciar sesión: el cliente VPN se agregará al inicio en la máquina remota;
crear icono de escritorio: creará un icono de cliente VPN en el escritorio;
Validación del certificado de seguridad del servidor: validará el certificado del servidor al conectarse.
La configuración del servidor está completa.
Ahora descarguemos el paquete de instalación que creamos en el último paso a una PC remota. Al configurar el servidor, especificamos su dirección externa (185.148.83.16) y puerto (445). Es en esta dirección que debemos ir en un navegador web. en mi caso es 185.148.83.16: 445.
En la ventana de autorización, debe ingresar las credenciales de usuario que creamos anteriormente.
Después de la autorización, vemos una lista de paquetes de instalación creados disponibles para descargar. Hemos creado solo uno, lo descargaremos.
Hacemos clic en el enlace, comienza la descarga del cliente.
Descomprima el archivo descargado y ejecute el instalador.
Después de la instalación, inicie el cliente, en la ventana de autorización, haga clic en Iniciar sesión.
En la ventana de verificación del certificado, seleccione Sí.
Ingresamos las credenciales del usuario creado anteriormente y vemos que la conexión se completó con éxito.
Verificamos las estadísticas del cliente VPN en la computadora local.
En la línea de comandos de Windows (ipconfig/all), vemos que ha aparecido un adaptador virtual adicional y hay conectividad a la red remota, todo funciona:
Y, por último, verifique desde la consola de Edge Gateway.
VPN L2
Se necesitará L2VPN cuando necesite combinar varios geográficamente
redes distribuidas en un dominio de difusión.
Esto puede ser útil, por ejemplo, al migrar una máquina virtual: cuando una VM se mueve a otra área geográfica, la máquina conservará su configuración de direccionamiento IP y no perderá la conectividad con otras máquinas ubicadas en el mismo dominio L2 con ella.
En nuestro entorno de prueba, conectaremos dos sitios entre sí, los llamaremos respectivamente A y B. Tenemos dos NSX y dos redes enrutadas creadas de forma idéntica conectadas a diferentes Edge. La máquina A tiene la dirección 10.10.10.250/24, la máquina B tiene la dirección 10.10.10.2/24.
En vCloud Director, vaya a la pestaña Administration, vaya al VDC que necesitamos, vaya a la pestaña Org VDC Networks y agregue dos nuevas redes.
Seleccione el tipo de red enrutada y vincule esta red a nuestro NSX. Ponemos el checkbox Crear como subinterfaz.
Como resultado, deberíamos obtener dos redes. En nuestro ejemplo, se denominan red-a y red-b con la misma configuración de puerta de enlace y la misma máscara.
Ahora vamos a la configuración del primer NSX. Este será el NSX al que está conectado la Red A. Actuará como un servidor.
Regresamos a la interfaz de NSx Edge / Ir a la pestaña VPN -> L2VPN. Activamos L2VPN, seleccionamos el modo de operación del servidor, en la configuración global del servidor especificamos la dirección IP externa de NSX en la que escuchará el puerto para el túnel. De forma predeterminada, el socket se abrirá en el puerto 443, pero esto se puede cambiar. No olvide seleccionar la configuración de cifrado para el futuro túnel.
Vaya a la pestaña Sitios del servidor y agregue un par.
Encendemos el par, establecemos el nombre, la descripción, si es necesario, establecemos el nombre de usuario y la contraseña. Necesitaremos estos datos más adelante cuando configuremos el sitio del cliente.
En Egress Optimization Gateway Address establecemos la dirección de la puerta de enlace. Esto es necesario para que no haya conflicto de direcciones IP, porque la puerta de enlace de nuestras redes tiene la misma dirección. Luego haga clic en el botón SELECCIONAR SUB-INTERFACES.
Aquí seleccionamos la subinterfaz deseada. Guardamos la configuración.
Vemos que el sitio del cliente recién creado ha aparecido en la configuración.
Ahora pasemos a configurar NSX desde el lado del cliente.
Vamos al lado B de NSX, vamos a VPN -> L2VPN, habilitamos L2VPN, configuramos el modo L2VPN en modo cliente. En la pestaña Cliente global, configure la dirección y el puerto de NSX A, que especificamos anteriormente como IP de escucha y puerto en el lado del servidor. También es necesario establecer la misma configuración de cifrado para que sean consistentes cuando se genera el túnel.
Nos desplazamos a continuación, seleccionamos la subinterfaz a través de la cual se construirá el túnel para L2VPN.
En Egress Optimization Gateway Address establecemos la dirección de la puerta de enlace. Establecer ID de usuario y contraseña. Seleccionamos la subinterfaz y no olvidemos guardar la configuración.
En realidad, eso es todo. La configuración del lado del cliente y del servidor es casi idéntica, con la excepción de algunos matices.
Ahora podemos ver que nuestro túnel ha funcionado yendo a Estadísticas -> L2VPN en cualquier NSX.
Si ahora vamos a la consola de cualquier Edge Gateway, veremos en cada uno de ellos en la tabla arp las direcciones de ambas VM.
Eso es todo sobre VPN en NSX Edge. Pregunte si algo no está claro. También es la última parte de una serie de artículos sobre cómo trabajar con NSX Edge. Esperamos que hayan sido de ayuda 🙂