2026년 6월 27일 · 플랫폼 가이드 · 약 12분

V2Ray 여러 기기 설정 동기화 방법: 구독 링크·QR 코드·설정 내보내기 비교

PC, 스마트폰, 태블릿에 각각 클라이언트를 설치했을 때 설정을 일치시키는 방법을 알아봅니다. 구독 링크, QR 코드, 설정 파일 내보내기·가져오기의 활용 상황과 한계를 비교합니다.

핵심 내용

여러 기기를 장기간 관리한다면 v2rayN, v2rayNG 또는 v2flyNG에서 같은 구독 링크를 공유하는 방법이 가장 편리합니다. 한두 개 노드만 옮길 때는 QR 코드를 사용하고, 사용자 지정 라우팅·DNS·로컬 설정까지 보존해야 할 때 설정을 내보내세요. 세 가지 방법의 절차, 동기화 범위, 포트 차이와 이전 후 점검 항목을 정리합니다.

노드 동기화와 클라이언트 설정 동기화를 먼저 구분하기

‘여러 기기 설정 동기화’에는 보통 서로 다른 두 종류의 데이터가 포함됩니다. 첫 번째는 서버 노드로, 주소·포트·사용자 식별자·VMess 또는 VLESS 프로토콜 매개변수·TLS·REALITY·전송 방식·위장 필드를 포함합니다. 두 번째는 시스템 프록시·라우팅 모드·DNS·로그 수준·LAN 수신·앱별 프록시·자동 업데이트 주기 같은 클라이언트 로컬 설정입니다. 구독 링크는 주로 첫 번째 데이터를 처리하며, 설정 내보내기만 두 번째 데이터의 일부까지 보존할 수 있습니다.

‘노드 목록이 같다’고 해서 ‘동작 방식까지 완전히 같다’는 뜻은 아닙니다. 예를 들어 데스크톱 v2rayN의 일반적인 로컬 SOCKS 포트는 10808이고 HTTP 포트에는 10809가 사용될 수 있습니다. 반면 Android의 v2rayNG는 보통 시스템 VPN 인터페이스로 트래픽을 처리합니다. v2rayNG에 로컬 SOCKS 포트가 있더라도 Windows 시스템 프록시와 적용 범위는 다릅니다. 데스크톱 포트 번호를 Android에 그대로 입력해도 같은 트래픽 처리 방식이 재현되지는 않습니다.

구독 링크로 일괄 업데이트

추천

여러 기기에서 같은 구독 소스를 사용하면 노드 추가·만료·매개변수 변경 사항을 업데이트 한 번으로 반영할 수 있습니다.

적합한 경우: 두 대 이상의 기기를 장기간 사용하고 노드를 자주 변경할 때

QR 코드로 일회성 이전

VMess, VLESS 또는 지원되는 공유 링크 하나를 QR 코드로 변환해 빠르게 옮길 수 있지만 지속적인 업데이트는 제공하지 않습니다.

적합한 경우: 노드 한두 개를 임시로 복사하거나 현장에서 기기를 교체할 때

설정 내보내기 및 가져오기

노드와 일부 라우팅·DNS·앱 설정을 보존할 수 있지만, 파일 형식은 클라이언트에 따라 크게 달라집니다.

적합한 경우: 같은 종류의 클라이언트 백업이나 복잡한 규칙 이전

결론: 동기화 대상을 정한 뒤 전달 방식을 선택하세요

노드만 일치시키려면 구독을 사용하고, 노드 하나만 전달하려면 QR 코드를 사용하세요. 라우팅 규칙·DNS·로컬 매개변수까지 보존해야 할 때만 설정 파일 호환성 문제를 다루는 것이 좋습니다.

방법 1: 같은 구독으로 노드 목록 일치시키기

구독 링크는 여러 기기를 관리할 때 비용이 가장 적게 드는 방식입니다. 서버가 여러 공유 설정을 하나의 주소로 묶고, 클라이언트가 주기적으로 요청해 노드를 해석합니다. PC의 v2rayN과 Android의 v2rayNG에 같은 주소를 저장할 수 있지만, 각 기기는 독립적으로 업데이트하고 활성 노드를 선택하며 라우팅과 시스템 프록시 상태도 별도로 저장합니다.

v2rayN에서는 「구독 그룹」→「구독 그룹 설정」에서 새 구독을 추가하고 별칭과 전체 주소를 입력합니다. 저장한 뒤 「모든 구독 업데이트(프록시 사용 안 함)」를 실행하세요. 현재 네트워크에서 구독 소스에 직접 접속할 수 없다면 먼저 사용 가능한 노드에 연결한 다음 프록시를 통한 업데이트를 선택합니다. 버전에 따라 메뉴 문구는 조금 다를 수 있지만, 그룹을 만든 뒤 직접 노드를 업데이트하는 순서는 같습니다.

v2rayNG에서는 왼쪽 상단 메뉴를 열고 「구독 그룹 설정」으로 이동한 다음 오른쪽 상단의 추가 버튼을 누릅니다. 메모와 구독 주소를 입력하고 저장한 뒤 메인 화면으로 돌아가 오른쪽 상단 메뉴에서 「구독 업데이트」를 실행하세요. 업데이트가 끝나면 노드 수가 변해야 합니다. 여전히 0개라면 주소가 줄바꿈으로 잘리지 않았는지, 구독 그룹이 활성화되어 있는지, 현재 네트워크에서 해당 주소에 접속할 수 있는지부터 확인하세요.

추천 구성: 데스크톱과 Android에서 같은 구독 사용

데스크톱(v2rayN)
  • Xray 코어로 VLESS, VMess 등의 노드 실행
  • 구독 업데이트 주기를 24시간으로 설정
  • 로컬 SOCKS 포트를 10808로 유지
  • 데스크톱 앱 사용 목적에 맞게 라우팅 모드를 별도로 설정
Android(v2rayNG)
  • 동일한 전체 구독 링크 저장
  • 업데이트 후 활성 노드 다시 선택
  • 필요할 때 앱별 프록시 활성화
  • 시스템이 클라이언트를 백그라운드에서 계속 실행하도록 허용

두 기기의 노드 출처는 일치시키되, 라우팅·DNS·포트·현재 선택한 노드는 기기별로 설정해야 합니다.

자동 업데이트 주기를 지나치게 짧게 설정하지 마세요. 노드 변경이 많지 않다면 24시간마다 한 번 업데이트하는 것이 좋고, 서버 설정을 즉시 반영해야 할 때만 수동으로 업데이트하면 됩니다. 노드 60개, 한 번의 구독 응답이 약 80KB라고 가정하면 두 기기에서 하루 한 번씩 업데이트해도 한 달 구독 데이터는 5MB 미만입니다. 실제로 중요한 것은 트래픽보다 업데이트 실패 후 기존 노드가 유지되는지, 클라이언트가 수동으로 추가한 독립 노드를 잘못 삭제하지 않는지입니다.

방법 2: 적은 수의 노드를 QR 코드로 이전하기

QR 코드는 ‘현재 노드 하나를 옆의 기기로 전송’할 때 적합하며 장기 동기화용은 아닙니다. v2rayN에서 선택한 서버의 QR 코드를 생성하고 v2rayNG에서 스캔해 가져올 수 있습니다. QR 코드에는 보통 하나의 공유 링크가 들어가며 프로토콜·서버 주소·포트·전송 매개변수가 포함됩니다. 구독 자동 업데이트 기능은 포함되지 않습니다.

실제 작업에서는 먼저 v2rayN 서버 목록에서 대상 노드를 선택하고 해당 QR 코드 표시 기능을 사용합니다. Android에서 v2rayNG를 열고 오른쪽 상단의 추가 메뉴를 누른 뒤 「QR 코드 스캔」을 선택하세요. 스캔 직후 연결하지 말고 설정을 펼쳐 주소·포트·사용자 식별자·전송 방식·TLS 보안 유형·SNI 또는 serverName 등의 필드를 하나씩 확인해야 합니다.

  1. 수량 제한: 한 번에 하나씩 이전하고, 가져온 직후 메모를 ‘업무 회선-QR-0627’처럼 변경하세요. 구독에 있는 같은 이름의 노드와 혼동하는 일을 줄일 수 있습니다.
  2. 프로토콜 확인: VMess와 VLESS는 식별 필드와 암호화 의미가 다르므로 서버 주소가 같은지만 확인해서는 안 됩니다.
  3. 전송 방식 확인: WebSocket은 경로와 Host를 확인하고, gRPC는 serviceName을 확인하세요. REALITY 설정에서는 serverName·publicKey·shortId도 확인해야 합니다.
  4. 테스트 완료: 먼저 연결 테스트를 한 뒤 웹페이지를 열어 DNS와 라우팅을 확인하세요. 클라이언트에 표시되는 지연 시간만으로 판단하지 마세요.

QR 코드의 용량에는 한계가 있습니다. 복잡한 JSON 설정, 긴 인증서 내용 또는 많은 규칙이 포함된 전체 설정은 직접 인코딩하기에 적합하지 않습니다. 스캔에 성공하더라도 클라이언트가 노드 링크의 표준 필드만 인식하고 원본 클라이언트의 라우팅 그룹·DNS 분할·로컬 수신 설정은 무시할 수 있습니다. 따라서 QR 코드는 일회성 노드 복사 도구에 가깝습니다.

결론: 스캔 후 반드시 필드를 다시 확인하세요

주소와 포트가 올바르다고 설정이 완전한 것은 아닙니다. VLESS + REALITY 노드는 최소한 serverName·publicKey·shortId·flow·지문 필드를 확인하고, WebSocket 노드는 최소한 path와 Host를 확인해야 합니다.

방법 3: 복잡한 설정을 보존하는 설정 파일 내보내기

설정 내보내기는 같은 종류의 클라이언트를 백업하거나 직접 작성한 라우팅과 DNS를 보존할 때 적합합니다. 범용 동기화 형식은 아닙니다. v2rayN의 앱 설정·구독 그룹 데이터·코어 실행 설정은 서로 다른 파일에 저장될 수 있으며, v2rayNG에서 내보낸 노드 목록도 데스크톱 설정을 바로 덮어쓸 수 있는 설정 패키지와는 다릅니다. 다른 클라이언트로 가져오기 전에 해당 파일이 ‘클라이언트 데이터베이스’인지, ‘공유 링크 모음’인지, ‘코어 JSON 설정’인지 먼저 확인하세요.

코어 JSON에는 보통 inbounds·outbounds·routing·dns 등의 섹션이 포함됩니다. Xray 또는 v2fly 코어가 트래픽을 처리하는 방식을 정확하게 정의할 수 있지만, 클라이언트 UI가 직접 작성된 모든 필드를 편집 가능한 양식으로 변환하지는 않습니다. 데스크톱에서 생성한 코어 설정을 Android에 그대로 가져오면 데스크톱에만 적합한 수신 주소와 포트가 포함될 수도 있습니다.

{
  "inbounds": [
    {
      "listen": "127.0.0.1",
      "port": 10808,
      "protocol": "socks",
      "settings": {
        "udp": true
      }
    }
  ],
  "routing": {
    "domainStrategy": "IPIfNonMatch",
    "rules": [
      {
        "type": "field",
        "ip": ["geoip:private"],
        "outboundTag": "direct"
      }
    ]
  }
}

위의 수신 주소 127.0.0.1은 로컬 기기의 연결만 허용한다는 뜻으로, 데스크톱 로컬 프록시에 적합합니다. LAN 기기에 프록시를 제공하려면 수신 정책과 방화벽 규칙을 별도로 설정해야 합니다. Android에서 시스템 VPN으로 트래픽을 처리하는 경우에도 이 인바운드 설정을 동일한 설정으로 간주해서는 안 됩니다. 파일을 이전할 때는 원본 백업을 보존하고, 현재 정상 작동하는 설정을 바로 덮어쓰지 마세요.

데이터 항목 구독 링크 QR 코드 설정 내보내기
노드 주소 및 프로토콜 매개변수 일괄 업데이트 지원 보통 한 번에 하나 내보내기 형식에 따라 다름
사용자 지정 라우팅 규칙 대개 동기화되지 않음 동기화되지 않음 코어 JSON으로 보존 가능
로컬 포트 기기별 독립 설정 기기별 독립 설정 저장될 수 있으며 가져온 후 조정 필요
지속적인 업데이트 지원 지원하지 않음 지원하지 않음
클라이언트 간 호환성 높음 공유 형식에 따라 다름 낮음

v2rayN·v2rayNG·v2flyNG 조합 방법

데스크톱에서는 v2rayN으로 구독·시스템 프록시·라우팅을 관리하는 것이 좋습니다. Android에서 Xray 코어와 최신 VLESS·REALITY 설정이 필요하다면 v2rayNG를 사용할 수 있습니다. VMess 등 v2fly 코어가 지원하는 설정이 주로 사용된다면 v2flyNG도 선택할 수 있습니다. 세 클라이언트 모두 서버에서 생성한 표준 구독 또는 공유 링크를 읽을 수 있지만, 특정 클라이언트의 설정을 다른 앱에 그대로 덮어써서는 안 됩니다.

같은 구독에서 VMess·VLESS와 여러 전송 조합을 함께 제공한다면 업데이트 후 프로토콜 또는 메모로 필터링한 다음 현재 클라이언트에서 정상 실행되는 노드를 선택하세요. 노드 이름이 같다고 해서 양쪽의 실제 매개변수까지 같다고 가정하지 마세요. 서버가 User-Agent에 따라 다른 구독 내용을 반환하거나 클라이언트 기능에 맞춰 형식을 변환할 수도 있습니다.

노드 48개가 있는 테스트 구독에서 v2rayN과 v2rayNG를 각각 업데이트한 결과 모두 48개로 표시되어 노드 집합은 일치했습니다. 그러나 데스크톱에서는 ‘LAN 우회’ 라우팅을 활성화하고 Android에서는 지정한 앱만 프록시하도록 설정하자 실제 트래픽 경로는 크게 달라졌습니다. 이는 구독이 공통 진입점을 제공할 뿐, 기기별 정책은 로컬에서 관리해야 한다는 점을 보여줍니다.

이전 후 검증 순서와 문제 해결

동기화가 끝나면 속도 문제보다 먼저 설정이 완전한지 확인하세요. ‘수량·필드·연결·라우팅·DNS’의 다섯 단계를 정해 점검하는 것이 좋습니다. 이렇게 하면 구독이 업데이트되지 않은 것인지, 노드 매개변수가 누락된 것인지, 클라이언트 로컬 설정이 다른 것인지 빠르게 구분할 수 있습니다.

  1. 노드 수 확인: 예를 들어 원본 기기에 36개가 표시된다면 대상 기기도 업데이트 후 36개에 가까워야 합니다. 수량이 0이면 대개 구독 요청 또는 해석에 실패한 것입니다.
  2. 노드 세 개 표본 확인: 주소·원격 포트·프로토콜·TLS·전송 방식·메모를 각각 확인하세요. 첫 번째 노드만 점검해서는 안 됩니다.
  3. 연결 설정: 코어 로그에 시간 초과·인증서 이름 불일치·대상 거부·포트 사용 중 메시지가 나타나는지 확인하세요.
  4. 로컬 트래픽 처리 확인: v2rayN에서는 시스템 프록시 모드를 확인하고, v2rayNG에서는 시스템 VPN 권한과 앱별 프록시 범위를 확인하세요.
  5. DNS 확인: 연결은 되지만 도메인이 열리지 않는다면 DNS 설정과 라우팅 규칙을 확인하세요. IP에 접속된다고 해서 도메인 해석까지 정상이라는 뜻은 아닙니다.

속도 측정 결과는 선택을 위한 참고 자료일 뿐입니다. 한 번 측정한 지연 시간이 85ms라고 해서 웹페이지·동영상·대용량 파일도 안정적으로 작동한다는 뜻은 아닙니다. 세 번 연속 측정해 큰 변동이 있는지 확인하세요. 예를 들어 82·310·96ms로 측정됐다면 순간적인 혼잡이 있다는 의미입니다. 세 번 모두 90~110ms 사이에 있다면 일반적으로 안정성이 더 좋습니다.

두 기기에서 같은 구독을 사용하는데 노드 수가 다른 이유는 무엇인가요?

먼저 양쪽에서 전체 업데이트를 한 번 수동으로 실행한 뒤 구독 그룹이 활성화되어 있는지 확인하세요. 한쪽이 42개이고 다른 쪽이 38개라면 업데이트 로그에서 해석할 수 없는 링크가 있는지 확인하고, 두 클라이언트가 동일한 전체 주소를 가져왔는지 점검하세요.

구독 업데이트가 시간 초과로 실패하면 어떻게 하나요?

먼저 현재 사용 가능한 노드에 연결한 다음 프록시를 통한 구독 업데이트를 선택하세요. 시스템 시간이 정확한지도 확인해야 합니다. 15초를 넘는 응답 없음이 세 번 연속 발생하면 로컬 네트워크를 바꿔 다시 시도해 구독 소스 문제인지 현재 네트워크 차단인지 구분하세요.

QR 코드는 스캔됐는데 연결이 즉시 끊기는 이유는 무엇인가요?

노드 설정을 펼쳐 원격 포트·사용자 식별자·TLS·serverName·flow·publicKey·shortId를 중점적으로 확인하세요. REALITY 또는 gRPC 설정에서 핵심 필드 하나만 빠져도 핸드셰이크 단계에서 바로 실패할 수 있습니다.

설정을 가져온 뒤 10808 포트가 사용 중이라고 표시되면 어떻게 하나요?

기존 프록시 프로세스를 종료하거나 「설정」→「매개변수 설정」에서 로컬 수신 포트를 10818처럼 다른 값으로 변경하세요. 변경 후 브라우저나 다른 수동 프록시 앱의 포트도 함께 수정하고 연결을 다시 시작해야 합니다.

노드는 같은데 PC에서는 웹페이지가 열리고 Android에서는 열리지 않는 이유는 무엇인가요?

v2rayNG의 시스템 VPN 권한·앱별 프록시 목록·DNS 설정을 확인하세요. 지정한 앱만 프록시하도록 설정했다면 브라우저가 프록시 목록에 있어야 합니다. 적용 범위를 변경한 뒤에는 연결을 끊었다가 다시 연결하세요.

장기간 사용에 적합한 동기화 전략

안정적인 여러 기기 구성에서는 모든 스위치를 똑같이 맞출 필요가 없습니다. 구독 계층은 노드 출처를 통일하고, 클라이언트 계층은 플랫폼별 포트와 트래픽 처리 방식을 저장하며, 규칙 계층은 기기 용도에 맞춰 라우팅과 DNS를 관리하는 식으로 설정을 세 계층으로 나누는 것이 좋습니다. 이렇게 하면 기기를 교체해도 구독과 소수의 로컬 설정만 복원하면 됩니다.

매월 한 번 수동으로 점검하는 것이 좋습니다. 사용하지 않는 구독 그룹을 삭제하고 업데이트 주소가 여전히 유효한지 확인하며, QR 코드로 중복 추가된 노드를 정리하고 정상 작동하는 복잡한 규칙 설정을 하나 내보내세요. 내보낸 파일에는 클라이언트 이름과 날짜를 표시해야 합니다. 예를 들어 v2rayN-routing-2026-06-27.json처럼 저장하면 몇 달 뒤 다른 클라이언트로 잘못 가져오는 일을 막을 수 있습니다.

장기 관리: 노드는 중앙 관리하고 정책은 기기별로 저장

중앙 관리할 항목
  • 구독 주소 및 그룹 이름
  • 노드 메모 및 프로토콜 매개변수
  • 만료 노드 및 새 노드
  • 24시간마다 한 번 업데이트
기기별 독립 항목
  • 시스템 프록시 또는 시스템 VPN 상태
  • 10808 등의 로컬 수신 포트
  • 데스크톱 라우팅 및 Android 앱별 프록시
  • DNS·LAN 공유·백그라운드 정책

구독은 일관성을 담당하고 로컬 설정은 플랫폼에 맞게 조정합니다. 두 부분을 분리해 관리하면 이전 과정에서 서로의 설정을 덮어쓸 가능성이 가장 낮습니다.

최종 선택은 간단합니다. 기기가 두 대 이상이고 지속적인 업데이트가 필요하면 같은 구독을 사용하세요. 노드 하나를 임시로 공유하려면 QR 코드를 사용하고, 같은 종류의 클라이언트에서 복잡한 규칙을 백업하려면 내보내기 파일을 사용합니다. 세 가지 방법을 조합할 수는 있지만 QR 코드를 구독으로 간주하거나 특정 클라이언트의 전체 설정 파일을 크로스 플랫폼 표준으로 사용해서는 안 됩니다.

클라이언트 설치 패키지 보기