Un usuario de VPN de Windows debería chegar a HTTPS nun servidor e non a SMB no mesmo servidor, e unha ruta non pode expresar iso. As dúas solicitudes levan o mesmo enderezo de destino, así que o prefixo que envía o tráfico ao túnel tamén leva o fluxo que querías excluír. Sepalalos require unha regra que examine algo máis fino ca o destino.

Dúas intencións distintas constrúense con dous mecanismos de Windows distintos. Mesturalos produce unha directiva que parece completa mentres aplica a metade do que pretendías.

Unha ruta non pode separar dous servizos nun enderezo

O encamiñamento nativo da VPN baséase en prefixos: decide que destinos viaxan polo túnel e cales quedan fóra. É a ferramenta correcta para manter unha subrede dentro e outra fóra, e é cega aos portos por construción. Un filtro de tráfico no perfil VPN engade unha segunda dimensión: fai coincidir protocolo, enderezo remoto e porto remoto para o que pode cruzar esa interface. Unha regra IPsec traballa nun terceiro lugar e expresa que fluxos requiren protección e con quen se autentican. As tres responden preguntas distintas e ningunha substitúe as outras.

Comeza escribindo a frase que pretendes. Permitir só HTTPS é unha frase de acceso, mentres que esixir IPsec para HTTPS é unha frase de protección, e as dúas levan a unha configuración distinta.

A restrición de acceso e o requisito de protección diverxen

Unha restrición de acceso di que pode usar a interface e aplícase permitindo un conxunto e denegando todo o demais. Un requisito de protección di que fluxos deben ir cifrados e autenticados e aplícase negociando asociacións de seguridade que coincidan con eles. A primeira produce unha solicitude bloqueada cando algo non está na lista, mentres que a segunda produce unha conexión que ou leva a protección esixida ou non se establece. Tratar un como o outro é como unha directiva acaba sen bloquear nada ou sen protexer nada.

A consecuencia práctica é que unha lista de filtros é un conxunto pechado. Unha vez existe unha lista no perfil, o tráfico por esa interface que non coincide con ningunha entrada rexéitase, así que DNS, os intercambios de autenticación e calquera dependencia que a aplicación necesite requiren as súas propias entradas. Engadir unha regra ampla para silenciar os rexeitamentos reabre toda a interface e cancela a restrición en silencio. A lista debe ser tan curta como o requisito permita e tan completa como a aplicación esixa.

Constrúe a lista de filtros como un conxunto completo

Os perfís VPNv2 levan a lista de filtros por separado da lista de rutas, e as súas entradas son propiedades do perfil, non ordes. Para o exemplo HTTPS a entrada necesita o protocolo 6, o enderezo remoto e o porto remoto, despregados pola canle de xestión ou ProfileXML para o tipo de perfil en uso. A definición do filtro de tráfico VPNv2 de Microsoft afirma que as condicións dentro dunha regra se combinan mentres que identificadores de regra separados actúan como alternativas.

TrafficFilterList/0/Protocol            = 6
TrafficFilterList/0/RemoteAddressRanges = 10.60.4.20/32
TrafficFilterList/0/RemotePortRanges    = 443
RouteList/0/Address                     = 10.60.4.0/24

Os valores de porto desa lista describen o porto do servizo no extremo remoto, e o porto local debe quedar sen restricións para que o porto de orixe efémero do cliente non se filtre. Facelo ao revés produce unha regra que non coincide con nada e un crebacabezas que leva unha tarde.

Escribe a ruta e o filtro como dúas decisións separadas. A ruta decide que se chega a este servidor polo túnel, e o filtro decide que servizos poden usar ese camiño.

Demostra ambos os resultados con dúas solicitudes

Proba o fluxo permitido e o fluxo denegado por separado, e le o fallo en lugar da páxina que falta. Un rexeitamento que chega rápido é unha decisión de directiva, mentres que un tempo de espera é máis probablemente unha ruta que falta ou un servizo que non escoita. As ordes de abaixo executan ambas as solicitudes e amosan as regras vixentes.

Test-NetConnection 10.60.4.20 -Port 443
Test-NetConnection 10.60.4.20 -Port 445
Get-NetIPsecRule -DisplayName *Vpn*
Get-VpnConnection -Name Corp

Un rexeitamento rápido na proba SMB cunha proba HTTPS correcta é o resultado que o filtro debía producir. Un rexeitamento nos dous portos significa que á lista lle falta algo que a sesión necesita, e un tempo de espera nos dous apunta ao encamiñamento máis que á filtraxe. Se os fluxos protexidos amosan ningunha asociación de seguridade na saída de IPsec, o requisito de protección non se cumpre aínda que a conexión teña éxito. Le as catro saídas xuntas, porque cada unha por separado sostén unha historia distinta.

Rexistra o perfil efectivo, o conxunto de regras e a directiva do par xunto cos resultados. As notas históricas de compatibilidade sobre clientes de Windows antigos non describen que admiten as funcións de perfil xestionado de hoxe nunha pasarela concreta. O comportamento específico de cada versión pertence ao rexistro, non á suposición.

Artigos relacionados