이미 가지고 있는 게이트웨이에 맞춰 Mac VPN 클라이언트를 고르는 방법
SSL VPN은 제품군이지 단일 프로토콜이 아닙니다. 게이트웨이 운영자에게 클라이언트, 프로파일, 로그인 방식을 확인한 뒤 Mac에서 경로와 DNS를 검증하세요.
다운로드 페이지에는 여섯 개의 Mac VPN 앱이 보이지만, 사내 게이트웨이가 어느 것을 받아들일지는 어느 앱도 알려 주지 않습니다. 그것은 스토어의 공백이 아니라 인수인계의 공백입니다. 하나의 SSL VPN 은 프로토콜이 아니라 제품군이므로, 로그인 화면이 같은 두 게이트웨이가 서로 다른 클라이언트를 요구할 수 있습니다. 누군가 저에게 Mac과 서버 주소를 건넬 때 쓰는 순서는, 게이트웨이가 무엇을 말하는지 확인하고 그에 맞는 클라이언트를 고른 뒤 업무를 터널에 맡기기 전에 경로와 DNS를 검증하는 것입니다.
앱 스토어가 아니라 게이트웨이에서 시작하세요
앱은 여러분의 Mac에서 실행되지만, 연결을 받아들이고 접근을 허용하는 것은 운영자, 주소, 호환되는 설정, 그리고 여러분을 승인하는 방법을 갖춘 다른 게이트웨이입니다. 무료 클라이언트가 좋은 소프트웨어이면서도 그중 아무것도 제공하지 않을 수 있습니다. 업무 접근, 가정용 게이트웨이, 상용 인터넷 출구는 우연히 같은 다운로드 페이지를 공유하는 세 가지 다른 출발점입니다.
무엇이든 설치하거나 교체하기 전에 서비스를 운영하는 사람에게 네 가지 답을 받으세요:
접근 모드: 브라우저 포털, 선택한 애플리케이션 접근, 또는 전체 네트워크 터널입니다. 이것이 클라이언트가 애초에 필요한지를 결정합니다.
게이트웨이 제품군과 지원 릴리스: 제품, 활성화된 서비스, 그리고 여러분의 macOS 빌드와 Mac 하드웨어를 아직 지원하는 클라이언트 버전입니다.
인증: 비밀번호와 MFA, 브라우저 로그인, 기기 인증서, 또는 상태 검사입니다. 승인된 흐름이 없는 클라이언트는 연결된 뒤 거부됩니다.
소유: 신뢰할 수 있는 다운로드 또는 관리 출처, 의도된 프로파일, 그리고 문제가 생겼을 때 누가 지원하는지입니다.
소유는 사람들이 건너뛰는 항목입니다. 관리되는 Mac에서 프로파일은 흔히 조직의 관리 시스템을 통해 도착하고, 손으로 만든 구성은 다음 체크인에서 교체될 수 있습니다. 타사 앱을 찾기 전에 직접 무언가를 설치해야 하는지 물어보세요.
SSL VPN은 제품군 이름이지 프로토콜이 아닙니다
TLS는 연결을 보호할 수 있지만, 그 안의 제품별 교환은 로그인, 세션 할당, 터널 트래픽을 처리합니다. 클라이언트가 구현해야 하는 것은 바로 그 내부 교환입니다. 게이트웨이의 HTTPS 로그인 페이지에 도달하는 브라우저는 인증서 체인과 웹 서버를 증명하지만, 무관한 VPN 앱이 같은 머신으로 터널을 만들 수 있음을 증명하지는 않습니다.
OpenConnect는 제가 아는 가장 분명한 예입니다. 그 업스트림 문서 는 게이트웨이 제품군별로 별도의 프로토콜 모드를 나열하고 상호운용성과 공식 벤더 지원을 구분합니다. 모든 SSL VPN이 하나의 프로토콜을 쓴다면 그런 모드는 필요 없을 것입니다.
OpenVPN 프로파일에는 반대 방향의 같은 한계가 있으며, 그것은 OpenVPN 호환 배포를 위한 가져오기 형식입니다. TLS를 구성 요소로 공유한다고 해서 임의의 기업 게이트웨이용 구성 파일이 되는 것은 아닙니다. 그래서 동작하는 브라우저 로그인은 위양성이며, 터널이 없어도 포털 접근은 성공할 수 있고 올라온 터널도 나중에 상태 검사에서 거부될 수 있습니다.
클라이언트를 게이트웨이가 말하는 것에 맞추세요
제품군을 알면 선택은 빠르게 좁혀집니다. 제가 가장 먼저 확인하는 대응표이며, 마지막 열은 어떤 앱 평점보다 중요합니다.
| 게이트웨이 제품군 | macOS의 클라이언트 | 무엇을 살펴볼지 |
|---|---|---|
| IKEv2/IPsec, 벤더 중립 | .mobileconfig 프로파일을 쓰는 macOS 내장 클라이언트 | 서버 ID와 관리될 수 있는 프로파일 |
| OpenVPN 2.x | Tunnelblick 또는 openvpn 명령줄 | .ovpn과 자격 증명. 클라이언트는 서비스를 제공하지 않습니다 |
| WireGuard | 공식 WireGuard 클라이언트 또는 wireguard-tools | 피어 구성. wg show의 가시성은 클라이언트마다 다릅니다 |
| 벤더 SSL VPN(AnyConnect, Pulse, GlobalProtect, F5, Fortinet) | 벤더 클라이언트, 또는 명시적 --protocol을 붙인 OpenConnect | 지원되지 않는 조합, MFA, 상태 검사 |
| 브라우저 포털만 | 클라이언트 없음 | 애플리케이션 접근은 네트워크 터널이 아닙니다 |
두 행은 경고할 만합니다. macOS 내장 클라이언트는 실제 IKEv2 구현이며 범용 SSL VPN 클라이언트가 아닙니다. 그것을 위해 설계된 서비스에는 올바른 프로파일, 예상되는 서버 ID, 자격 증명이 필요하고 관리되는 머신에서는 그 프로파일이 잠겨 있을 수 있으며, OpenConnect는 하나의 바이너리로 여러 벤더 프로토콜을 다루지만 프로젝트 자체는 벤더 지원을 주장하지 않으므로 호스트 스캔, 게이트웨이가 밀어 넣는 분할 터널 규칙, 특정 SSO 흐름은 벤더 클라이언트에만 있을 수 있습니다.
WireGuard도 모양이 같습니다. 서비스는 피어를 제공하고 클라이언트는 터널을 제공하며, OpenVPN 프로파일은 대체물이 아닙니다. macOS의 한 가지 주름이 있는데, App Store 클라이언트는 터널을 네트워크 확장 안에 두므로, Homebrew 도구의 wg show는 인터페이스가 올라와 있어도 아무것도 보고하지 않을 수 있습니다. 대신 경로와 트래픽으로 검증하세요.
구성한 다음 정해진 순서로 검증하세요
클라이언트 하나와 프로파일 하나를 설치하고 무엇을 바꿨는지 적어 두세요. 연결하기 전에 기준선을 기록하면 터널이 무엇을 바꾸는지 말할 수 있습니다:
scutil --nc list
networksetup -listallnetworkservices
netstat -rn | grep -E "^default|utun"
scutil --dns
제공된 프로파일로 연결하고 같은 명령을 다시 실행하세요. 전체 터널이라면 기본 경로가 utun 인터페이스를 가리키고, 분할 터널이라면 내부 프리픽스만 라우팅되며 공용 출구는 그대로여야 합니다. DNS는 흔히 깨진 채로 남는 절반으로, scutil --dns는 시스템이 사용할 순서대로 리졸버를 나열하며 공용 리졸버 아래에 있는 내부 리졸버는 내부 이름을 엉뚱한 서버로 보냅니다.
OpenVPN 서비스라면 Tunnelblick은 합리적인 무료 클라이언트이고, 그 자체 안내서는 빠진 절반에 대해 솔직하며, VPN 서비스를 제공하지 않습니다. 받은 .ovpn을 두 번 클릭하고 Tunnelblick이 설치하게 한 다음, 의존하기 전에 릴리스를 여러분의 macOS 버전과 대조하세요.
벤더 게이트웨이라면 저는 흔히 명령줄에서 OpenConnect로 시험합니다:
brew install openconnect
sudo openconnect --protocol=anyconnect --user=you vpn.example.com
이 도구는 받은 인증서를 출력하고 알 수 없는 체인을 신뢰하기 전에 기다립니다. 그 프롬프트는 기능이며, --servercert pin-sha256:...로 고정하는 편이 읽지 않은 경고를 받아들이는 것보다 낫습니다. Ctrl-C는 터널을 끊습니다만 포그라운드 openconnect에는 킬 스위치도 재연결 로직도 없어 진단 세션에는 괜찮지만 일상 업무의 기본값으로는 형편없습니다.
맞출 게이트웨이가 없을 때
반대 문제를 안고 오는 사람도 있는데, 운영자도 주소도 서비스도 없습니다. 무료 Mac 앱은 가정용 라우터에 인바운드 도달성을 만들 수 없습니다. 호텔에서 자기 네트워크를 쓰고 싶다면 누군가 집에서 게이트웨이를 돌리고, 패치하고, 주소를 공개하거나 해석하고, 어떤 기기가 닿는지 결정해야 합니다.
사설 네트워크 접근이 아니라 다른 인터넷 출구를 원한다면 클라이언트보다 서비스를 먼저 고르세요. 독립형 클라이언트의 빈 프로파일 목록은 흔히 고장 난 무료 구독이 아니며, 구독도 없고 연결된 서버도 없을 수 있습니다. 비용도 나눠 보면 클라이언트 라이선스, 서비스 요금제, 직접 운영하는 게이트웨이는 세 가지 다른 구매입니다.
업무용 Mac은 정책 계층을 더합니다. 무료 앱은 승인된 클라이언트가 대안에는 없는 기기 검사나 인증 흐름을 강제할 수 있으므로 연결되더라도 틀릴 수 있습니다. 무관한 앱 사이에 자격 증명을 복사하는 대신 승인된 대안을 요청하고, 플랫폼 보호를 끄는 것을 호환성 수정으로 여기지 마세요.
원격 데스크톱 뷰어도 다른 제품입니다. 다른 컴퓨터의 세션을 보여 줄 뿐, 터널이 주는 네트워크 경로를 여러분 Mac의 로컬 앱에 주지는 않습니다.
첫 실제 세션 전의 짧은 점검 목록
게이트웨이 제품군과 접근 모드를 서면으로 명시하고, 거기에 맞는 클라이언트만 설치하고, 사용한 프로파일을 기록한 뒤 실제 트래픽으로 세 가지를 확인합니다. 터널이 설치한 경로, 리졸버 순서, 그리고 IP가 아니라 이름으로 도달한 내부 애플리케이션 하나입니다.
무언가 실패하면 한 번에 변수 하나만 바꾸세요. 클라이언트, 프로파일, 인증 흐름입니다. 터널이 시작을 거부하는데 포털이 열린다면 웹 서버 문제와 클라이언트 호환성 문제를 분리할 수 있고, 업무 서비스가 응답하고 공용 경로가 예상대로 동작하면, 여러분에게는 추측 더미가 아니라 이름 붙은 지원되는 구성이 있습니다.