VPN por aplicação ou split tunneling? O que uma rota do Mac pode decidir
Uma rota seleciona destinos, não processos. Compare o split tunneling por destino com um perfil de VPN por aplicação gerido e com um proxy local como terceira via.
Duas aplicações abrem ligações ao mesmo servidor de escritório, e só uma delas deve usar o túnel. Uma rota não consegue exprimir esse desejo, porque as tabelas de encaminhamento baseiam-se em destinos e não têm noção de qual processo abriu o socket. O que as pessoas pedem e o que precisam são muitas vezes coisas diferentes. Separe as duas antes de alterar qualquer configuração.
O seletor é um destino, nunca um processo
Toda a decisão de encaminhamento começa num endereço de destino e termina numa interface. O núcleo nunca pergunta qual binário enviou o pacote, e no macOS pf também não encaminha por processo, pelo que uma regra de firewall não consegue colocar uma aplicação noutro caminho. É por isso que o mesmo servidor, alcançado por um navegador e por uma ferramenta de relatórios, segue um único caminho para ambos. A separação ao nível da aplicação tem de vir, portanto, de algo diferente de uma rota: um plugin de VPN que detém o socket, um proxy que assume a ligação em nome da aplicação ou uma pilha de rede separada. Nenhuma dessas coisas é uma alteração de encaminhamento.
Duas aplicações a falar com um só endereço são o teste mais limpo de um desenho. Se a resposta não puder diferir entre elas, o desenho é baseado no destino, chame-se o que se chamar.
O que um split tunneling comum dá realmente
Um split tunnel instala rotas para os prefixos privados e deixa tudo o resto no caminho físico. É normalmente o que o pedido significa: chegar ao servidor de escritório pelo túnel e manter a navegação pública direta. É simples, todos os clientes comuns o suportam e é imposto pelo mesmo mecanismo de qualquer outra rota. Verifique o destino concreto com route -n get em vez de ler a rota predefinida, porque um split tunnel costuma deixá-la intacta.
Editar a rota predefinida à mão não é uma conversão para nada. Luta contra o próprio restabelecimento de rotas do cliente e, em clientes que instalam uma política de proteção, pode deixar a máquina num estado que nem você nem o cliente esperam. Configure o split tunnel nas definições suportadas do cliente.
O que uma VPN por aplicação no macOS exige
Uma VPN por aplicação verdadeira no macOS é uma funcionalidade Network Extension guiada por um perfil de configuração. Uma carga de gestão associa aplicações escolhidas a uma configuração de VPN, e o sistema encaminha depois o tráfego dessas aplicações em conformidade. É uma implementação gerida, o que implica um MDM, um perfil assinado e um administrador que possua ambos.
Instalar o cliente à mão não cria essa associação, e o painel de definições comum não torna as aplicações selecionáveis individualmente. Um fornecedor pode expor as suas próprias regras de aplicação, e essas seguem a sua documentação em vez de uma regra geral.
Três vias para separar por aplicação sem MDM
Onde a gestão não está disponível, um proxy é a resposta prática. Defina a configuração de proxy da própria aplicação ou use um ficheiro PAC que selecione por destino e protocolo apenas para essa aplicação.
Um proxy local termina a ligação e reemite-a através do túnel, pelo que a aplicação nunca precisa de uma rota. A segunda opção é uma pilha de rede separada: uma máquina virtual ou um contentor com a sua própria rota predefinida, que a aplicação alcança por um endereço local. A terceira é aceitar o encaminhamento por destino e abandonar o requisito, o que é honesto quando ambas as aplicações podem usar o túnel. As três são testáveis, e nenhuma finge que uma rota conhece os processos.
Escreva o pedido para que a resposta não deixe dúvidas
Descreva o fluxo de trabalho em vez do mecanismo: que aplicação precisa de que serviço, se outra aplicação deve ser mantida afastada desse mesmo serviço e o que deve acontecer enquanto o túnel está em baixo. Essas três respostas escolhem o desenho. Também dizem ao administrador se o pedido é uma alteração de encaminhamento ou um projeto de implementação.
Inclua explicitamente o caso da aplicação excluída. Um cliente que para uma aplicação quando o seu caminho protegido não está disponível comporta-se de forma diferente de um que a deixa recair na interface física, e os utilizadores notam essa diferença de imediato. Nomeie a expectativa no ticket. Depois verifique na máquina real, porque o mesmo produto comporta-se muitas vezes de forma diferente no macOS e no Windows, e a sua documentação de macOS é a única fonte fiável sobre o que as suas definições fazem.