Eu tenho um Macbook Big Sur 11.5.2 e já gastei bastante nesse assunto específico, mas não consigo entender. Preciso da ajuda de pessoas mais experientes do que eu no assunto.
Informações básicas
Onde estou morando atualmente em um complexo de apartamentos existe uma rede central de internet que não tenho acesso a esses dispositivos (Ubiquidade). Ultimamente tenho trabalhado muito em casa e às vezes preciso me conectar via VPN às redes dos clientes para dar suporte. A maior parte da VPN do cliente funciona bem em casa, exceto uma. Quando tento conectar, basicamente expira. Se eu usar meu telefone como ponto de acesso, esta VPN funciona perfeitamente, sem nenhum problema. Tentei em vários outros locais (fora da minha rede doméstica) e funcionou conforme o esperado.
A situação atual
O que estou usando para me conectar a esta VPN é o cliente VPN integrado do Mac OS. O tipo de VPN éCisco IPsec. Portanto, minha solução para esse problema foi encapsular essa VPN em minha VPN wireguard (wg) que instalei fora desta rede. Este túnel wg funciona conforme o esperado. Para verificar se o tráfego está sendo roteado corretamente, uso o wireshark para monitorar e, claro, verifiquei a tabela de roteamento do Mac OS (com netstat -nr). Portanto, quando me conecto ao meu wg, posso ver que o tráfego passa facilmente pelo wg.
O problema
Quando tento conectar o cliente VPN Cisco IPSEC integrado do Mac OS, em vez de passar o tráfego pelo túnel wg (utunX), ele passa pela interface WiFi normal (EN0). Não importa o que eu tentasse, não conseguia fazer o tráfego passar pelo túnel. Adicionei rotas à tabela de roteamento (0.0.0.0/1 e 128.0.0.0/1) para garantir que todo o tráfego passasse por lá, mas o cliente VPN não passaria por ele. Tentei alterar a ordem dos serviços de rede e isso também não ajudou.
Algo digno de nota que notei quando executo uma VPN comercial (que possuo) e inicio o cliente VPN integrado do Mac OS, ele passa pelo túnel VPN comercial. Tentei imitar o que estava vendo na tabela de roteamento da VPN comercial, mas sem sucesso. Mas isso mostra que é possível encaminhar o cliente através de um túnel.
Um trecho da tabela de roteamento sem wg:
Internet:
Destination Gateway Flags Netif Expire
default 10.20.30.1 UGScg en0
10.20.30/24 link#5 UCS en0 !
10.20.30.1/32 link#5 UCS en0 !
10.20.30.1 fc:ec:da:43:97:e5 UHLWIir en0 1194
Um trecho da tabela de roteamento COM wg ON:
Internet:
Destination Gateway Flags Netif Expire
default link#14 UCSg utun2
default 10.20.30.1 UGScIg en0
1.1.1.1 link#14 UHW3Ig utun2 36
9.9.9.9 link#14 UHWIig utun2
10.6/24 10.6.0.2 UGSc utun2
10.6.0.2 10.6.0.2 UH utun2
10.20.30/24 link#5 UCS en0 !
10.20.30.1/32 link#5 UCS en0 !
Um trecho da tabela de roteamento com VPN comercial:
Destination Gateway Flags Netif Expire
0/1 10.158.0.5 UGcg utun2
default 10.20.30.1 UGScg en0
default 10.20.30.1 UGScIg en0
10 10.20.30.1 UGSc en0
10.20.30/24 link#5 UCS en0 !
10.20.30.1/32 link#5 UCS en0 !
Não consegui descobrir na VPN comercial por que existem o mesmo destino padrão (10.20.30.1) com sinalizadores diferentes. Não consegui adicionar um segundo padrão assim (ou melhor, não sei como).
O que mais posso fazer (ou quais informações devo fornecer aqui) para que vocês me ajudem a resolver o problema?