멀티 디바이스 동기화는 노드, 라우팅, 기기별 설정을 나눠서 생각해야 합니다. 평소에는 구독을 재사용하고, 노드 하나를 임시로 옮길 때는 공유 링크나 QR 코드를 이용하세요. 라우팅 설정을 이전할 때는 커널과 규칙 형식이 호환되는지 먼저 확인해야 합니다. 데스크톱의 v2rayN과 Android의 v2rayNG, v2flyNG를 함께 사용하는 경우를 중심으로, 재사용할 수 있는 항목과 대상 기기에서 다시 설정해야 하는 항목을 설명합니다.
노드 동기화와 전체 설정 이전은 다릅니다
Mac에서 사용할 수 있는 노드라고 해서 파일 하나만 복사하면 Android에서도 똑같이 프록시가 작동하는 것은 아닙니다. 노드에는 서버 주소, 포트, 인증 정보, 전송 설정이 저장됩니다. 라우팅은 요청을 직접 연결할지, 프록시를 거칠지, 차단할지를 결정하고, 시스템 프록시와 로컬 리스너는 앱 트래픽을 클라이언트로 전달합니다. 각각 서로 다른 설정 계층입니다.
v2rayN은 Windows, macOS, Linux 데스크톱용입니다. Android용 v2rayNG는 Xray 커널을, v2flyNG는 V2Fly 커널을 사용합니다. 클라이언트에서 특정 형식을 가져올 수 있더라도, 사용 중인 커널이 그 형식의 모든 프로토콜과 필드를 지원한다는 뜻은 아닙니다. 특히 Reality 같은 기능이 포함된 VLESS 노드는 이름이 같다는 이유만으로 판단하지 말고 대상 커널의 지원 여부를 확인하세요.
| 설정 계층 | 주요 항목 | 이전 원칙 |
|---|---|---|
| 서버 노드 | 주소, 포트, 인증, TLS, 전송 설정 | 구독을 우선 사용하고, 노드 하나만 옮길 때는 URI나 QR 코드 이용 |
| 라우팅 및 DNS | 도메인 규칙, IP 규칙, 아웃바운드 태그, DNS 확인 정책 | 형식, 커널, 규칙 데이터를 확인한 뒤 가져오기 |
| 클라이언트 설정 | 구독 그룹, 업데이트 일정, 인터페이스 옵션 | 호환되는 클라이언트의 백업 기능으로만 복원 |
| 기기별 네트워크 | 리스닝 포트, 시스템 프록시, TUN, 앱별 설정 | 대상 기기에서 다시 설정하고 검증 |
구독, 내보내기, QR 코드 중 어떤 방법을 선택할까
‘동기화’는 보통 두 클라이언트가 실시간으로 설정을 주고받는다는 뜻이 아닙니다. 구독을 재사용하면 각 기기가 같은 출처에서 노드 목록을 가져옵니다. QR 코드와 설정 파일은 내보낸 시점의 스냅샷이므로, 원본 기기에서 설정을 바꿔도 자동으로 업데이트되지 않습니다. 서버에서 인증 정보를 변경해도 자동으로 수정되지 않습니다.
구독 링크 재사용
권장각 기기에 구독 주소를 따로 저장하고 업데이트하세요. 구독 제공자가 노드 변경을 관리하므로 기기마다 일일이 수정할 필요가 줄어듭니다. 라우팅, DNS, 로컬 포트는 기기별로 관리해야 합니다.
적합한 경우: 여러 기기를 장기간 사용하고, 노드 제공자가 여러 기기 접속을 허용하는 경우
설정 내보내기 및 복원
같은 종류의 클라이언트로 이전하거나 사용자 지정 라우팅을 유지해야 할 때 적합합니다. 내보낸 항목이 공유 링크인지, 커널 설정인지, 클라이언트 백업인지 먼저 확인한 다음 알맞은 가져오기 기능을 선택하세요.
적합한 경우: 컴퓨터 교체, 시스템 재설치, 관리해 온 규칙 이전
공유 링크 및 QR 코드
노드 하나를 URI로 표현해 가까운 기기끼리 간편하게 전달할 수 있습니다. QR 코드는 링크를 다른 방식으로 인코딩한 것일 뿐, 자동 업데이트 기능이나 추가적인 보안 기능을 제공하지 않습니다.
적합한 경우: 기기 한 대를 임시로 추가하거나 노드 하나의 호환성을 확인할 때
구독 재사용: 기기마다 별도로 가져와 업데이트
먼저 구독 제공자가 허용하는 기기 수, 동시 접속 수, 트래픽 정책을 확인하세요. 같은 링크를 사용해도 여러 기기가 하나의 연결로 합쳐지거나 제공자의 이용 제한을 우회할 수는 없습니다. 일부 서비스는 클라이언트에 따라 다른 내용을 제공하므로, 두 기기의 노드 수가 다르다고 해서 반드시 동기화 오류인 것은 아닙니다.
아래는 중국어 간체 인터페이스에서 사용하는 메뉴 이름입니다. v2rayN은 데스크톱 빌드에 따라 버튼이 메뉴나 그룹 패널에 있을 수 있으며, Android에서는 오른쪽 상단 메뉴를 사용합니다. 화면 구성이 다르다면 ‘구독 그룹 설정’과 ‘구독 업데이트’ 기능을 찾아보세요. 구독 주소를 단일 노드 주소로 입력하지 마세요.
-
구독 출처 확인
서비스 관리 페이지에서 전체 구독 URL을 가져오고 쿼리 매개변수도 그대로 보존하세요. 그룹 이름은 ‘일반 구독’처럼 지정하고, 제공되는 형식도 기록해 둡니다. 화면에 잘려서 표시된 링크 문구만 복사하지 마세요.
-
데스크톱에서 그룹 추가
v2rayN에서 ‘구독 그룹’ → ‘구독 그룹 설정’ → ‘추가’를 열고 별칭과 구독 주소를 입력한 뒤 저장합니다. 메인 화면으로 돌아와 ‘구독 그룹’ 메뉴에서 전체 구독 업데이트 기능을 실행하세요.
-
Android에서 그룹 추가
v2rayNG에서 오른쪽 상단 메뉴 → ‘구독 그룹 설정’ → ‘+’를 선택하고 설명과 주소를 입력합니다. 저장한 뒤 메인 화면으로 돌아와 오른쪽 상단 메뉴에서 ‘구독 업데이트’를 실행하세요.
-
노드 정보 비교
양쪽 기기에서 이름이 같은 노드를 하나씩 선택해 서버 주소, 포트, 프로토콜, 전송 설정을 비교하세요. 노드 이름은 메모일 뿐, 설정이 완전히 같다는 의미는 아닙니다. 먼저 수동 업데이트를 한 번 완료한 뒤 업데이트 일정을 설정하세요.
-
업데이트 방식 검증
직접 연결로 구독을 가져올 수 있다면 먼저 직접 연결로 확인하세요. 구독 주소에 프록시가 꼭 필요한 경우에만 프록시를 통한 업데이트를 선택하고, 업데이트 실패 후에도 연결할 수 있도록 기존의 정상 노드를 남겨 두세요.
설정 내보내기: 파일 종류를 확인한 뒤 복원 범위 결정
config.json이라는 파일을 발견해도 파일 이름만 보고 용도를 판단하지 말고 구조를 확인하세요. inbounds, outbounds, routing이 들어 있다면 대개 커널 실행 설정입니다. 클라이언트 백업에는 그룹, 구독 출처, 인터페이스 설정이 포함될 수도 있습니다. 두 파일은 서로 다른 데이터이므로 가져오기 기능도 서로 바꿔 쓸 수 없습니다.
v2rayN은 현재 노드와 규칙을 바탕으로 실행 설정을 생성할 수 있습니다. 생성된 파일을 직접 수정하면 다음에 노드를 전환하거나 커널을 실행할 때 변경 내용이 덮어써질 수 있습니다. 장기간 유지할 설정은 클라이언트가 지원하는 사용자 지정 설정이나 규칙 기능에 저장하세요. 다른 컴퓨터로 옮기기 전에는 앱 자체의 내보내기 기능으로 백업을 만드세요.
- 같은 종류의 데스크톱 간 이전: 클라이언트를 종료한 뒤 사용자 데이터를 백업하고 운영체제와 클라이언트 빌드 정보를 기록하세요. 대상 기기의 기존 데이터는 남겨 두고, 백업 호환성을 확인한 경우에만 복원합니다.
- 운영체제 간 이전: Windows, macOS, Linux 사이에서 프로그램 디렉터리 전체를 그대로 덮어쓰지 마세요. 인증서 경로, 데이터 디렉터리, 시작 항목, 권한 처리가 다를 수 있습니다.
- Android로 이전: 구독이나 공유 링크를 다시 가져오는 방법을 우선 사용하세요. 대상 클라이언트에 사용자 지정 설정 기능이 있고 해당 커널이 파일 형식을 지원하는 경우에만 커널 설정 전체를 가져오세요.
- 규칙의 외부 의존성: 규칙 데이터 파일, 인증서 파일, 사용자 지정 경로를 확인하세요. JSON 파일을 읽을 수 있다고 해서 관련 의존성까지 이전된 것은 아닙니다.
복원 후에는 노드 하나부터 테스트하고 라우팅을 추가하세요. 클라이언트에서 지원하지 않는 필드라는 메시지가 나오면 내보내기와 가져오기에 사용한 커널 종류 및 설정 형식을 확인하세요. 오류가 난 필드를 무작정 삭제하지 마세요. 전송 또는 보안 매개변수를 삭제하면 연결 조건이 달라질 수 있습니다.
QR 코드 공유: 노드 하나를 옮길 때 적합하며 백업을 대신하지 않습니다
데스크톱에서는 선택한 노드의 공유 또는 내보내기 기능으로 공유 링크나 QR 코드를 만들 수 있습니다. Android의 v2rayNG에서는 오른쪽 상단 ‘+’ → ‘QR 코드 스캔’을 선택하거나 링크를 복사한 뒤 ‘클립보드에서 가져오기’를 누르세요. 신뢰할 수 있는 본인 기기에 표시된 내용만 스캔하고, 가져온 뒤에는 노드 상세 정보를 다시 확인하세요.
vmess://와 vless://는 서로 다른 공유 형식이므로 접두어만 바꿔 변환할 수 없습니다. QR 코드에는 보통 인증 정보가 포함됩니다. 긴 링크는 QR 코드의 밀도, 화면 확대율, 카메라 초점에 따라 스캔이 어려울 수 있습니다. 스캔이 되지 않으면 신뢰할 수 있는 로컬 전송 방법으로 전체 URI를 보내세요. 긴 매개변수 문자열을 직접 다시 입력하지 마세요.
- 원본 기기에서 이미 정상 작동을 확인한 노드 하나만 선택해 공유 정보를 만드세요. 구독 주소를 단일 노드용 QR 코드로 잘못 내보내지 않도록 주의합니다.
- 대상 기기에 가져온 뒤 서버 포트, UUID, 전송 방식, TLS 설정, 서버 이름을 확인하세요. Reality를 사용하는 경우 공개 키와 Short ID 등도 확인해야 합니다.
- 대상 기기에서 별도로 연결을 테스트하세요. 원본 기기에서는 연결되지만 대상 기기에서 실패한다면 먼저 프로토콜 지원 여부와 네트워크 환경을 확인한 뒤 복사한 내용이 완전한지 살펴보세요.
- 가져오기를 확인한 뒤 임시 스크린샷과 전송 기록을 삭제하세요. 이후 노드가 변경되면 다시 공유하거나 구독 업데이트를 이용합니다.
라우팅 재사용: 정책은 맞추고 기기별 설정은 따로 관리
라우팅을 동기화할 때는 규칙 순서, 매칭 필드, 아웃바운드 태그를 비교해야 합니다. 두 인터페이스에 모두 ‘로컬 네트워크 우회’라고 표시된다고 해서 전체 규칙이 같다는 뜻은 아닙니다. geosite 또는 geoip 규칙은 대상 기기에 해당 데이터 파일도 있어야 합니다. 클라이언트의 규칙 프리셋 이름을 범용 가져오기 형식으로 간주해서도 안 됩니다.
권장 방식: 노드 출처는 공유하고 트래픽 연결 방식은 기기별로 관리
데스크톱 v2rayN
- 같은 구독 주소를 사용하고 기기별 업데이트 내역을 기록합니다.
- 라우팅 아웃바운드 태그와 규칙 데이터를 확인합니다.
- 앱 사용 목적에 맞춰 시스템 프록시 또는 TUN을 설정합니다.
- 로컬 포트를 다른 프로그램이 사용 중인지 확인합니다.
Android v2rayNG
- 같은 구독을 별도로 업데이트하고 형식 호환성을 확인합니다.
- 지원되는 기능을 사용해 해당 라우팅 규칙을 설정합니다.
- VPN 권한과 앱별 설정을 다시 확인합니다.
- 노드 연결만 확인하지 말고 실제 앱으로 트래픽 처리 범위를 테스트합니다.
공유할 수 있는 것은 노드 출처와 라우팅 정책입니다. 시스템 프록시, 권한, 앱 트래픽 처리 범위는 기기마다 따로 관리해야 합니다.
아래는 로컬 프록시를 점검할 때 참고할 수 있는 예시 값이며 모든 버전의 기본 설정을 뜻하지 않습니다. 실제 포트는 클라이언트의 현재 리스닝 설정을 확인하고, 해당 주소가 실제로 리스닝 중일 때만 입력하세요.
클라이언트를 각 기기에서 독립적으로 실행하면 각 기기의 127.0.0.1은 해당 기기 자신을 가리킵니다. Mac의 시스템 프록시 주소를 다른 컴퓨터에 그대로 입력해도 Mac에 연결되지 않습니다. 다른 기기가 LAN을 통해 프록시를 함께 사용하도록 설정하는 것은 별도의 구성 방식이며, 리스닝 주소, 방화벽, 접근 제어 설정이 필요합니다. 이는 설정 동기화에 해당하지 않습니다.
이전 후 검증 및 인증 정보 관리
설정 계층별로 검증하세요. 먼저 구독을 정상적으로 가져왔는지 확인하고, 다음으로 노드 연결을 테스트한 뒤, 마지막으로 앱 요청이 라우팅에 따라 올바른 아웃바운드로 전달되는지 확인합니다. 노드 테스트 성공은 해당 테스트만 통과했다는 뜻입니다. 시스템 프록시가 활성화되었거나 모든 앱이 프록시를 사용한다는 의미는 아닙니다.
| 증상 | 우선 확인할 항목 | 조치 |
|---|---|---|
| 두 기기의 노드 수가 다름 | 업데이트 시각, 응답 형식, 필터 조건 | 각 기기에서 수동 업데이트를 실행하고 오류 메시지와 그룹 범위를 확인합니다. |
| 노드를 가져온 뒤 연결할 수 없음 | 대상 커널 및 전송 매개변수 | 프로토콜, TLS, 서버 이름, 인증 정보를 확인합니다. |
| 연결은 되지만 앱에서 통신할 수 없음 | 시스템 프록시, VPN 권한, 앱별 적용 범위 | 앱 트래픽이 실제로 클라이언트를 통과하는지 확인합니다. |
| 직접 연결과 프록시 연결의 동작이 다름 | 라우팅 순서, DNS, 규칙 데이터 | 규칙을 하나씩 대조하고 실제로 선택된 아웃바운드를 확인합니다. |
구독 링크에는 계정 토큰이 포함되는 경우가 많고, 공유 URI에도 노드 사용에 필요한 정보가 들어 있습니다. Base64는 암호화가 아닌 인코딩이며 QR 코드도 인증 정보를 숨겨 주지 않습니다. 이런 내용을 공개 문서나 공개 스크린샷에 올리거나 온라인 변환 도구에 입력하지 마세요. 보관해야 한다면 접근을 통제할 수 있는 암호화 저장소를 사용하고 공유 범위를 제한하세요.
- 업데이트 전 복구 지점 마련: 이전에 정상 작동한 설정과 규칙을 저장하고 내보낸 날짜, 출처, 대상 클라이언트를 기록하세요. 파일 이름에 전체 주소나 토큰을 노출할 필요는 없습니다.
- 자동 업데이트 전 검증: 자동 업데이트를 설정하기 전에 수동으로 구독을 가져오고 연결 테스트를 완료하세요. 기기 절전 모드나 백그라운드 제한으로 실행 시각이 달라질 수 있습니다.
- 동시 덮어쓰기 방지: 실행 중인 클라이언트 데이터베이스를 파일 동기화 도구가 동시에 수정하지 않도록 하세요. 여러 기기에서 실행 디렉터리를 공유하면 덮어쓰기, 충돌, 상태 손실이 발생할 수 있습니다.
- 유출된 인증 정보 교체: 구독 제공자에서 링크나 인증 정보를 재설정한 뒤 기기마다 업데이트하세요. 로컬 스크린샷을 삭제해도 이미 유출된 접근 정보는 무효화되지 않습니다.
간단한 기록만 남겨도 충분합니다. 노드를 어디서 업데이트하는지, 규칙을 어떻게 복원하는지, 기기에서 어떤 방식으로 트래픽을 처리하는지 정리해 두세요. 새 기기로 설정을 옮길 때 다시 구성하기 쉽고, 문제가 생겼을 때 구독, 커널, 라우팅, 시스템 프록시 중 어느 단계에서 발생했는지도 구분할 수 있습니다.