M1 MacBookPro에서의 FortiClient 문제 해결법
Apple M1 MacBookPro에서 FortiClient VPN 클라이언트 연결 문제에 대한 빠른 해결책을 찾았다. 큰 문제는 아니다.

업무를 수행하고 일부 리소스에 안전하게 접근하기 위해 FortiClient를 통해 VPN에 연결해야 한다. 2021년 3월에 회사에 입사했을 때 M1 MacBookPro를 받았다. M1 MacBookPro는 새로운 CPU 아키텍처를 탑재했기 때문에 다른 제품과 다르다. 이전에 Apple은 Intel 기반 CPU를 사용했지만, 이제 ARM 기반 CPU로 macOS를 실행하기로 결정했고 Apple은 현재 M1이라고 부른다.
많은 소프트웨어가 ARM과 호환되지 않는다. 때로는 "이 구성 요소는 귀하의 CPU와 호환되지 않습니다"와 같은 문제가 발생한다.
FortiClient v6.4.3.1325를 통해 VPN에 연결했을 때 연결된 것처럼 보이지만 인터넷 속도가 너무 느려졌다. 일반적으로 100MB/sec 인터넷 속도를 가지고 있다. 동료들에게 "VPN 또는 VPN 속도에 문제가 있나요?"라고 물었더니 그들은 "아니오!"라고 답했다. 그들은 Intel 기반 CPU를 사용하는 내 것보다 조금 더 오래된 MacBookPro를 사용하고 있었고, Intel 기반 버전은 괜찮고 안정적이기 때문에 정상적인 상황이라고 생각했다.
근본 원인을 찾기 위해 디버깅을 시작했고 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 !
라우트 테이블은 괜찮아 보인다. 192.168.31.1은 내 무선 라우터이며 기본 라우트로 설정되어 있다. 괜찮다.
이후 FortiClient를 통해 VPN에 연결하고 라우트 테이블을 다시 확인했다. 10.212.134.152는 FortiClient에 의해 할당된 내 로컬 IP 주소다.
우리 VPN 서비스는 Split-Tunneling을 사용하지 않으며, link#19 또는 10.212.134.152가 무선 라우터와 동시에 기본 경로의 다음 홉이어야 한다.
기본 라우트를 삭제한다!
그렇다, 수동으로 라우팅 테이블을 조작하기로 결정했다.
~ sudo route delete default
Password:
delete net default이제 다음 홉은 내 FortiClient 로컬 IP 주소여야 한다. 내 경우 10.212.134.152다. 이 로컬 IP 주소는 DHCP가 할당하기 때문에 연결 시마다 동적으로 변경된다.
새 기본 경로를 추가하자...
~ sudo route add default 10.212.134.152
add net default: gateway 10.212.134.152이제 새 기본 경로를 추가한 후 8.8.8.8에 ping을 보낼 수 있다.
이제 모든 것이 완벽하게 실행된다. VPN 연결이 안정적이고 빠르다!
보너스
VPN에 연결해야 할 때마다 기본 경로를 삭제하고 새로 추가해야 한다. 매번 수동으로 하고 싶지 않아 이 루틴을 위한 작은 bash 스크립트를 작성했다.
sudo vim으로 /usr/local/bin/ 경로에 스크립트를 저장할 수 있다. 그 후 스크립트에 chmod 권한을 추가하는 것을 잊지 말자.
#!/bin/bash
FortiIP=$(netstat -rn | grep “10.212.134” | awk ‘{print $2}’)
sudo route delete default
sudo route add default $FortiIP
처음부터 읽었다면, 감사하다는 말을 전하고 싶다! : )
Ercan의 다른 글
같은 저자, 다른 영역의 사이트 두 개.