먼저 v2rayN의 로컬 수신 포트를 확인한 다음, macOS에서 현재 사용 중인 네트워크 서비스의 프록시 설정을 점검하세요. 브라우저는 확장 프로그램의 영향을 확인하고, 터미널은 curl과 환경 변수를 각각 테스트합니다. 클라이언트 연결은 정상인데 앱마다 동작이 다를 때 단계별로 원인을 찾는 방법입니다.
먼저 구분하기: 클라이언트, 시스템 프록시, 앱
v2rayN에서 노드를 선택했다고 해서 모든 프로그램이 해당 노드를 사용하는 것은 아닙니다. 앱이 요청을 로컬 프록시 포트로 보내야 v2rayN이 연결을 처리할 수 있습니다. macOS 시스템 프록시는 시스템 네트워크 설정을 따르는 앱에 주소를 제공합니다. 터미널 명령줄 도구는 별도의 환경 변수를 참조하거나 프록시를 직접 지정해야 할 수 있습니다.
점검을 시작하기 전에 v2rayN에서 로컬 HTTP 및 SOCKS 수신 주소를 확인하고 코어가 실행 중인지 살펴보세요. 아래 숫자는 설정 예시일 뿐, 설치 환경에서 같은 포트를 사용한다는 뜻은 아닙니다. 이후 명령과 시스템 설정에는 클라이언트 화면에 표시된 실제 값을 입력해야 합니다.
먼저 문제 범위 파악하기
브라우저와 터미널이 모두 실패하면 코어와 로컬 포트를 먼저 확인하세요. 브라우저만 실패하면 시스템 프록시와 확장 프로그램을 점검하고, 터미널만 실패하면 명령이 프록시 설정을 읽는지 확인하세요. 수신 포트를 확인하기 전에는 노드를 반복해서 바꾸지 마세요.
macOS에서 현재 네트워크 서비스의 프록시 설정 확인
먼저 v2rayN의 시스템 프록시 메뉴에서 ‘시스템 프록시 자동 설정’을 선택했는지 확인하세요. 그런 다음 macOS에서 현재 사용 중인 네트워크 서비스에 설정이 적용되었는지 살펴봅니다. macOS 버전과 Wi-Fi·이더넷 연결 방식에 따라 메뉴 위치가 다를 수 있습니다. 최신 버전에서는 보통 ‘시스템 설정’ → ‘네트워크’ → 현재 네트워크 서비스 → ‘세부사항’ → ‘프록시’로 이동합니다.
코어 실행 상태 확인
v2rayN 기본 화면의 상태와 로그를 확인하세요. 코어가 실행되지 않는다면 시스템에 프록시 주소를 입력했더라도 로컬 포트에 연결할 수 없습니다.
수신 포트 확인
v2rayN의 ‘설정’ → ‘매개변수 설정’에서 로컬 프록시 포트를 확인하고, 현재 화면과 로그에 표시된 수신 상태를 기준으로 삼으세요. HTTP 포트와 SOCKS 포트를 구분하고 서로 바꿔 입력하지 마세요.
시스템 프록시 선택
v2rayN의 시스템 프록시 메뉴에서 ‘시스템 프록시 자동 설정’을 선택한 다음, macOS의 ‘시스템 설정’ → ‘네트워크’ → 현재 네트워크 서비스 → ‘세부사항’ → ‘프록시’에서 주소와 포트를 확인하세요.
네트워크 서비스 확인
이더넷을 사용 중이라면 Wi-Fi의 프록시 설정만 확인해서는 안 됩니다. 네트워크 연결을 바꿨다면 현재 서비스를 다시 확인하세요. 이전 자동 프록시 설정이나 다른 수동 프록시가 활성화되어 있는지도 살펴보세요.
수동으로 설정할 때는 HTTP 프록시와 보안 웹 프록시에 실제 HTTP 수신 포트를 사용하고, SOCKS 프록시에는 실제 SOCKS 수신 포트를 입력하세요. 예시 주소 127.0.0.1은 이 Mac 자체를 가리킵니다. 원격 노드 주소를 시스템 프록시 항목에 입력하면 안 됩니다. 클라이언트가 자동 프록시 설정을 생성했다면 해당 설정의 상태를 확인하세요. 설정 주소를 일반 HTTP 프록시 서버 주소로 잘못 입력하지 않도록 주의하세요.
터미널에서 아래 읽기 전용 명령을 실행하면 현재 시스템에 표시되는 프록시 설정도 확인할 수 있습니다. 출력에 이전 주소나 포트가 보이면 현재 네트워크 서비스의 설정 화면에서 수정한 뒤, 테스트할 앱을 다시 실행하세요.
scutil --proxy
networksetup -listallnetworkservices
networksetup -getwebproxy "Wi-Fi"
networksetup -getsocksfirewallproxy "Wi-Fi"
브라우저에서만 작동하지 않을 때: 별도 프록시와 확장 프로그램 확인
브라우저에서 웹페이지가 열린다고 해서 v2rayN을 사용 중이라고 단정할 수는 없습니다. 반대로 브라우저만 열리지 않고 다른 앱은 정상이어도 노드 문제라고 볼 수는 없습니다. 먼저 동일한 URL로 반복 테스트하고 모든 사이트가 실패하는지, 일부 사이트만 실패하는지 기록하세요.
- 브라우저 자체의 프록시 설정 확인: 브라우저에 프록시 설정 메뉴가 있다면 이전에 입력한 수동 서버 주소가 아니라 macOS 시스템 프록시를 사용하도록 설정되어 있는지 확인하세요.
- 프록시 설정을 바꾸는 확장 프로그램을 잠시 사용 중지: 특히 프록시 전환이나 요청 전달 기능이 있는 확장 프로그램을 확인하세요. 확장 프로그램을 사용 중지한 뒤 새 창에서 테스트하면 확장 프로그램 규칙과 시스템 설정을 동시에 변수로 두지 않을 수 있습니다.
- 현재 네트워크와 로그인 상태 확인: 네트워크를 전환했다면 해당 서비스의 프록시 설정을 다시 확인하세요. 포털 페이지 로그인이 필요한 공용 네트워크라면 먼저 해당 네트워크의 연결 절차를 완료해야 합니다.
- 일반 창과 새 세션 비교: 기존 창에서만 문제가 생긴다면 사이트 캐시, 브라우저 설정 또는 확장 프로그램을 확인하세요. 곧바로 v2rayN 노드 설정을 변경하지 마세요.
브라우저에 프록시 서버가 연결을 거부한다는 메시지가 표시되면 시스템 프록시의 로컬 주소와 포트, 코어의 수신 상태를 먼저 확인하세요. 페이지 연결은 성공했지만 특정 사이트에서만 인증서 오류나 접속 문제가 생긴다면 해당 사이트 또는 브라우저의 문제로 따로 점검하세요. 오류를 감추려고 인증서 검증을 끄지 마세요.
별도 요청으로 교차 확인
브라우저 테스트 결과가 불분명하다면 다음 절의 curl -x 명령으로 동일한 로컬 포트를 직접 지정해 보세요. 직접 요청은 성공하고 브라우저만 실패한다면 브라우저 설정, 확장 프로그램, 현재 macOS 네트워크 서비스를 중심으로 확인하면 됩니다.
터미널에서만 작동하지 않을 때: 프록시 직접 지정과 환경 변수 따로 테스트
터미널의 네트워크 동작은 도구마다 다릅니다. curl, 패키지 관리자, 기타 명령은 각기 다른 방식으로 프록시 설정을 읽습니다. 먼저 시스템 설정을 거치지 않고 curl에 v2rayN의 예시 HTTP 포트를 직접 지정해 보세요. 실제 HTTP 포트가 10809가 아니라면 명령의 숫자를 먼저 바꿔야 합니다.
curl -v -x http://127.0.0.1:10809 -I https://example.com
출력에서 연결을 시도한 프록시 주소, HTTP CONNECT 단계, 최종 응답 또는 오류를 확인하세요. 연결이 거부된다면 해당 포트에서 수신 중인 프로그램이 없거나 포트가 잘못되었을 가능성이 큽니다. 요청이 프록시에 도달했지만 응답이 없다면 v2rayN 로그, 노드 설정, 대상 사이트를 추가로 확인하세요. -I는 응답 헤더만 요청하므로 일부 사이트에서는 다르게 처리될 수 있습니다. -I를 뺀 명령으로 다시 테스트해 보세요.
프록시 직접 지정
먼저 위의
curl -x명령을 실행하세요. 이 명령은 셸에 프록시 변수가 설정되어 있는지와 관계없이 로컬 HTTP 포트가 요청을 처리할 수 있는지 확인합니다.환경 변수 확인
env | grep -i proxy를 실행해 이전 주소나 잘못된 포트가 남아 있는지, 또는 대상 도메인이 프록시를 우회하도록 설정된NO_PROXY가 있는지 확인하세요.현재 세션에 설정
프록시를 직접 지정한 요청이 성공하면 아래 예시처럼 현재 터미널 세션에 변수를 설정하고,
-x를 뺀curl명령으로 결과를 비교하세요.도구별로 확인
다른 명령이 여전히 작동하지 않으면 해당 도구의 프록시 옵션이나 설정 파일을 확인하세요.
curl의 동작을 모든 명령줄 프로그램에 그대로 적용해 판단하지 마세요.
env | grep -i proxy
export http_proxy=http://127.0.0.1:10809
export https_proxy=http://127.0.0.1:10809
curl -v -I https://example.com
https_proxy 값에 http://를 사용하는 것은 대상 사이트가 암호화되지 않은 HTTP로 바뀐다는 뜻이 아닙니다. 로컬 HTTP 프록시에 연결하는 방식을 나타내며, HTTPS 대상은 보통 CONNECT로 터널을 만듭니다. SOCKS 포트만 제공되는 경우에는 SOCKS를 지원하는 도구에서 해당 옵션을 사용할 수 있습니다. 예: curl --socks5-hostname 127.0.0.1:10808 -I https://example.com. 여기서 --socks5-hostname은 도메인 조회를 SOCKS 프록시에서 처리하도록 합니다.
오류 메시지로 원인 파악하기: 포트, 주소, 인증서
오류 메시지 원문을 보면 요청이 어느 단계에서 멈췄는지 파악하는 데 도움이 됩니다. 아래 예시에는 앞에서 사용한 주소와 포트가 그대로 쓰였습니다. 운영체제나 도구에 따라 메시지가 조금 다를 수 있으므로 실제 명령 출력과 v2rayN 로그를 함께 확인하세요.
오류: curl: (7) Failed to connect to 127.0.0.1 port 10809: Connection refused
원인 및 해결 방법: 요청이 프록시 처리 단계에 도달하기 전입니다. v2rayN 코어가 실행 중인지, 실제 HTTP 수신 포트가 10809인지, 명령에 SOCKS 포트를 잘못 입력하지 않았는지 확인하세요.
오류: curl: (5) Could not resolve proxy: proxy.invalid
원인 및 해결 방법: 명령이나 환경 변수가 확인할 수 없는 프록시 호스트 이름을 가리킵니다. env | grep -i proxy와 도구 자체 설정을 확인하고, 이전 프록시 주소를 실제 로컬 수신 주소로 바꾸세요.
오류: curl: (60) SSL certificate problem: unable to get local issuer certificate
원인 및 해결 방법: 연결이 인증서 검증 단계까지 진행된 상태입니다. 이 오류만으로 로컬 프록시 포트 문제라고 단정할 수 없습니다. 시스템 시간, 대상 사이트 인증서, 네트워크 환경을 확인하고 인증서 검증을 유지한 상태에서 다시 테스트하세요.
curl -x를 사용하면 성공하지만 같은 명령에서 -x를 빼면 실패하는 경우에는 환경 변수, NO_PROXY, 명령 자체의 프록시 설정을 확인하세요. 두 방식 모두 실패한다면 v2rayN 로그에 해당 요청이 기록되는지 먼저 살펴보세요. 로그에 기록이 없다면 수신 주소와 포트를 다시 확인하세요.
네트워크를 전환하거나 시스템 프록시를 변경한 뒤에는 요청을 새로 보내고 로그를 확인하세요. 이전 연결 기록을 이번 테스트 결과로 착각하지 마세요. 노드, 브라우저 확장 프로그램, 셸 설정을 한꺼번에 바꾸면 접속이 복구되어도 무엇이 원인이었는지 알기 어렵습니다.
설정 복원 후 단계별로 다시 테스트
점검이 끝나면 구성을 한 가지 경로로 정리하세요. 브라우저는 필요에 따라 macOS 시스템 프록시를 사용하고, 터미널 도구는 각자의 프록시 옵션이나 환경 변수를 사용하면 됩니다. 임시 테스트라면 예시 포트를 모든 터미널 세션에 영구 저장할 필요는 없습니다.
- 먼저 클라이언트 테스트: v2rayN 코어가 실행 중인지 확인하고 현재 HTTP·SOCKS 수신 포트를 기록한 다음, 새 요청이 로그에 표시되는지 살펴보세요.
- 다음은 시스템과 브라우저 테스트: 현재 네트워크 서비스의 프록시 설정을 확인하고, 충돌하는 확장 프로그램을 사용 중지한 뒤 새 창에서 동일한 테스트 주소에 접속하세요.
- 마지막으로 터미널 테스트: 포트를 직접 지정한
curl -x를 먼저 실행하세요. 성공하면 환경 변수와 실제 사용할 명령을 테스트합니다. - 임시 변수 정리: 이번 셸 테스트에서 설정한 값이 더 이상 필요하지 않다면
unset http_proxy https_proxy를 실행하세요. 다른 프록시 변수도 설정했다면 실제 변수 이름에 따라 각각 제거하세요.
이 순서대로 확인하면 ‘로컬 포트가 작동하는지’, ‘앱이 시스템 설정을 사용하는지’, ‘명령에 프록시가 직접 설정되어 있는지’를 따로 검증할 수 있습니다. 포트와 직접 지정한 요청이 모두 정상이라면 노드를 처음부터 다시 설정할 필요가 없습니다. 직접 요청도 실패할 때는 클라이언트 로그와 노드 설정을 추가로 확인하세요.