macOS에서 VPN을 설정할 때 막히는 지점은 대개 프로토콜이 아니라 시스템 권한입니다. 클라이언트를 설치하고 설정도 채웠는데 메뉴 막대 아이콘만 켜져 있고 브라우저에서는 해외 사이트가 열리지 않는 경우가 흔합니다. 이 가이드는 실제 작업 순서를 그대로 따라갑니다. 시스템 버전 확인, 클라이언트 설치, 시스템 네트워크 권한 승인, 구독 링크 가져오기, 출구 주소와 DNS 검증, 마지막으로 반복해서 나타나는 팝업 처리까지입니다. 각 단계마다 비교해 볼 수 있는 결과를 제시하므로, 작업을 마치면 어느 지점에서 멈췄는지 스스로 판단할 수 있습니다.

이 글은 터미널에 익숙하다고 가정하지 않습니다. 명령줄이 나오는 부분은 복사해서 바로 실행할 수 있는 전체 명령을 제공합니다. 먼저 이 서비스의 기본 사실 몇 가지를 앞에 두겠습니다. 이후에 계속 쓸지 판단할 때 참고하세요:

120+ 지원 국가
180+ 선택 가능한 회선
7일 이유 없는 환불
무제한 동시 접속 대수

준비: 시스템 버전과 계정 권한

Apple 메뉴의 '이 Mac에 관하여'를 열어 시스템 버전을 먼저 확인하세요. macOS 13부터 '시스템 환경설정'이 '시스템 설정'으로 이름이 바뀌었는데, 인터넷의 오래된 안내 글은 대부분 바뀌기 전 경로를 그대로 쓰고 있어 그대로 따라 하면 메뉴를 찾지 못합니다. 두 경로는 같은 곳을 가리키며 이름만 다를 뿐입니다. 버전이 너무 오래되면 시스템 확장 권한 승인 위치도 달라지므로 먼저 확인하고 진행하세요.

VPN 구성을 승인하려면 관리자 계정이 필요합니다. 표준 계정으로는 팝업에 비밀번호를 입력해도 거부되거나 '허용' 버튼 자체가 보이지 않습니다. 이 Mac이 회사에서 지급한 기기라면 네트워크 설정을 관리하는 구성 프로파일이 있는지 먼저 확인하세요. 그렇지 않으면 이후 모든 단계에서 막히게 됩니다.

계정 단계에는 별다른 조건이 없습니다. 가입에는 사용자 이름과 비밀번호만 있으면 되고, 이메일 주소도 필요 없으며 인증 메일을 기다릴 필요도 없습니다. 여기서 아낀 시간이 클라이언트에서 시행착오를 반복하는 시간보다 훨씬 큽니다.

설치 전에 다른 VPN이나 프록시 클라이언트를 종료하세요. macOS에서 네트워크를 가로채는 프로그램 두 개가 동시에 실행되면 라우팅 테이블과 DNS가 서로 덮어써서 '연결은 되는데 페이지가 열리지 않는' 증상이 나타나고, 원인을 찾기가 매우 어렵습니다. 회사 네트워크나 학교 네트워크라면 포트와 UDP 제한도 확인해야 합니다. 이는 이후 어떤 프로토콜을 선택할 수 있는지에 직접 영향을 줍니다.

설치: 배포 형식과 첫 실행

macOS 클라이언트는 디스크 이미지(.dmg)로 배포됩니다. 파일을 열어 앱 아이콘을 '응용 프로그램' 폴더로 끌어다 놓은 뒤 디스크 이미지를 추출하세요. 이미지 안에서 바로 실행하면 종료 후 설정이 사라지기 쉽고 이후 업데이트에도 문제가 생깁니다. 내려받을 때는 macOS용인지 확인하고 다른 플랫폼용 설치 파일을 받지 않도록 주의하세요.

처음 실행하면 Gatekeeper가 막으면서 'Apple이 악성 소프트웨어가 있는지 확인할 수 없기 때문에 열 수 없습니다'라는 메시지가 뜨는 경우가 많습니다. 파일이 손상된 것이 아닙니다. '시스템 설정 > 개인정보 보호 및 보안'으로 가서 페이지 아래쪽의 차단된 항목을 찾아 '그래도 열기'를 누르고 한 번 더 확인하면 됩니다. 차단 안내조차 뜨지 않는다면 '다운로드' 폴더에서 바로 실행하고 있는지 확인하고 다른 위치로 옮겨 다시 시도하세요.

처음 실행하면 시스템이 'VPN 구성을 추가하려고 합니다'라는 요청을 띄웁니다. 이는 macOS가 네트워크 확장에 적용하는 표준 절차입니다. 시스템 수준에서 트래픽을 가로채려는 앱은 반드시 이 승인을 받아야 하며, 클라이언트가 우회할 방법은 없습니다. 팝업이 뜨면 그냥 거부하지 마세요. 거부하면 자동으로 다시 뜨지 않습니다.

권한 승인: 시스템 팝업과 개인정보 설정

권한 승인 단계에서는 팝업이 두세 개 연달아 뜹니다. 순서는 정해져 있지 않지만 처리 방법은 같습니다:

  • VPN 구성 추가: '허용'을 누르고 Touch ID나 계정 비밀번호로 확인합니다. 동의하면 '시스템 설정 > 네트워크'에 해당 VPN 항목이 생기며, 이것이 터널 본체입니다.
  • 시스템 확장이 차단됨: '시스템 설정 > 개인정보 보호 및 보안 > 보안'으로 가서 '허용'을 누릅니다. 일부 버전은 재시작을 요구하며, 재시작해야 확장이 실제로 로드됩니다. 재시작하지 않으면 연결이 계속 실패합니다.
  • 알림과 로컬 네트워크: 알림 권한은 상태 알림에만 영향을 주므로 거부해도 됩니다. macOS 15부터는 로컬 네트워크 접근을 묻는데, 거부해도 해외 회선 사용에는 영향이 없지만 같은 공유기 안의 기기 검색과 인쇄에는 영향을 줍니다.

부팅 시 자동 연결을 원한다면 '시스템 설정 > 일반 > 로그인 항목 및 확장'에서 클라이언트의 백그라운드 실행이 허용되어 있는지 확인하세요. 이 단계를 놓치면 재시작할 때마다 직접 연결을 눌러야 하고, 클라이언트가 불안정하다고 오해하기 쉽습니다.

'허용' 버튼이 회색으로 비활성화되어 있다면 '시스템 설정 > 일반 > VPN 및 기기 관리'에 기업 구성 프로파일이 있는지 먼저 확인하세요. 구성 프로파일은 개인 승인보다 우선하므로 관리 정책을 해제하지 않으면 팝업이 나타나지 않습니다.

구독 가져오기: 링크, 구성 파일, 수동 추가

구독 링크는 노드 목록을 돌려주는 주소로, 클라이언트가 주기적으로 가져오기 때문에 회선이 바뀌어도 다시 설정할 필요가 없습니다. 링크 끝에는 보통 인증 파라미터가 붙어 있어 링크를 얻으면 계정 사용 권한을 얻은 것과 같습니다. 단체 채팅방이나 공개 저장소에 올리지 마세요. 구독이 돌려주는 내용은 보통 Base64로 인코딩된 노드 목록이나 구성 파일이며 디코딩은 클라이언트가 처리합니다. 사용자는 링크가 온전한지만 확인하면 됩니다.

가져오기 절차는 세 단계뿐입니다. 링크 전체를 복사하고, 클라이언트의 '구독' 또는 '구성'에 붙여넣고, 업데이트를 누릅니다. 업데이트가 성공해야 노드 목록이 나타나며, 연결 전에 원하는 회선을 선택해야 합니다. 흔한 세 가지 가져오기 방식의 차이는 다음과 같습니다:

세 가지 가져오기 방식 비교
방식 적합한 상황 업데이트 방법 주의
구독 링크 일상 사용, 회선이 자주 바뀜 클라이언트에서 원클릭 업데이트 링크에 인증 정보가 있으니 외부에 공유 금지
구성 파일 가져오기 여러 노드를 한 번에 가져오기 파일을 다시 가져와야 함 파일 출처를 신뢰할 수 있는지 확인
수동 추가 단일 노드, 문제 진단 항목별로 파라미터 수정 프로토콜과 전송 계층이 노드와 일치해야 함

수동으로 추가할 때는 파라미터가 하나만 빠져도 연결되지 않습니다. 프로토콜(Shadowsocks, VMess, Trojan, VLESS, Hysteria2, TUIC), 서버 주소, 포트, UUID 또는 비밀번호, 그리고 전송 계층(ws, grpc, tcp)과 TLS, SNI, 경로가 필요합니다. Hysteria2와 TUIC는 QUIC을 사용하므로 UDP를 요구합니다. 네트워크에서 UDP가 제한된다면 TCP 계열 프로토콜로 바꾸는 편이 더 안정적입니다.

구독 업데이트가 실패하면 세 가지 원인부터 확인하세요. 메신저에서 링크가 잘리거나 공백·줄바꿈이 섞여 들어간 경우, 시스템 시간 오차가 커서 TLS 핸드셰이크가 실패한 경우, 현재 네트워크 자체가 구독 주소에 접근하지 못하는 경우입니다. 마지막은 닭이 먼저냐 달걀이 먼저냐의 문제이므로, 인터넷이 정상인 다른 네트워크에서 한 번 업데이트하면 됩니다. 업데이트 후 목록이 비어 있다면 중간 네트워크 장비가 응답을 오류 페이지로 바꿔치기했는지도 확인하세요.

가져오기 후 자주 건너뛰는 단계가 하나 더 있습니다. 바로 분할 라우팅 규칙입니다. 전역 모드는 모든 트래픽을 터널로 보내므로 국내 사이트에 접속할 때 우회 경로를 거치게 됩니다. 규칙 모드는 도메인과 IP를 기준으로 판단해 국내는 직접 연결하고 해외는 회선을 통해 보내므로 일상 사용에 더 적합합니다. macOS에서는 앱 단위 분할보다 도메인 단위 분할이 더 안정적이므로 이 부분에 시간을 너무 쓰지 마세요.

정리: 구독 가져오기 실패는 대부분 클라이언트 고장이 아니라 링크가 잘렸거나, 시스템 시간이 맞지 않거나, 현재 네트워크가 구독 주소에 접근하지 못하는 경우입니다. 이 세 가지를 차례로 확인하는 편이 삭제와 재설치를 반복하는 것보다 훨씬 효과적입니다.

검증: 출구 주소, DNS, 앱별 테스트

메뉴 막대에 '연결됨'이 표시된다는 것은 터널이 만들어졌다는 뜻일 뿐, 트래픽이 실제로 회선을 지나간다는 뜻은 아닙니다. 가장 확실한 검증은 출구 주소를 비교하는 것입니다. 연결 전후에 같은 명령을 한 번씩 실행하세요.

# 연결 전에 한 번 실행
curl -s https://ifconfig.me

# 연결 후에 다시 실행해 두 결과 비교
curl -s https://ifconfig.me

# 시스템이 현재 사용하는 DNS 리졸버 확인
scutil --dns | grep nameserver | head -n 5

두 결과가 다르고 새 주소가 선택한 회선의 국가에 있다면 트래픽이 실제로 나간 것입니다. DNS 항목도 마찬가지로 중요합니다. 리졸버가 여전히 통신사 주소라면 도메인 조회가 터널을 따라가지 않은 것이며, 이는 누출로 이어져 일부 사이트가 열리지 않거나 국내 버전으로 넘어가는 증상이 나타납니다. 브라우저의 암호화 DNS는 시스템 리졸버를 우회하므로 검증할 때는 먼저 꺼 두세요. 그렇지 않으면 보이는 결과가 시스템 동작을 대표하지 않습니다.

시스템 프록시와 TUN 두 가지 모드도 구분해야 합니다. 시스템 프록시는 시스템 프록시 설정을 읽는 앱에만 적용됩니다. Safari와 Chrome은 이를 따르지만 터미널의 curl, git, npm은 기본적으로 읽지 않으므로 환경 변수를 직접 설정하거나 네트워크 계층을 가로채는 TUN(강화) 모드로 전환해야 합니다. 그래서 '브라우저는 되는데 명령줄은 안 되는' 상황은 보통 회선 문제가 아니라 모드 선택 문제입니다.

아래 목록을 항목별로 확인하면 대체로 어느 단계에서 문제가 생겼는지 찾을 수 있습니다:

  • ✅ 메뉴 막대 상태가 연결됨이고 회선 이름이 직접 선택한 것과 일치
  • ✅ 브라우저와 터미널에서 확인한 출구 주소가 같은 국가
  • ✅ scutil --dns의 리졸버가 통신사가 아니라 터널에 속함
  • ✅ 회선을 바꾼 뒤 다시 조회하면 출구 주소도 함께 바뀜
  • ❌ '연결됨'만 보고 출구 주소를 비교하지 않음
  • ❌ 프록시 클라이언트 두 개를 동시에 켜 두어 어느 쪽이 동작하는지 불분명

'페이지가 열리는지'만 테스트하는 것으로는 부족합니다. 캐시, CDN, 일부 사이트의 지역 판정이 오해를 부를 수 있습니다. 출구 주소와 DNS 두 항목을 함께 비교해야 실제로 연결이 통과했다고 볼 수 있습니다.

자주 겪는 문제: 연결은 되는데 페이지가 안 열림, 잦은 끊김

아래 문제들은 macOS에서 가장 자주 나타나는 유형이며 대부분 원인에 맞춰 처리할 수 있습니다:

  • 시간 오차로 인한 핸드셰이크 실패: 시스템 시간이 표준 시간과 몇 분만 어긋나도 TLS 오류가 납니다. sudo sntp -sS time.apple.com을 실행해 시간을 맞춘 뒤 다시 연결하세요.
  • MTU 부적합: 페이지는 열리는데 동영상만 계속 로딩된다면 대개 큰 패킷이 버려지는 경우입니다. 클라이언트에서 MTU를 조금 낮춰 다시 시도하세요.
  • 잠자기에서 깨어난 뒤 복구 안 됨: 덮개를 닫았다 열면 터널은 남아 있는데 트래픽이 통하지 않습니다. 클라이언트를 종료했다 다시 실행하거나 '시스템 설정 > 네트워크'에서 연결을 끊었다 다시 연결하세요.
  • 네트워크의 UDP 제한: Hysteria2와 TUIC는 QUIC을 사용해 UDP에 민감합니다. 이런 네트워크에서는 Trojan이나 VLESS over TCP로 바꾸는 편이 더 안정적입니다.
  • IPv6 우회 경로: 일부 네트워크는 IPv6를 함께 할당하는데, 터널이 IPv4만 처리하면 접속이 IPv6로 직접 나갈 수 있습니다. 검증할 때 출구 주소가 IPv6 형식인지 확인하세요.
  • 잔여 구성 충돌: 삭제 후에도 '시스템 설정 > 네트워크'에 이전 VPN 항목이 남아 있을 수 있습니다. 해당 항목을 지우고 다시 설치해야 깔끔합니다.

진단 순서는 고정해 두는 것이 좋습니다. 먼저 권한이 온전한지 보고, 다음으로 DNS가 함께 따라가는지 확인하고, 마지막에 회선을 의심하세요. 순서를 뒤집으면 문제없는 회선을 계속 바꿔 가며 시간을 엉뚱한 곳에 쓰기 쉽습니다.

정리: 부팅할 때마다 수동으로 다시 연결해야 하고 DNS가 들쭉날쭉하다면 문제는 대개 회선 품질이 아니라 권한과 분할 라우팅 규칙에 있습니다. 권한과 DNS 두 절로 돌아가 항목별로 비교하는 편이 클라이언트를 다시 설치하는 것보다 빠릅니다.

설정은 한 번이면 끝나지만 이후는 관리 습관의 문제입니다. 클라이언트는 최신으로 유지하고, 구독은 주기적으로 새로 고치고, 네트워크를 바꾼 뒤에는 출구 주소를 다시 확인하세요. macOS의 권한 모델은 대부분의 예상보다 엄격합니다. 초반에 10분을 들여 권한 승인을 끝내 두면 이후 '왜 또 연결이 안 되지' 하는 시간을 크게 줄일 수 있습니다.