A ferramenta de captura funciona toda a manhã, o túnel liga-se e fica em silêncio. Desliga e volta a arrancar. O instinto diz que a VPN estragou o proxy, mas nada na configuração do proxy mudou. O que mudou foi qual configuração as aplicações leem agora: uma entrada de túnel pode trazer configurações de proxy próprias, um perfil gerido pode reativar a configuração automática e alguns ambientes de execução leem apenas parte do que o sistema operativo oferece. Leia o valor por ligação antes de tocar no valor global.

O Windows guarda um proxy por ligação

Nas opções da Internet há duas camadas que parecem idênticas na caixa de diálogo. As definições da rede local aplicam-se à ligação local normal, enquanto uma entrada de marcação ou de VPN guarda a sua própria cópia em HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections, armazenada como valor binário. Escrever os conhecidos valores globais do registo não atualiza essa cópia.

É exatamente assim que uma ferramenta se comporta corretamente antes de ligar e incorretamente depois, sem qualquer alteração visível nas suas definições. A caixa de diálogo que estava a fixar era o painel da rede local. Estava correta e era irrelevante. A entrada que o Windows usava de facto era a criada para o túnel.

A forma suportada de alterar uma entrada é a API de opções de ligação WinINET: preencha um INTERNET_PER_CONN_OPTION_LIST com o nome da ligação, os sinalizadores, o servidor proxy e uma lista de exceções, aplique-o e depois atualize. Para uma verificação rápida, abra a caixa de definições da própria entrada do túnel e compare o painel de proxy com o da rede local; a diferença costuma ser óbvia assim que se sabe onde olhar.

Um PAC gerido pode voltar a ligar-se sozinho

No macOS, o script de configuração automática de proxy e a descoberta automática de proxy são propriedades de um serviço de rede, não da máquina. Um perfil de configuração pode exigi-los, por isso reaparecem depois de os desmarcar, e cada pedido passa então a ir para o proxy que o script escolher.

Inspecione e, se estiver autorizado, desligue esses dois interruptores para o serviço que transporta o tráfego:

networksetup -setautoproxystate "Wi-Fi" off
networksetup -setproxyautodiscovery "Wi-Fi" off
scutil --proxy

Use o nome real do serviço em vez de um palpite. Um portátil com Wi-Fi e adaptador Ethernet USB tem dois, e só um transporta o seu tráfego. scutil --proxy imprime os valores do serviço principal atual. Compare essa saída com o que editou antes de concluir que o perfil ganhou.

Aponte a ferramenta para a origem real

Se o script contiver o proxy corporativo, leia-o e introduza esse mesmo endereço como proxy externo dentro da ferramenta de captura. A ferramenta passa então a encaminhar para a origem real, que é o que o proxy corporativo espera, e mantém-se no caminho do pedido em vez de lutar contra a política.

É esse o movimento que o mantém a depurar em vez de a reconfigurar.

Empurre o proxy para dentro do túnel

Um cliente baseado em OpenVPN pode aceitar opções de proxy que se aplicam quando o túnel já está de pé, o que é cómodo quando o cliente é dono das rotas:

dhcp-option HTTPPROXY 127.0.0.1:8888
dhcp-option HTTPSPROXY 127.0.0.1:8888

Só os clientes que respeitam a opção a usarão, e ela fixa a sua porta de escuta dentro de um perfil. Trate-a como uma comodidade de laboratório e não como um padrão de implementação, porque o próximo envio de perfil irá removê-la.

Alguns clientes nunca leem o proxy do sistema

O Firefox guarda as suas próprias definições de proxy, e é por isso que por vezes continua a capturar quando um navegador com proxy do sistema já não o faz. Um cliente .NET antigo que não compreende a configuração automática liga-se diretamente onde quer que corra, pelo que uma página carregada pela entrada do túnel pode continuar a falhar dentro da aplicação.

As ferramentas de rede também têm as suas causas. Uma sessão FTP que fica pendurada através de um túnel ou de um tethering de telemóvel é muitas vezes um problema de modo ativo versus passivo negociado pelo cliente, e nenhuma definição de proxy o altera.

Leia a configuração, não o interruptor

Trabalhe por esta ordem: o valor de proxy da própria entrada do túnel, o estado de PAC e descoberta automática por serviço e, depois, o tratamento de proxy da própria aplicação. Pare no primeiro que difira do que assumiu.

Todos os casos aqui são um problema de precedência de configuração. Nenhum é o túnel a estragar a sua ferramenta.

Artigos relacionados