Filtro de tráfico VPN ou regra IPsec: onde Windows aplica un porto
Unha ruta ve un destino, non un servizo. Decide se precisas un filtro de acceso no perfil VPN ou unha regra IPsec que esixa protección para o fluxo.
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.