Mac에서 VPN을 쓸 때 어려운 것은 '연결' 버튼을 누르는 일이 아니라 그 전 단계입니다. 클라이언트가 시스템 확장을 설치해야 하고, 시스템이 '개인정보 보호 및 보안'에서 이를 허용해줘야 하며, 네트워크 설정에는 VPN 구성이 하나 추가됩니다. 어느 단계를 건너뛰거나 시스템이 거부하면 증상은 똑같이 '연결 안 됨'으로 나타나기 때문에, 초보자는 이를 서버 문제로 오해하고 노드만 계속 바꾸게 됩니다.
이 가이드는 macOS에서 VPN을 처음 설정하는 전체 과정을 다섯 단계로 나눕니다. 준비, 설치, 권한 허용, 구독 가져오기, 연결 확인입니다. 각 단계마다 어느 화면에서 무엇을 누르고, 무엇이 보이며, 다음에 무엇을 해야 하는지 설명합니다. 예시는 VPNWS의 macOS 클라이언트를 기준으로 하지만, 시스템 확장을 사용하는 다른 클라이언트에도 같은 흐름이 적용됩니다.
준비 사항: 시작 전 세 가지 확인
설치 전에 2분만 들여 세 가지를 확인하세요. 칩 종류, macOS 버전, 그리고 이 Mac에 남아 있는 예전 VPN 구성입니다. 앞의 두 가지는 어떤 설치 파일을 받고 권한 허용 메뉴가 어디에 있는지를 결정하고, 세 번째는 첫 연결이 이미 무효가 된 예전 구성에 밀려나지 않는지를 결정합니다.
- ✅ 칩 종류 확인: 화면 왼쪽 위 → '이 Mac에 관하여'를 열고 '칩' 항목이 Apple 칩인지 Intel인지 확인한 뒤, 해당 아키텍처에 맞는 설치 파일을 받습니다.
- ✅ macOS 버전 기록: 최신 버전은 확장 관리가 '일반 → 로그인 항목 및 확장 프로그램'으로 옮겨졌고, 예전 버전은 '개인정보 보호 및 보안' 페이지 아래쪽에 있습니다. 어디서 찾는지 미리 알아두면 당황할 일이 없습니다.
- ✅ 관리자 암호 사용 가능 여부 확인: 시스템 확장 설치와 VPN 구성 작성에는 관리자 권한이 필요하며, 게스트 계정으로는 이 단계를 진행할 수 없습니다.
- ✅ 남은 구성 확인: '시스템 설정 → 네트워크'를 열어 목록에 같은 이름의 VPN이 있으면 먼저 삭제한 뒤 설치하세요.
- ❌ 이메일 준비는 필요 없음: 본 서비스는 아이디와 비밀번호만으로 가입하며 이메일 주소가 필요하지 않습니다. 인증 메일을 받으려고 이메일 계정을 새로 만들 필요가 없습니다.
설치와 첫 실행: 다운로드부터 메뉴 막대 아이콘까지
macOS 클라이언트 설치 파일은 .dmg 디스크 이미지입니다. 더블클릭해 마운트한 뒤 앱을 '응용 프로그램' 폴더로 끌어다 놓으면 됩니다. 이 단계에서 초보자가 자주 걸리는 함정이 두 가지 있습니다. 디스크 이미지 안에서 바로 실행하는 경우, 그리고 시스템이 막았을 때 허용 방법을 모르는 경우입니다.
- 클라이언트 다운로드 페이지를 열고 macOS를 선택한 뒤 칩 종류에 맞는 .dmg 설치 파일을 받습니다.
- 더블클릭한 .dmg에서 앱 아이콘을 '응용 프로그램' 폴더로 끌어다 놓습니다. 옮긴 뒤에는 먼저 디스크 이미지를 추출하고, Launchpad나 Finder에서 앱을 실행하세요. 이미지 안에서 바로 실행하면 시스템 확장 경로가 임시 마운트 지점을 가리켜 재시동 후 오작동하기 쉽습니다.
- 처음 실행할 때 '개발자를 확인할 수 없음' 경고가 뜨면 '시스템 설정 → 개인정보 보호 및 보안'으로 이동해 페이지 아래쪽의 '그래도 열기'를 누른 뒤, Launchpad로 돌아가 다시 한 번 실행합니다.
- 앱을 실행해도 Dock에 상주하지 않고 화면 오른쪽 위 메뉴 막대에 표시되는 경우가 일반적입니다. 메뉴 막대 아이콘을 클릭하면 연결 스위치, 현재 서버, 지연 시간을 확인할 수 있습니다.
- 이 시점에는 아직 연결을 누르지 마세요. 첫 연결에서 시스템 확장 권한 요청이 뜨므로 다음 단계에서 따로 처리합니다.
macOS 10.15 이후부터는 시스템이 서드파티 커널 확장을 로드하지 않고, VPN 클라이언트는 Network Extension 프레임워크를 사용합니다. 그래서 설정에 보이는 항목은 예전 가이드의 '커널 확장'이 아니라 '시스템 확장'입니다. 두 항목은 위치와 권한 허용 방식이 완전히 달라서, 예전 가이드를 보고 버튼을 찾으면 찾을 수 없습니다.
시스템 확장과 네트워크 권한 허용
전체 과정에서 관리자 암호가 필요한 유일한 단계이자 가장 자주 막히는 부분입니다. macOS는 확장이 먼저 시스템의 허용을 받아야 로드되는 구조라, 허용되지 않은 상태에서는 클라이언트 화면이 멀쩡해 보여도 연결을 누르면 아무 반응이 없고 뚜렷한 오류 메시지도 나오지 않습니다.
처음 '연결'을 누르면 시스템이 권한 요청 창을 띄우고 로그인 암호 입력 또는 Touch ID 확인을 요구합니다. 확인한 뒤에는 보통 재시동을 한 번 요구합니다. 네트워크 확장은 시스템의 네트워크 데몬이 로드하기 때문에 재시동 없이는 적용되지 않습니다. 재시동 후 '시스템 설정 → 네트워크'로 돌아가면 새 VPN 구성이 하나 보이고, 메뉴 막대의 VPN 스위치로도 바로 연결하고 끊을 수 있습니다.
팝업이 보이지 않거나 순간적으로 사라졌다면 '시스템 설정 → 개인정보 보호 및 보안'을 열어 보세요. 페이지 아래쪽에 차단된 확장 목록이 나오면 '허용'을 누르고 암호를 다시 입력합니다. macOS 15 이후에는 네트워크 확장 스위치가 '일반 → 로그인 항목 및 확장 프로그램'으로 옮겨졌고, 그 안에 네트워크 확장을 관리하는 항목이 있으니 켜져 있는지 확인합니다.
권한 허용 후에도 연결이 안 될 때 확인 순서
- 실제로 재시동했는지 확인: 확장을 허용한 뒤 재시동하지 않으면 연결 요청이 시스템에서 조용히 버려져 상태 표시가 계속 '연결 중'에 머뭅니다.
- VPN 구성이 하나뿐인지 확인: 이름이 같은 예전 구성과 새 구성이 함께 있으면 시스템이 이미 사라진 예전 확장으로 연결을 시도할 수 있습니다.
- 이 Mac이 구성 프로파일로 제한되어 있지 않은지 확인: 회사나 학교에서 관리하는 기기에서는 정책으로 확장 설치 자체가 차단될 수 있습니다.
- 다른 서버로 바꿔 시도: 상태가 '연결됨'으로 바뀌었다가 곧 끊긴다면 문제는 권한이 아니라 네트워크 쪽일 가능성이 큽니다.
결론: macOS에서 '연결 안 됨' 신고는 대부분 서버 문제가 아니라 확장이 허용되지 않았거나, 허용 후 재시동하지 않은 탓입니다.
이 두 단계를 먼저 끝내고 나서 서버나 프로토콜을 바꾸면 문제 해결 경로가 훨씬 짧아집니다.
구독 가져오기: 클라이언트에 서버 목록 넣기
클라이언트 설치와 권한 허용이 끝났다면, 이제 어떤 서버를 쓸 수 있는지 클라이언트에 알려줄 차례입니다. 이 단계는 구독 링크로 처리합니다. 링크 안에는 서버 주소, 포트, 프로토콜 파라미터(VLESS, Trojan, Hysteria2 등)가 이미 들어 있어서, 가져오기만 하면 클라이언트가 서버 목록을 자동으로 불러옵니다. 직접 입력할 항목은 없습니다.
| 가져오기 방식 | 사용 방법 | 적합한 상황 |
|---|---|---|
| 클립보드 가져오기 | 구독 링크를 복사한 뒤 클라이언트에서 '클립보드에서 가져오기' 클릭 | 데스크톱에서 가장 흔히 쓰이며 오타 위험이 적음 |
| 직접 붙여넣기 | 클라이언트의 구독 입력란에 링크를 붙여넣고 저장한 뒤 불러오기 | 클립보드가 다른 앱에 점유되었거나 붙여넣은 내용이 잘렸을 때 |
| QR 코드 가져오기 | 클라이언트에서 사용자 패널에 표시된 QR 코드 스캔 | iPhone, iPad에서 같은 계정을 가져올 때 |
가져오기에 성공하면 서버가 지역별로 묶여 표시되고, 서버를 바꿀 때는 목록에서 노드를 한 번 클릭하면 됩니다. 다시 가져올 필요가 없습니다. 본 서비스는 현재 120+ 국가, 220+ 서버를 제공하며, 전체 지역 분포는 서버 페이지에서 확인할 수 있습니다. 서버가 추가되거나 삭제되면 클라이언트에서 '구독 업데이트'를 한 번 누르면 동기화되며, 클라이언트를 다시 설치할 필요가 없습니다.
구독 링크는 계정 자격 증명과 같아서 토큰이 들어 있습니다. 공개 그룹이나 포럼에 올리지 말고, 링크가 함께 찍힌 스크린샷도 공유하지 마세요. 링크를 가진 사람은 누구든 여러분의 트래픽 한도를 쓸 수 있습니다. 다른 기기에서 써야 한다면 자신의 계정으로 로그인해 링크를 새로 복사하면 됩니다.
작동 확인: 네 가지 점검과 예상 결과
상태가 '연결됨'이라고 해서 트래픽이 실제로 서버를 거치는 것은 아닙니다. macOS에서 확인할 지점은 네 가지입니다. 출구 IP, DNS 조회, 분할 라우팅 경로, 연결 해제 시 동작. 앞의 두 가지는 터미널에서 명령어 한 줄이면 결과가 나오고, 뒤의 두 가지는 한 번 비교 접속해보면 확인됩니다.
| 점검 항목 | Mac에서 확인하는 방법 | 기대 결과 |
|---|---|---|
| 출구 IP | 터미널에서 curl ifconfig.me 실행 | 통신사가 할당한 IP가 아니라 서버가 위치한 지역의 IP가 반환됨 |
| DNS 조회 | 터미널에서 scutil --dns | grep nameserver 실행 | 맨 앞에 나오는 네임서버가 통신사 기본 DNS가 아님 |
| 분할 라우팅 경로 | 중국 본토 사이트와 해외 사이트를 각각 열어 로딩 속도 확인 | 중국 본토 사이트는 직접 연결로 정상 로딩, 해외 사이트는 서버를 거쳐 안정적으로 로딩 |
| 연결 해제 시 동작 | 클라이언트에서 연결을 끊고 방금 열었던 페이지 새로고침 | 직접 연결로 돌아가거나 아예 열리지 않아야 하며, '아직 서버를 거치고 있다'고 착각하는 상태가 아니어야 함 |
네 가지 중 가장 놓치기 쉬운 것이 DNS입니다. 조회 요청이 여전히 통신사로 전달되면 두 가지 문제가 생깁니다. 방문한 도메인이 로컬 네트워크에 그대로 노출되고, CDN이 콘텐츠 노드를 네임서버에 더 가까운 위치로 판단해 결과적으로 '연결은 됐는데 느린' 상태가 됩니다. 그래서 확인할 때는 반드시 scutil --dns 출력에서 맨 앞에 오는 nameserver를 봐야 하며, 이 값은 집 공유기 주소가 아니라 서버 쪽을 가리켜야 합니다.
킬 스위치(Kill Switch) 같은 옵션은 나중에 켜도 됩니다. 연결이 예기치 않게 끊겼을 때 트래픽을 차단해 모르는 사이 직접 연결로 돌아가는 것을 막아주는 기능입니다. 다만 처음 설정할 때 켜 두면 확장이 제대로 로드되지 않았을 경우 '인터넷이 아예 안 되는' 상태가 되어 오히려 어느 단계에서 문제가 생겼는지 판단하기 어려워집니다.
분할 규칙: 어떤 트래픽이 서버를 거칠지
분할 규칙은 어떤 트래픽이 서버를 거치고 어떤 트래픽이 직접 연결되는지를 정합니다. macOS 클라이언트는 보통 세 가지 모드를 제공합니다. 전역(모든 트래픽이 서버를 거침), 규칙(목록 기준으로 판단), 직접 연결(전부 거치지 않음). 일상에서는 규칙 모드가 가장 편합니다. 중국 본토 사이트와 로컬 네트워크는 직접 연결하고 해외 사이트만 서버를 거치므로 트래픽도 아끼고 속도도 빠릅니다.
{
"routing": {
"domainStrategy": "IPIfNonMatch",
"rules": [
{ "type": "field", "domain": ["geosite:cn"], "outboundTag": "direct" },
{ "type": "field", "ip": ["geoip:cn"], "outboundTag": "direct" },
{ "type": "field", "network": "tcp,udp", "outboundTag": "proxy" }
]
}
}
위 규칙은 순서대로 매칭되며 첫 번째로 일치한 규칙에서 멈춥니다. 앞의 두 규칙이 중국 본토 도메인 목록(geosite:cn)과 IP 목록(geoip:cn)에 해당하는 트래픽을 직접 연결 출구로 보내고, 마지막 규칙이 나머지 TCP/UDP 트래픽을 서버 출구로 보냅니다. 순서를 바꾸면 안 됩니다. 마지막 규칙을 맨 앞으로 올리면 모든 트래픽이 서버로 몰려 중국 본토 사이트가 눈에 띄게 느려지고 트래픽 소모도 빨라집니다.
규칙이 적용된 뒤에는 두 가지를 더 확인하세요
- DNS와 규칙은 일관성을 유지해야 합니다: 도메인은 직접 연결로 보내면서 DNS 조회는 해외로 보내면 중국 본토 사이트가 해외 노드로 해석되어 오히려 속도가 더 나빠집니다.
- 로컬 네트워크 주소는 제외해야 합니다: 프린터, NAS, 회사 내부망 같은 주소는 직접 연결로 남겨두고 규칙에 휩쓸려 서버로 가지 않도록 하세요.
자주 나오는 오류 대처
아래 표는 macOS에서 가장 흔한 다섯 가지 메시지를 정리한 것입니다. 대부분 원인은 클라이언트 자체가 아니라 시스템 권한이나 남은 구성에 있습니다.
| 증상 | 흔한 원인 | 해결 |
|---|---|---|
| '시스템 확장이 차단되었습니다' 알림 | '개인정보 보호 및 보안'에서 허용을 누르지 않음 | 페이지 아래쪽에서 '허용'을 누르고 관리자 암호를 입력한 뒤 안내에 따라 한 번 재시동 |
| 연결을 눌러도 계속 로딩만 되다가 '연결 안 됨'으로 돌아감 | 확장은 허용했지만 재시동하지 않았거나, 시스템에 예전 VPN 구성이 남아 있음 | 한 번 재시동하고, '시스템 설정 → 네트워크'에서 남은 구성을 삭제한 뒤 다시 연결 |
| 연결됨으로 표시되지만 브라우저에서 페이지가 열리지 않음 | DNS가 함께 전환되지 않았거나, 분할 규칙이 서버로 보내야 할 트래픽을 직접 연결로 판정함 | scutil --dns로 첫 번째 nameserver 확인, 모드를 잠시 전역으로 바꿔 연결되면 규칙 문제 |
| 브라우저는 정상인데 터미널 명령은 서버를 거치지 않음 | 클라이언트가 시스템 프록시 모드로 동작해 시스템 프록시를 따르는 앱만 서버를 거침 | TUN / 강화 모드(전역 라우팅)로 전환한 뒤 다시 연결하면 명령줄 도구도 적용됨 |
| 덮개를 닫아 잠자기 후 깨어나면 연결이 끊김 | 깨어날 때 네트워크 확장 재협상이 실패했는데 상태는 '연결됨'으로 남아 있음 | 수동으로 한 번 끊고 다시 연결, 클라이언트에서 '깨어난 뒤 자동 재연결' 같은 옵션 켜기 |
표에 없는 상황이라면 먼저 초기화 점검을 해보세요. 연결 끊기 → '시스템 설정 → 네트워크'에서 VPN 구성 삭제 → 재시동 → 권한 다시 허용. macOS의 확장 상태는 간혹 남아 있어서, 한 번 정리하는 편이 원인을 하나씩 추측하는 것보다 빠릅니다.
마무리: 자동 시작, 메뉴 막대와 필요 시 연결
전체 과정을 한 번 끝내고 나면 Mac에서 더 편하게 쓰는 데 도움이 되는 설정이 몇 가지 있습니다.
- 자동 시작: macOS 13 이후에는 '시스템 설정 → 일반 → 로그인 항목'에서 클라이언트를 '로그인 시 열기'에 추가합니다. 클라이언트 자체의 시작 옵션과 중복 설정하지 않도록 주의하세요. 두 곳 모두 켜면 메뉴 막대 아이콘이 두 개 생길 수 있습니다.
- 메뉴 막대 상주: 연결, 해제, 서버 전환을 모두 메뉴 막대에서 처리할 수 있어 매번 메인 창을 열 필요가 없습니다.
- 필요 시 연결: VPN 구성에서 필요 시 연결을 설정할 수 있습니다. 예를 들어 특정 Wi-Fi에 접속하면 자동으로 연결되게 할 수 있습니다. 며칠은 수동 모드로 써보고 서버가 안정적인지 확인한 뒤 켜는 것을 권합니다. 그렇지 않으면 네트워크가 바뀔 때 재연결이 반복되기 쉽습니다.
- 여러 기기: 한 계정으로 동시 접속 대수 제한 없이 사용할 수 있어 Mac과 iPhone을 동시에 써도 두 기기를 오가며 전환할 필요가 없습니다.
결제 수단은 알리페이, 위챗페이, USDT를 지원합니다. 가격과 트래픽 요금제는 요금제 페이지에서 확인할 수 있으며, 30일 이내에는 이유 없이 환불받을 수 있습니다.
- 120+ 지원 국가 / 지역
- 220+ 전환 가능한 서버
- 대수 제한 없음 동시 접속 기기
- 30일 이유 없는 환불
정리: Mac에서의 첫 설정은 요령보다 순서가 중요합니다. 먼저 권한을 주고, 다음에 구독을 가져오고, 마지막에 출구를 확인하세요.
세 단계를 모두 통과하면 이후 서버 교체나 분할 규칙 변경은 메뉴 조작만으로 끝납니다.