Não é possível alterar as rotas com o cliente VPN


10

Minha conexão VPN força todo o tráfego da Internet através do túnel, e isso é muito lento. Quero poder encapsular apenas determinados endereços IP e fazer isso ao meu lado (lado do cliente).

Estou me conectando a uma VPN com o FortiSSL Client , a tabela de rotas fica assim antes de uma conexão ser estabelecida:

Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.0.1    192.168.0.101     40
        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
      192.168.0.0    255.255.255.0         On-link     192.168.0.101    276
    192.168.0.101  255.255.255.255         On-link     192.168.0.101    276
    192.168.0.255  255.255.255.255         On-link     192.168.0.101    276
    192.168.119.0    255.255.255.0         On-link     192.168.119.1    276
    192.168.119.1  255.255.255.255         On-link     192.168.119.1    276
  192.168.119.255  255.255.255.255         On-link     192.168.119.1    276
    192.168.221.0    255.255.255.0         On-link     192.168.221.1    276
    192.168.221.1  255.255.255.255         On-link     192.168.221.1    276
  192.168.221.255  255.255.255.255         On-link     192.168.221.1    276
        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     192.168.119.1    276
        224.0.0.0        240.0.0.0         On-link     192.168.221.1    276
        224.0.0.0        240.0.0.0         On-link     192.168.0.101    276
  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     192.168.119.1    276
  255.255.255.255  255.255.255.255         On-link     192.168.221.1    276
  255.255.255.255  255.255.255.255         On-link     192.168.0.101    276

Depois de conectar, fica assim:

Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.0.1    192.168.0.101   4265
          0.0.0.0          0.0.0.0         On-link        172.16.0.1     21
        127.0.0.0        255.0.0.0         On-link         127.0.0.1   4531
        127.0.0.1  255.255.255.255         On-link         127.0.0.1   4531
  127.255.255.255  255.255.255.255         On-link         127.0.0.1   4531
       172.16.0.1  255.255.255.255         On-link        172.16.0.1    276
      192.168.0.0    255.255.255.0         On-link     192.168.0.101   4501
    192.168.0.101  255.255.255.255         On-link     192.168.0.101   4501
    192.168.0.255  255.255.255.255         On-link     192.168.0.101   4501
    192.168.119.0    255.255.255.0         On-link     192.168.119.1   4501
    192.168.119.1  255.255.255.255         On-link     192.168.119.1   4501
  192.168.119.255  255.255.255.255         On-link     192.168.119.1   4501
    192.168.221.0    255.255.255.0         On-link     192.168.221.1   4501
    192.168.221.1  255.255.255.255         On-link     192.168.221.1   4501
  192.168.221.255  255.255.255.255         On-link     192.168.221.1   4501
   200.250.246.74  255.255.255.255      192.168.0.1    192.168.0.101   4245
        224.0.0.0        240.0.0.0         On-link         127.0.0.1   4531
        224.0.0.0        240.0.0.0         On-link     192.168.119.1   4502
        224.0.0.0        240.0.0.0         On-link     192.168.221.1   4502
        224.0.0.0        240.0.0.0         On-link     192.168.0.101   4502
        224.0.0.0        240.0.0.0         On-link        172.16.0.1     21
  255.255.255.255  255.255.255.255         On-link         127.0.0.1   4531
  255.255.255.255  255.255.255.255         On-link     192.168.119.1   4501
  255.255.255.255  255.255.255.255         On-link     192.168.221.1   4501
  255.255.255.255  255.255.255.255         On-link     192.168.0.101   4501
  255.255.255.255  255.255.255.255         On-link        172.16.0.1    276

O cliente VPN coloca uma rota abrangente com uma métrica mais baixa do que todas as minhas outras rotas e direciona todo o tráfego da Internet através do túnel. Tentei alterar a métrica da minha rota padrão da Internet para um valor mais baixo:

C:\Windows\system32>route change 0.0.0.0 mask 0.0.0.0 192.168.0.1 metric 10 if 13
OK!

Mas nada mudou.

Depois, tentei excluir a rota "catch-all" da VPN, aquela com a métrica 21 acima:

C:\Windows\system32>route delete 0.0.0.0 mask 0.0.0.0 if 50
OK!

E quebrou tudo:

C:\Windows\system32>ping 8.8.8.8

Pinging 8.8.8.8 with 32 bytes of data:
PING: transmit failed. General failure.

Tentei alterar a métrica dos adaptadores também, mas o FortiSSL Client substitui todas as configurações quando ele se conecta, portanto não ajudou.

A correção deve vir do meu lado, pois o povo do outro lado leva dias para responder.

Estou executando o Windows 7 x64, se isso ajudar.

- ATUALIZAÇÃO (24-12-2013) -

Graças à dica de mbrownnyc , examinei o problema com o Rohitab e descobri que o FortiSSL Client observa a tabela de rotas com a NotifyRouteChangechamada da API do IP Helper.

NotifyRouteChangeDefino um ponto de interrupção antes das chamadas e usei a opção "Ignorar chamada" para impedir com sucesso o FortiSSL de redefinir as métricas de rota e agora tenho:

Rotas com métricas favorecendo meu adaptador Wifi

No entanto, quando eu corro tracert, minha rota ainda sai pela VPN:

C:\Windows\system32>tracert www.google.com

Tracing route to www.google.com [173.194.118.83]
over a maximum of 30 hops:

  1    45 ms    47 ms    45 ms  Jurema [172.16.0.1]

Existe algum aspecto da rede do Windows que eu não conheça que possa favorecer uma determinada rota, mesmo que as métricas da rota de impressão digam o contrário?


Não é o ponto certo para o seu cliente VPN impor essa política? A empresa provavelmente possui uma política de segurança que exige que você não use o túnel dividido, e contornar essa política seria um risco à segurança.
Ryan Ries

Pelo contrário. Agora tenho acesso aos serviços da Web restritos a IP dos parceiros desta empresa, pois o tráfego da Web passa pelo endereço IP da Internet. É uma configuração muito preguiçosa da parte deles, como em "Vou encapsular tudo pela VPN, para nunca precisar adicionar outro IP ou sub-rede à tabela de rotas".

@ Juliano O objetivo de evitar o tunelamento dividido é impedir que os usuários entrem em um túnel e depois acessem os dados no outro túnel. Eu esperaria que você tivesse o mesmo acesso à rede para o qual está encapsulando, que você teria se estivesse na rede. No entanto, você não deseja usar um túnel dividido para conceder esse acesso ao mundo.
BillThor

2
Na verdade, se eu estivesse nessa rede, seria capaz de configurar minhas rotas e métricas para dar prioridade à conexão à Internet que eu desejava (3g / 4g, por exemplo). Eu teria essa opção porque não estaria sujeito a um cliente VPN ridiculamente restritivo. Prevenir o tunelamento dividido parece bom em teoria, mas isso me limita muito mais do que se eu estivesse realmente fisicamente nessa rede. Vocês estão justificando uma implementação de segurança que está me prejudicando, em vez de me ajudar a encontrar uma saída, que é a questão em questão. Como ignorar isso?

Também há métricas de interface: ncpa.cpl> propriedades da NIC> propriedades da entrada da pilha IP v4> guia Geral / Avançado> Métrica automática. Olhe lá nas duas interfaces. Consulte também esta postagem no blog sobre Windows com hospedagem múltipla .
mbrownnyc

Respostas:


2

Observe que não estou usando a notação de rede regular para endereçar aqui (como CIDR ou mesmo host/masknotação, para não confundir o solicitante).

Em vez de excluir a rota do "gateway padrão" ( 0.0.0.0 mask 0.0.0.0) para que sua pilha de rede não tenha idéia de onde enviar a maioria dos pacotes, tente aumentar a métrica da rota VPN abaixo da rota padrão (neste caso 4265).

Após conectar-se ao cliente Fortigate:

route change 0.0.0.0 mask 0.0.0.0 172.16.0.1 metric 4266 if N

Onde N é o número da fortisslinterface retornada no início de route print.

A pilha de rede deve tratar isso adequadamente:

  • A rota que "inclui os endereços de destino" manipulará os pacotes (a rota informa à pilha de rede para enviar pacotes destinados this IPa this gatewayoutros roteamentos).
  • Todos os pacotes com um IP de destino 172.16.*.*serão enviados para a VPN; porque a pilha de rede do Windows sabe que, se houver um endereço conectado a uma interface, essa interface será como você acessa outros IPs nesse intervalo de endereços. Eu posso ficar mais explícito com o intervalo se você postar a "Máscara de sub-rede" para o 172.16.0.1.

Você deve determinar os endereços IP dos recursos aos quais precisa acessar pela VPN. Você pode fazer isso facilmente usando nslookup [hostname of resource]quando conectado, sem ter ajustado as rotas.

[discurso retórico]

Não tenho nenhum problema em permitir o túnel dividido pela VPN, principalmente por causa do problema de uso que você menciona. Se seu departamento de TI considerar o tunelamento dividido como um mecanismo de segurança, precisará repensar o que está fazendo:

  • O acesso dos clientes aos recursos VPN deve ser isolado e muito restrito, como se eles estivessem sendo acessados ​​via Internet (porque os ativos nos quais você não afirma controle completo apresentam um risco maior do que os ativos nos quais você pode afirmar alguns).
  • Eles devem integrar um mecanismo de controle de acesso à rede para clientes VPN. Isso pode permitir que eles imponham algumas políticas nas máquinas clientes (como "as definições de antivírus estão atualizadas?", Etc etc).
  • Considere usar uma solução rígida como a área de trabalho virtual VPN Fortigate SSL (que é bastante fácil de configurar e liberar [me parece] com a licença SSL VPN).

[/ discurso]


Quando tento alterar a métrica da rota 0.0.0.0 da VPN para um valor mais alto que a da Internet, o FortiSSL Client define minha rota da Internet para uma métrica ainda mais alta.
Juliano

Havia duas rotas de gateway padrão na tabela "depois". O 0.0.0.0 da VPN e o 0.0.0.0 da placa wifi. Excluí o gateway padrão da VPN, mas deixei o da placa wifi, que deveria ser como era antes, mas quebrou tudo. Ou fortissl faz algo na pilha para impedir que as pessoas façam o que estou tentando fazer ou estou fazendo errado.
Juliano

Como são interfaces diferentes, você poderá ajustar os custos de rota separadamente. Se o cliente assistir a tabela de roteamento, nada vai ajudá-lo lá. O cliente Cisco VPN é configurado com um arquivo PRF que pode ser controlado no sistema. O cliente Fortigate SSL provavelmente é o mesmo, registro ou arquivo. Não tenho certeza de onde seria a configuração. Mexa um pouco e você pode encontrar algo que permita configurar o cliente. Além disso, o "suporte para o tunelamento dividido" é configurado "no lado do servidor" / na unidade Fortigate.
mbrownnyc

Olhe para dentro: HKEY_CURRENT_USER\Software\Fortinet\SslvpnClient. Tunneldeve ser interessante. Por favor, envie de volta o que encontrou. Ou responda e marque como um community wikipara que você possa ajudar os outros.
mbrownnyc

1
Que pena. Não tem certeza da sua situação, mas vale a pena fazer um pedido de tunelamento dividido? Caso contrário, parece que você precisará seqüestrar algumas chamadas de API com algo como rohitab ou desvios do MSFT. Pode ser um projeto divertido de fim de semana!
mbrownnyc
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.