Problema do FortiClient no M1 MacBookPro: Solucao do Problema
Encontrei uma solucao rapida para o problema de conectividade do cliente VPN FortiClient com Apple M1 MacBookPro. Nao e nada complicado...

Preciso me conectar via VPN pelo FortiClient para fazer meu trabalho e acessar alguns recursos com seguranca. Quando comecei a trabalhar para minha empresa em marco de 2021, me deram um M1 MacBookPro. O M1 MacBookPro e diferente dos outros porque vem com uma nova arquitetura de CPU. Anteriormente, a Apple usava uma CPU baseada em Intel, mas agora decidiu rodar o macOS com uma CPU baseada em ARM, que a Apple chamou de M1 por enquanto.
Muitos softwares nao sao compativeis com ARM. As vezes tenho problemas como "Este componente nao e compativel com sua CPU."
Quando me conectei a VPN via FortiClient v6.4.3.1325, parecia conectado, mas minha velocidade de internet ficou muito lenta. Normalmente, tenho 100MB/seg de velocidade de internet. Perguntei a meus colegas se "estao tendo problemas com a VPN e/ou velocidade da VPN?" e eles disseram "NAO!" Eles estao usando um MacBookPro um pouco mais antigo que o meu, com CPU baseada em Intel, e achei que fosse uma situacao normal porque as versoes baseadas em Intel estao ok e estaveis.
Comecei a depurar para encontrar a causa raiz e verifiquei a tabela de rotas antes de conectar a VPN.
➜ ~ netstat -rn
Routing tables
Internet:
Destination Gateway Flags Netif Expire
default 192.168.31.1 UGScg en0
127 127.0.0.1 UCS lo0
127.0.0.1 127.0.0.1 UH lo0
169.254 link#14 UCS en0 !
192.168.31 link#14 UCS en0 !
192.168.31.1/32 link#14 UCS en0 !
192.168.31.1 ec:41:18:ec:c6:bc UHLWIir en0 1189
192.168.31.147/32 link#14 UCS en0 !
192.168.31.147 a0:78:17:87:b4:88 UHLWI lo0
192.168.31.171 b8:bc:5b:6:28:18 UHLWI en0 1165
192.168.31.255 ff:ff:ff:ff:ff:ff UHLWbI en0 !
224.0.0/4 link#14 UmCS en0 !
224.0.0.251 1:0:5e:0:0:fb UHmLWI en0
239.255.255.250 1:0:5e:7f:ff:fa UHmLWI en0
255.255.255.255/32 link#14 UCS en0 !
Minha tabela de rotas parece ok. 192.168.31.1 e meu roteador wireless e a rota padrao esta configurada para ele. Esta ok.
Depois disso, conectei a VPN via FortiClient e verifiquei novamente minha tabela de rotas. 10.212.134.152 e meu endereco IP local atribuido pelo FortiClient.
➜ ~ netstat -rn
Routing tables
Internet:
Destination Gateway Flags Netif Expire
default link#19 UCSg ppp0
default 192.168.31.1 UGScIg en0
8.8.8.8 link#19 UHWIig ppp0
13.224.58.179 link#19 UHWIig ppp0
31.XXX.XX.XX/32 192.168.31.1 UGSc en0
34.XXX.XX.XXX link#19 UHWIig ppp0
34.XXX.XXX.xxx link#19 UHWIig ppp0
35.XXX.XXX.XX link#19 UHWIig ppp0
35.XXX.XXX.XXX link#19 UHWIig ppp0
80.80.80.80 link#19 UHW3Ig ppp0 3597
127 127.0.0.1 UCS lo0
127.0.0.1 127.0.0.1 UH lo0
169.254 link#14 UCS en0 !
169.254.38.179 10.212.134.152 UH ppp0
192.168.31 link#14 UCS en0 !
192.168.31.1/32 link#14 UCS en0 !
192.168.31.1 ec:41:18:ec:c6:bc UHLWIir en0 1181
192.168.31.147/32 link#14 UCS en0 !
192.168.31.147 a0:78:17:87:b4:88 UHLWI lo0
192.168.31.171 b8:bc:5b:6:28:18 UHLWIi en0 1139
192.168.31.255 ff:ff:ff:ff:ff:ff UHLWbI en0 !
224.0.0/4 link#19 UmCS ppp0
224.0.0/4 link#14 UmCSI en0 !
224.0.0.251 link#19 UHmW3I ppp0 3599
239.255.255.250 1:0:5e:7f:ff:fa UHmLWI en0
239.255.255.250 link#19 UHmW3I ppp0 3599
255.255.255.255/32 link#19 UCS ppp0
255.255.255.255/32 link#14 UCSI en0 !
Nosso servico VPN nao usa split-tunneling e link#19 OU 10.212.134.152 deve ser o proximo salto para a rota padrao junto com meu roteador wireless.
Eu excluo minha rota padrao!
Sim, decidi manipular minha tabela de rotas manualmente.
➜ ~ sudo route delete default
Password:
delete net defaultAgora, o proximo salto deve ser o endereco IP local do meu FortiClient. E 10.212.134.152 no meu caso. Este endereco IP local e dinamico e muda a cada conexao, pois o DHCP atribui este endereco IP.
Agora, como minha tabela de rotas se parece? A rota padrao nao deveria estar la...
➜ ~ netstat -rn
Routing tables
Internet:
Destination Gateway Flags Netif Expire
default 192.168.31.1 UGScIg en0
31.XXX.XX.XX/32 192.168.31.1 UGSc en0
127 127.0.0.1 UCS lo0
127.0.0.1 127.0.0.1 UH lo0
169.254 link#14 UCS en0 !
169.254.38.179 10.212.134.152 UH ppp0
192.168.31 link#14 UCS en0 !
192.168.31.1/32 link#14 UCS en0 !
192.168.31.1 ec:41:18:ec:c6:bc UHLWIir en0 1178
192.168.31.147/32 link#14 UCS en0 !
192.168.31.147 a0:78:17:87:b4:88 UHLWI lo0
192.168.31.171 b8:bc:5b:6:28:18 UHLWIi en0 586
192.168.31.222 c:2c:54:e4:67:81 UHLWI en0 1156
192.168.31.255 ff:ff:ff:ff:ff:ff UHLWbI en0 !
224.0.0/4 link#19 UmCS ppp0
224.0.0/4 link#14 UmCSI en0 !
224.0.0.251 link#19 UHmW3I ppp0 3589
239.255.255.250 1:0:5e:7f:ff:fa UHmLWI en0
239.255.255.250 link#19 UHmW3I ppp0 3588
255.255.255.255/32 link#19 UCS ppp0
255.255.255.255/32 link#14 UCSI en0 !
link#19 desapareceu da rota padrao. Otimo! E agora, nao consigo acessar a internet. Como rota padrao, meu roteador wireless ainda esta na tabela de rotas, mas o FortiClient o usa para manter-se conectado a VPN. Sim, ainda estou conectado a internet, mas nao tenho um proximo salto.
➜ ~ ping -c 4 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
ping: sendto: No route to host
ping: sendto: No route to host
Request timeout for icmp_seq 0
ping: sendto: No route to host
Request timeout for icmp_seq 1
ping: sendto: No route to host
Request timeout for icmp_seq 2
— 8.8.8.8 ping statistics —
4 packets transmitted, 0 packets received, 100.0% packet loss
Vamos adicionar uma nova rota padrao...
➜ ~ sudo route add default 10.212.134.152
add net default: gateway 10.212.134.152Agora, consigo pingar 8.8.8.8 apos adicionar uma nova rota padrao.
➜ ~ ping -c 4 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: icmp_seq=0 ttl=114 time=99.007 ms
64 bytes from 8.8.8.8: icmp_seq=1 ttl=114 time=98.277 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=114 time=103.634 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=114 time=104.365 ms
— 8.8.8.8 ping statistics —
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 98.277/101.321/104.365/2.704 ms
Verificacao cruzada
Verifiquei a tabela de rotas pela ultima vez para ver qual e a diferenca apos excluir e adicionar a rota padrao.
➜ ~ netstat -rn
Routing tables
Internet:
Destination Gateway Flags Netif Expire
default 10.212.134.152 UGScg ppp0
default 192.168.31.1 UGScIg en0
31.145.77.18/32 192.168.31.1 UGSc en0
127 127.0.0.1 UCS lo0
127.0.0.1 127.0.0.1 UH lo0
169.254 link#14 UCS en0 !
169.254.38.179 10.212.134.152 UH ppp0
192.168.31 link#14 UCS en0 !
192.168.31.1/32 link#14 UCS en0 !
192.168.31.1 ec:41:18:ec:c6:bc UHLWIir en0 1179
192.168.31.147/32 link#14 UCS en0 !
192.168.31.147 a0:78:17:87:b4:88 UHLWI lo0
192.168.31.171 b8:bc:5b:6:28:18 UHLWI en0 1146
192.168.31.222 c:2c:54:e4:67:81 UHLWI en0 1163
192.168.31.255 ff:ff:ff:ff:ff:ff UHLWbI en0 !
224.0.0/4 link#19 UmCS ppp0
224.0.0/4 link#14 UmCSI en0 !
224.0.0.251 link#19 UHmW3I ppp0 3582
239.255.255.250 1:0:5e:7f:ff:fa UHmLWI en0
239.255.255.250 link#19 UHmW3I ppp0 3557
255.255.255.255/32 link#19 UCS ppp0
255.255.255.255/32 link#14 UCSI en0 !
Agora, tudo esta rodando perfeitamente. Minha conexao VPN esta estavel e rapida!
Bonus
Preciso excluir e adicionar uma nova rota padrao quando preciso conectar a VPN e todos os dias preciso conectar. Nao quero excluir e adicionar uma nova rota manualmente e escrevi um pequeno script bash para esta rotina.
Voce pode salvar o script no caminho /usr/local/bin/ com sudo vim. Depois disso, nao esqueca de adicionar permissoes chmod ao script.
#!/bin/bash
FortiIP=$(netstat -rn | grep “10.212.134” | awk ‘{print $2}’)
sudo route delete default
sudo route add default $FortiIP
Se voce leu desde o inicio, devo dizer obrigado! : )
Mais de Ercan
Mais dois sites, mesmo autor, terreno diferente.
IA, LLMs, agentes, ML aplicado.
Notas de campo sobre cargas de IA. Análise de custos do Bedrock, padrões de agentes, trade-offs de armazenamento vetorial, modos de falha em produção.
Visitar ercan.ai →O hub. Sobre, consultoria, contato.
Hub pessoal para as duas trilhas de escrita. Quem sou eu, como funciona a consultoria, como me contatar.
Visitar ercanermis.com →