먼저, 저는 절대 네트워크 엔지니어가 아니라고 말씀드리고 싶습니다. 잘못된 가정이나 용어의 오용에 대해 사과드립니다.
요약하자면: 저는 macOS Catalina에서 L2TP VPN을 신뢰성 있게 실행하여 특정 IP/DNS 요청을 VPN을 통해 전달하면서 나머지 트래픽은 LAN을 통해 전달하게 설정할 수 있습니다.
이전에는 걱정할 필요가 없었습니다. VPN을 설정하고 시스템 환경설정에서 '모든 트래픽 보내기’를 활성화하면 그대로 작동했으며, 원격 IP 범위/원격 DNS 서버로의 요청은 LAN을 통해 전달되었고 VPN을 거치지 않았습니다.
최근에는 이것이 작동하지 않아서 모든 트래픽이 VPN을 통해 전달되거나 아예 전달되지 않는 문제가 발생했습니다. '모든 트래픽 보내기’를 활성화하지 않으면 VPN이 사실상 작동하지 않습니다.
이 문제에 대해 Cisco와 상담했으며, 그 답변은 PPP 인터페이스를 검증하는 것이었으며(활성 VPN은 항상 ppp0인 것 같습니다), 다음 명령어를 사용하여 라우팅 테이블에 경로를 추가하는 것이었습니다:
route add -net <목적지 서브넷> -netmask <서브넷> -interface ppp0
이 방법이 한 경우에는 성공했으며, VPN을 활성화하면 모든 트래픽이 예상대로 흐었습니다. 이를 검증하기 위해 두 가지 방법을 사용했습니다. 먼저, Cisco의 제안대로 netstat -r
를 실행하면, LAN이 먼저인 기본 경로와 VPN 경로가 표시되었습니다. 둘째, 로컬 서버 DNS 주소와 google.com에 대해 traceroute
를 실행했습니다.
그러나 다른 시도에서는 문제가 발생했습니다. 이 경우 netstat -r
은 VPN 기본 경로를 LAN 기본 경로보다 상위에 표시했고, traceroute
는 목적지와 상관없이 VPN을 통해 홉마다 이동하는 결과를 보여주었습니다.
저는 어리석거나, 무언가를 완전히 놓치고 있을 수 있습니다. 하지만 누군가 분할 터널 VPN을 달성하는 데 도움이 될 수 있는 통찰력을 가지고 있나요? 저는 타사 소프트웨어를 사용하고 싶지 않으며, 이전에 OS X에서 가능했던 것처럼 macOS 자체에서 이 기능을 활성화하고 싶습니다.
미리 감사드립니다.