El servidor VPN de Windows puede comunicarse con los clientes VPN, pero no enviará paquetes desde su red local a los clientes VPN.

8

Quiero configurar Windows Server 2012, y sus clientes VPN de Windows 7 y Windows 8, con una VPN SSTP que utiliza túnel dividido y direccionamiento fuera de subred, pero me encuentro con un problema: el servidor RRAS no enviará paquetes a VPN clientes de cualquier máquina que no sea ella misma.

Mi servidor VPN se está ejecutando en la "Nube privada virtual" de Amazon, por lo que solo tiene una NIC con una dirección IP en una red privada RFC1918 compartida con todos mis otros servidores VPC de Amazon y una IP pública que reenvía todo el tráfico a esa dirección privada a través de NAT (Amazon llama a esto "IP elástica").

Instalé RRAS y configuré una VPN. La subred privada en Amazon es 172.16.0.0/17 (esto es lo que llamo la "LAN de Amazon"), pero quiero que todos los clientes VPN usen el rango 10.128.0.0/20 (lo que llamo " VPN LAN ").

En mi panel de control de Amazon, hice lo siguiente:

  • Deshabilitó la verificación de origen / destino para el servidor VPN
  • Se agregó una entrada en las tablas de rutas para el grupo 10.128.0.0/20 que apunta a la interfaz de red del servidor VPN.

Dentro de la MMC de enrutamiento y acceso remoto, dentro del menú de propiedades para el nombre del servidor, hice lo siguiente:

  • Ficha General -> Enrutador IPv4 (marcado), habilitado para LAN y enrutamiento de marcado a petición
  • Pestaña General -> Servidor de acceso remoto IPv4 (marcado)
  • Pestaña IPv4 -> Habilitar el reenvío de IPv4 (marcado)
  • Pestaña IPv4 -> Agrupación de direcciones estáticas, y especifique 10.128.0.1-10.128.15.154

En mi cliente y en todos mis servidores, me he asegurado de que ICMP esté explícitamente permitido en el firewall, o que el firewall esté completamente desactivado (no el plan permanente, por supuesto).

En el cliente, para habilitar el túnel dividido, he ido a las propiedades para la conexión VPN -> Redes -> IPv4 -> Propiedades -> Avanzado -> pestaña Configuración de IP, y desmarqué "Usar puerta de enlace predeterminada en la red remota", y marcado "Deshabilitar la adición de ruta basada en la clase".

En este punto, mis clientes pueden conectarse usando el cliente VPN Windows 7/8. Se les asigna una IP del grupo 10.128.0.0/20, pero como no están configurando automáticamente ninguna ruta, no pueden comunicarse con la red remota. Puedo establecer rutas a la red remota y a la red VPN, de esta manera (en el cliente):

route add 172.16.0.0/17 <VPN IP ADDRESS> 
route add 10.128.0.0/20 <VPN IP ADDRESS> 

Ahora el cliente puede hacer ping a la dirección LAN VPN del servidor VPN (10.128.0.1), y también a su dirección LAN de Amazon (172.16.1.32). Sin embargo, se encuentra con un problema al intentar hablar con otras máquinas en la LAN de Amazon: los pings no reciben respuestas.

Entonces, por ejemplo, si el cliente intenta hacer ping a un sistema que sé que está activo y responde a pings como 172.16.0.113, no verá esas respuestas (dice "Solicitud agotada"). Wireshark en el servidor VPN confirma que ve el ping del cliente, e incluso ve una respuesta enviada desde 172.16.0.113, pero esa respuesta aparentemente nunca regresa al cliente.

Además, si hago ping a la dirección LAN VPN del cliente desde 172.16.0.113, Wireshark en el servidor VPN ve el ping, pero no ve una respuesta.

Entonces, para recapitular:

  • El servidor VPN puede hacer ping a otras máquinas en la LAN de Amazon (172.16.0.0/17) y recibir respuestas, y otras máquinas en esa red pueden hacer lo mismo.
  • Un cliente VPN puede hacer ping en la dirección de LAN de Amazon del servidor y recibir respuestas, después de que los clientes agreguen la ruta adecuada como se describió anteriormente.
  • Un cliente VPN puede hacer ping a la dirección LAN LAN del servidor de 10.128.0.1, y el servidor VPN puede hacer ping a la dirección LAN LAN del cliente en el rango 10.128.0.0/20, después de que el cliente agrega la ruta de la ruta adecuada como se describió anteriormente.
  • Un cliente VPN puede enviar pings a una máquina en la LAN de Amazon, pero cuando esas máquinas envían respuestas, se detienen en el servidor VPN; no se reenvían al cliente, lo que genera mensajes de "Solicitud agotada". . Por el contrario, cuando una máquina en la LAN de Amazon intenta hacer ping a la dirección LAN LAN 10.128.0.0/20 del cliente, el servidor VPN ve el ping, pero el cliente nunca lo hace y, por lo tanto, no genera una respuesta.

¿Por qué el servidor VPN no envía paquetes desde la LAN de Amazon a sus clientes en la LAN de la VPN? Definitivamente puede hablar con los clientes en la LAN VPN, y el enrutamiento está habilitado, y está dispuesto a enrutar los paquetes desde la LAN VPN -> Amazon LAN, pero no al revés. ¿Que me estoy perdiendo aqui?

Rutas

Aquí están las tablas de enrutamiento de un cliente VPN. El cliente es una VM VirtualBox con Windows 8. Su dirección IP del adaptador vbox es 10.0.2.15 en un / 24. Este cliente está detrás de NAT (en realidad, está detrás de NAT doble, porque el adaptador vbox es NAT en mi red local, que es NAT en Internet). Esta tabla de rutas es de después de agregar manualmente las rutas a 10.128.0.0/20 y 172.16.0.0/17.

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0         10.0.2.2        10.0.2.15     10
         10.0.2.0    255.255.255.0         On-link         10.0.2.15    266
        10.0.2.15  255.255.255.255         On-link         10.0.2.15    266
       10.0.2.255  255.255.255.255         On-link         10.0.2.15    266
       10.128.0.0    255.255.240.0         On-link        10.128.0.3     15
       10.128.0.3  255.255.255.255         On-link        10.128.0.3    266
    10.128.15.255  255.255.255.255         On-link        10.128.0.3    266
    54.213.67.179  255.255.255.255         10.0.2.2        10.0.2.15     11
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    306
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    306
       172.16.0.0    255.255.128.0         On-link        10.128.0.3     15
   172.16.127.255  255.255.255.255         On-link        10.128.0.3    266
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    306
        224.0.0.0        240.0.0.0         On-link         10.0.2.15    266
        224.0.0.0        240.0.0.0         On-link        10.128.0.3    266
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    306
  255.255.255.255  255.255.255.255         On-link         10.0.2.15    266
  255.255.255.255  255.255.255.255         On-link        10.128.0.3    266
===========================================================================
Persistent Routes:
  None

Aquí están las tablas de enrutamiento del servidor RRAS, que ejecuta Windows Server 2012. Este servidor también está detrás de NAT, como se discutió anteriormente. Solo tiene una NIC. Su dirección IP privada es 172.16.1.32, en un / 23 (que es parte de una red / 17 más grande; creo que es justo ignorar las partes del / 17 fuera del / 23, ya que otras máquinas en el / 23 no puede ser alcanzado ni ser alcanzado por clientes VPN tampoco).

El adaptador virtual VPN tiene su propia dirección, 10.128.0.1, que se asigna automáticamente la primera vez que se conecta un cliente. Las rutas para 10.128.0.1 (para sí mismo) y 10.128.0.2 (para su único cliente) que ve también se agregan automáticamente en ese momento. No se agregan rutas al servidor VPN manualmente.

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0       172.16.0.1      172.16.1.32     10
       10.128.0.1  255.255.255.255         On-link        10.128.0.1    286
       10.128.0.2  255.255.255.255       10.128.0.2       10.128.0.1     31
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    306
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    306
  169.254.169.250  255.255.255.255       172.16.0.1      172.16.1.32     10
  169.254.169.251  255.255.255.255       172.16.0.1      172.16.1.32     10
  169.254.169.254  255.255.255.255       172.16.0.1      172.16.1.32     10
       172.16.0.0    255.255.254.0         On-link       172.16.1.32     11
      172.16.1.32  255.255.255.255         On-link       172.16.1.32    266
     172.16.1.255  255.255.255.255         On-link       172.16.1.32    266
       172.16.2.0    255.255.254.0      172.168.0.1      172.16.1.32     11
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    306
        224.0.0.0        240.0.0.0         On-link       172.16.1.32    266
        224.0.0.0        240.0.0.0         On-link        10.128.0.1    286
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    306
  255.255.255.255  255.255.255.255         On-link       172.16.1.32    266
  255.255.255.255  255.255.255.255         On-link        10.128.0.1    286
===========================================================================
Persistent Routes:
  None

Aquí están las tablas de enrutamiento para otra máquina en la red privada del servidor, que también ejecuta el Servidor 2012. Tiene una NIC, que tiene una dirección IP privada de 172.16.1.177, lo que significa que está en la misma / 23 que está el servidor VPN. (Tenga en cuenta que la ruta al 10.128.0.0/20 está configurada en la puerta de enlace, que está controlada por Amazon, por lo que no la verá aquí. He agregado la ruta correcta a Amazon, como lo demuestra Wireshark en el El servidor VPN ve los paquetes).

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0       172.16.0.1     172.16.1.177     10
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    306
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    306
  169.254.169.250  255.255.255.255       172.16.0.1     172.16.1.177     10
  169.254.169.251  255.255.255.255       172.16.0.1     172.16.1.177     10
  169.254.169.254  255.255.255.255       172.16.0.1     172.16.1.177     10
       172.16.0.0    255.255.254.0         On-link      172.16.1.177    266
     172.16.1.177  255.255.255.255         On-link      172.16.1.177    266
     172.16.1.255  255.255.255.255         On-link      172.16.1.177    266
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    306
        224.0.0.0        240.0.0.0         On-link      172.16.1.177    266
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    306
  255.255.255.255  255.255.255.255         On-link      172.16.1.177    266
===========================================================================
Persistent Routes:
  None

Aquí están las rutas en la consola de Amazon. Creo que estos son correctos , después de todo, el tráfico está regresando al servidor VPN, solo para desaparecer dentro de él, pero en caso de que alguien quiera verlos, aquí están. (Amazon hace las cosas un poco extrañas. Se eni-2f3e8244 / i-77e26440refiere a la NIC en el servidor VPN, y se igw-d4bc27bcrefiere a la puerta de enlace / NAT de Internet controlada por Amazon que todas mis instancias usan para comunicarse con Internet).

10.128.0.0/20   eni-2f3e8244 / i-77e26440   
172.16.0.0/17   local   
0.0.0.0/0       igw-d4bc27bc
Micah R Ledbetter
fuente
2
Una vez he usado una configuración casi idéntica a la tuya, y realmente no puedo recordar qué estás haciendo mal. ¿Puede publicar la salida ROUTE PRINT del cliente, el servidor y un host en la red 172.16? (supongo que los hosts de la red 176.16 no tienen la ruta correcta)
Dusan Bajic
también, pruebe con tracert desde uno de los 172.16 hosts al cliente vpn: ¿alguna vez llega al servidor vpn?
Dusan Bajic
He agregado la información solicitada, route printy la tracertsalida, y he realizado una corrección importante en la información que agregué anteriormente. (¡Gracias por la ayuda de ya!)
Micah R Ledbetter
1
Extraño. ¿Cómo se configura exactamente su grupo de direcciones estáticas para clientes vpn?
Dusan Bajic
@ dusan.bajic Dirección IP de inicio: 10.128.0.0; Dirección IP final: 10.128.15.255; Número de direcciones: 4096.
Micah R Ledbetter

Respuestas:

1

¿Qué sucede si agrega una ruta estática en sus servidores diciéndoles que para llegar a 10.128.0.0/20 tienen que pasar por la dirección LAN del servidor VPN?

route add 10.128.0.0 mask 255.255.240.0 a.b.c.d

Sustituya abcd con la dirección LAN del servidor VPN.

Esto, al menos, descartará problemas con el enrutamiento de Amazon.

Silvio Massina
fuente