설정 가이드 / 데스크톱 및 Android 클라이언트

V2Ray 고급 설정
라우팅·DNS·TUN

구독 소스부터 최종 아웃바운드까지, 트래픽이 지나는 설정 단계를 따라 살펴봅니다.

처음 사용한다면 입문 가이드에 따라 가져오기, 연결, 확인을 마치세요. 이 페이지는 연결이 이미 정상 작동하는 상태에서 세부 설정을 조정할 때 참고할 수 있습니다. 데스크톱에서는 v2rayN을, Android에서는 필요한 코어에 따라 v2rayNG 또는 v2flyNG를 사용하세요. 설치 파일과 아키텍처 안내는 클라이언트 페이지에서 확인할 수 있습니다.

  • 구독 및 필터
  • 규칙 순서
  • DNS 해석 및 트래픽 가로채기
  • 설정 복구

01 / 설정 소스

구독 그룹 및 서버 필터

그룹의 역할과 한계

구독 그룹은 우선 소스를 관리하는 기능이지, 트래픽을 분기하는 규칙이 아닙니다. 일반적으로 그룹에는 구독 주소, 업데이트 옵션, 해당 소스에서 가져온 서버 항목이 저장됩니다. 서버를 그룹으로 옮겨도 특정 웹사이트가 자동으로 그 서버를 사용하지는 않습니다. 웹사이트별 연결 경로는 현재 연결 설정과 라우팅 규칙으로 결정됩니다. 이 차이를 먼저 이해해야 목록 정리를 네트워크 정책 설정으로 착각하지 않습니다.

v2rayN에서 먼저 구독 그룹 관리 화면을 열고 용도를 알기 쉬운 이름으로 새 그룹을 만든 다음, 구독 제공처의 주소를 입력하세요. ‘일상 사용’, ‘예비 연결’처럼 용도나 소스를 드러내는 이름을 권장합니다. 구분하기 어려운 알파벳만 쓰는 것은 피하세요. 저장한 뒤 해당 그룹을 업데이트하고 서버 목록에서 가져온 항목을 확인합니다. 메뉴 위치는 버전에 따라 다를 수 있으므로 화면의 기능명과 설명을 기준으로 찾으세요.

구독 주소에는 접속 인증 정보가 포함될 수 있으므로 계정 정보처럼 다뤄야 합니다. 화면을 공유하기 전에는 주소와 QR 코드를 가리고, 전체 링크를 공개 로그에 붙여 넣지 마세요. 브라우저에서 주소가 열린다고 해서 응답 내용이 현재 클라이언트에 맞는 것은 아닙니다. 로그인 페이지, 안내 페이지, 형식 변환 결과가 일반 텍스트로 내려올 수도 있습니다. 이 경우 업데이트 완료로 표시되더라도 사용할 수 있는 서버가 없을 수 있습니다.

서버 필터

필터는 목록을 좁히거나 업데이트 후 남길 항목을 제어하는 데 사용하지만, 클라이언트마다 적용 범위가 다릅니다. 화면에 표시되는 항목만 제한하는 경우도 있고, 구독을 해석하는 단계에서 항목을 제외하는 경우도 있습니다. 처음에는 간단한 이름 키워드로 동작을 확인하세요. 업데이트 전 목록을 기록하고 조건을 저장한 뒤 해당 그룹을 다시 업데이트하고, 필터를 지워 결과를 비교합니다. 실제 적용 범위를 파악한 다음에 복잡한 조건을 조합하세요.

입력란에서 정규식을 지원한다고 명시한 경우에는 아래 패턴으로 이름에 포함된 두 가지 용도 표현을 찾을 수 있습니다. 세로줄은 ‘또는’, 괄호는 그룹을 나타냅니다. 일반 텍스트만 지원하는 입력란에 정규식을 붙여 넣어도 같은 결과가 나오지 않습니다. 이름은 구독 제공처가 정하므로 업데이트 때 바뀔 수 있습니다. 지역 약칭, 배율 표기, 프로토콜명도 표기 방식이 일정하지 않을 수 있으므로 필터 조건은 넉넉하게 설정하세요.

이름 필터 · 정규식 예시
(일상|예비)

입력란이 ‘일치 항목 유지’ 방식인지 ‘일치 항목 제외’ 방식인지 먼저 확인하세요. 같은 표현식도 모드에 따라 결과가 정반대로 달라집니다. 목록이 비어 있으면 클라이언트를 바로 다시 설치하지 마세요. 필터를 지우고 모든 그룹을 선택한 뒤 검색어를 비우고, 소스 하나만 업데이트하세요. 항목이 다시 나타난다면 문제는 서버 연결 설정이 아니라 표시 또는 필터 계층에 있습니다.

업데이트와 수동 수정

구독 항목은 보통 원격 데이터로 다시 생성됩니다. 주소, 포트, 전송 설정을 직접 수정하면 다음 업데이트 때 원래 값으로 돌아갈 수 있습니다. 오래 유지해야 하는 변경 사항은 항목을 별도로 복사해 다른 이름으로 저장하고, 복사 날짜와 용도를 함께 기록하세요. 이렇게 하면 구독 업데이트를 계속 받으면서도 어떤 항목이 구독 관리에서 분리되었는지 알 수 있어 새 설정이 이전 값으로 덮이는 일을 막을 수 있습니다.

Android의 v2rayNG와 v2flyNG에서도 소스별로 구독을 관리하세요. QR 코드 가져오기는 단일 설정에 적합하고, 구독 가져오기는 이후 일괄 업데이트에 적합합니다. 두 방식은 데이터 관리 관계가 다릅니다. 다른 기기에서 옮겨 올 때는 내보낸 항목이 단일 연결인지, 구독 주소인지, 앱 전체 설정인지 먼저 확인한 뒤 알맞은 가져오기 메뉴를 선택하세요. 서로 다른 형식을 반복해서 시도하지 마세요.

업데이트에 실패하면 현재 사용 가능한 항목을 먼저 보존한 뒤 시스템 시간, 구독 만료 여부, 업데이트 요청에 기존 프록시가 필요한지 확인하세요. 일부 클라이언트는 현재 프록시를 통해 업데이트할 수 있지만, 다른 클라이언트는 직접 연결을 사용합니다. 현재 네트워크에서 접속 가능한 방법으로 그룹 하나를 업데이트해 성공을 확인한 뒤 자동 업데이트를 고려하세요. 아직 검증되지 않은 연결 하나에 모든 소스를 의존하게 하지 마세요.

정리를 마친 뒤 항목 하나를 테스트 기준으로 선택하고 자동 전환이나 복잡한 필터는 잠시 꺼 두세요. 먼저 일반 시스템 프록시에서 연결이 작동하는지 확인한 다음 라우팅과 DNS 설정을 살펴보세요. 소스 관리는 ‘설정이 어디서 오는가’를, 연결 테스트는 ‘설정이 작동하는가’를 확인합니다. 두 항목을 따로 기록해야 이후 문제 범위를 좁힐 수 있습니다.

02 / 매칭 및 아웃바운드

라우팅 규칙 실전

매칭 순서와 규칙 조건

라우팅 규칙은 순서대로 확인하며, 처음 일치한 규칙이 아웃바운드를 결정합니다. 구체적인 예외는 포괄적인 규칙보다 앞에 두고, 기본 규칙은 마지막에 배치하세요. 모든 포트를 먼저 프록시로 보내면 뒤에 있는 사설 주소 직접 연결 규칙은 적용되지 않습니다. 설정을 바꾸기 전에 어떤 대상은 직접 연결하고, 어떤 대상은 프록시를 사용하며, 어떤 대상은 차단할지 정리한 뒤 그 목록을 순서가 있는 규칙으로 옮기세요.

하나의 규칙에서 서로 다른 유형의 조건은 보통 모두 충족해야 합니다. 같은 도메인 배열 안의 여러 항목은 일반적으로 그중 하나만 일치해도 됩니다. 예를 들어 도메인과 포트를 함께 지정하면 해당 도메인이면서 지정한 포트를 사용하는 경우를 뜻하며, 도메인 또는 포트라는 뜻이 아닙니다. 두 조건을 각각 독립적으로 적용하려면 규칙을 나누세요. 조건 간 관계를 잘못 이해한 문제는 화면에서 오타를 찾는 것보다 발견하기 어렵습니다.

자주 사용하는 도메인 표기에서 full:example.com은 도메인 전체와 일치하고, domain:example.com은 해당 도메인과 하위 도메인에 일치합니다. 일반 문자열이나 정규식은 범위가 더 넓어 이름이 비슷한 대상까지 잘못 매칭할 수 있습니다. 전체 도메인으로 예외를 지정할 수 있다면 모호한 키워드부터 사용하지 마세요. 도메인 자체에는 프로토콜, 경로, 웹페이지 매개변수가 포함되지 않습니다.

최소 라우팅 규칙 예시

아래 예시는 사설 주소와 중국 본토에서 흔히 사용하는 도메인·주소 대역을 직접 연결하고, 그 밖의 TCP 및 UDP 트래픽은 프록시로 보내는 규칙 구조를 보여 줍니다. 이 객체를 기본 설정의 routing 계층에 병합하세요. 예시는 사용할 수 있는 Geo 데이터 파일과 direct, proxy라는 아웃바운드가 이미 있다고 가정합니다. 태그는 이름 규칙일 뿐, 해당 연결을 자동으로 생성하지 않습니다.

기본 설정 · routing
{
  "routing": {
    "domainStrategy": "IPIfNonMatch",
    "rules": [
      {
        "type": "field",
        "ip": ["geoip:private"],
        "outboundTag": "direct"
      },
      {
        "type": "field",
        "domain": ["geosite:cn"],
        "outboundTag": "direct"
      },
      {
        "type": "field",
        "ip": ["geoip:cn"],
        "outboundTag": "direct"
      },
      {
        "type": "field",
        "network": "tcp,udp",
        "outboundTag": "proxy"
      }
    ]
  }
}

IPIfNonMatch는 도메인 규칙이 일치하지 않을 때 IP를 해석한 뒤 IP 규칙을 계속 확인하도록 합니다. 그렇다고 모든 앱 요청에 도메인 정보가 포함되는 것은 아니며, 최종 아웃바운드가 해당 해석 결과를 반드시 사용하는 것도 아닙니다. 요청에 대상 IP만 있으면 도메인 규칙은 적용되지 않을 수 있습니다. 도메인 정보를 복원하려면 인바운드 스니핑 등 다른 방법을 함께 사용해야 하며, 도메인 목록만 늘려서는 해결할 수 없습니다.

Geo 규칙의 효과는 데이터 파일과 분류 방식에 따라 달라집니다. 하나의 서비스가 여러 도메인과 콘텐츠 전송 주소, 외부 리소스를 함께 사용할 수 있으므로 홈페이지가 직접 연결된다는 이유만으로 서비스 전체가 직접 연결된다고 볼 수는 없습니다. 특정 서비스에 예외를 추가하려면 실제 요청 대상을 확인한 뒤 필요한 도메인만 하나씩 추가하세요. 공용 클라우드 주소 대역 전체를 직접 연결에 넣으면 정책 범위가 지나치게 넓어질 수 있습니다.

규칙 검증

테스트 대상예상 동작먼저 확인할 항목
LAN 기기직접 연결 아웃바운드로 접속사설 주소 규칙 및 로컬 라우팅
명시적으로 지정한 도메인 예외지정한 태그에 매칭도메인 표기 및 규칙 순서
목록에 없는 일반 대상기본 아웃바운드로 전달마지막 규칙 및 태그

한 번에 규칙 한 묶음만 변경하고, 같은 테스트 대상을 사용해 변경 전후를 비교하세요. 브라우저 캐시, 연결 재사용, 앱의 백그라운드 프로세스 때문에 기존 연결이 계속 동작할 수 있습니다. 저장한 뒤 코어를 재시작하고 관련 앱의 기존 연결을 종료하세요. 로그에서는 대상 도메인, 대상 주소, 아웃바운드 태그를 확인합니다. 연결이 성공했다는 사실만으로 의도한 규칙에 일치했다고 판단하면 안 됩니다.

광고 분류 차단은 별도의 첫 번째 규칙으로 둘 수 있지만, 모든 리소스를 큰 범주 단위로 차단하는 것이 적절한 것은 아닙니다. 활성화한 뒤 로그인, 결제, 인증 코드에 문제가 생기면 해당 규칙을 먼저 꺼서 재검사한 다음 필요한 도메인 예외를 더 앞에 추가하세요. 차단에는 차단 아웃바운드가 필요하며, 보통 blackhole 프로토콜을 사용합니다. block이라는 태그만 적어 둔다고 차단 기능이 작동하지는 않습니다.

‘시스템 프록시 모드’와 ‘코어 라우팅 모드’도 구분해야 합니다. 전자는 앱이 요청을 클라이언트로 보낼지 결정하고, 후자는 전달받은 요청을 어떻게 전송할지 결정합니다. 클라이언트에 들어오지 않은 트래픽은 위 규칙의 적용을 받지 않습니다. 두 계층의 관계는 시스템 프록시와 라우팅 모드 자세히 알아보기를 참고하세요. 문제를 해결할 때는 먼저 트래픽이 어디로 들어오는지 확인해야 합니다.

03 / 도메인 이름 해석

DNS 설정 최적화

DNS 요청 경로

DNS 최적화는 응답 속도보다 경로의 일관성을 먼저 확인해야 합니다. 한 번의 접속에도 시스템 리졸버, 브라우저 내장 암호화 DNS, 클라이언트 DNS, 원격 서버의 DNS 해석이 차례로 관여할 수 있습니다. 누가 조회를 보내고, 어떤 아웃바운드로 전달되며, 결과를 누가 사용하는지 알아야 변경 효과를 판단할 수 있습니다. 서버 주소 하나만 바꿔서는 전체 DNS 경로를 제어하기 어렵습니다.

시스템 프록시는 주로 프록시 설정을 따르는 앱 요청을 전달하며, 시스템 DNS까지 반드시 가로채지는 않습니다. 브라우저는 도메인을 프록시에 바로 전달할 수도 있고 먼저 직접 해석할 수도 있습니다. 다른 프로그램은 지정된 DNS 주소로 직접 요청을 보낼 수도 있습니다. 따라서 클라이언트에 DNS를 입력했다고 해서 기기의 모든 조회가 그 서버를 사용하는 것은 아닙니다. 브라우저 설정, 시스템 네트워크 설정, 클라이언트의 가로채기 범위를 각각 확인하세요.

원격 DNS와 직접 연결 DNS의 구분은 라우팅 목표에 맞춰야 합니다. 직접 연결할 리소스는 현재 네트워크에서 접근 가능한 리졸버를 사용하는 것이 일반적이고, 프록시 대상은 DNS 요청이 의도한 경로로 전달되는지 확인해야 합니다. 암호화 DNS 서버를 도메인 주소로 지정했다면 서버 주소 자체를 먼저 해석해야 합니다. 이를 부트스트랩 DNS라고 하며, 경로가 잘못되면 리졸버가 자기 자신의 주소를 해석하기를 기다리는 의존 문제가 생길 수 있습니다.

코어 DNS 설정 예시

아래는 기본 설정에 들어가는 부분 dns 객체입니다. 중국 본토 도메인은 지정한 서버에 우선 전달하고, 나머지 조회에는 DoH 주소를 사용합니다. 도메인별로 리졸버를 할당하는 구조를 설명하는 예시이며 모든 네트워크에 적합하다고 보장하지는 않습니다. DoH 요청의 아웃바운드는 실제 코어와 설정에 따라 달라지므로 라우팅과 로그를 확인해야 합니다. 주소 접두사만 보고 반드시 프록시를 거친다고 판단하지 마세요.

기본 설정 · dns
{
  "dns": {
    "queryStrategy": "UseIPv4",
    "servers": [
      {
        "address": "223.5.5.5",
        "domains": ["geosite:cn"]
      },
      "https://1.1.1.1/dns-query"
    ]
  }
}

domains는 해당 서버에서 우선 처리할 도메인 범위를 지정하지만, 조회 실패 후 동작은 폴백 옵션과 코어 구현에도 영향을 받습니다. 이를 엄격한 네트워크 격리 정책으로 이해해서는 안 됩니다. 특정 조회가 다른 리졸버로 절대 전달되지 않도록 해야 한다면 현재 코어가 지원하는 폴백 필드와 실패 동작, 실제 네트워크 경로를 확인한 뒤 규칙을 설계하세요. 이 예시만 남겨서는 충분하지 않습니다.

여기서 queryStrategy는 코어 DNS의 조회 방식을 제한합니다. 운영체제의 IPv6를 끄거나 모든 앱이 다른 레코드를 직접 조회하는 것을 막지는 않습니다. IPv4를 선택하면 듀얼 스택 문제를 분리해 테스트할 수 있지만, 일반적인 속도 향상 옵션은 아닙니다. 현재 네트워크와 서버에서 IPv6가 정상 작동한다면 별도로 검증한 뒤 유지 여부를 결정하세요. 관련 문제를 장기간 숨겨 두지 마세요.

캐시 및 단계별 확인

DNS 설정을 바꾼 뒤에도 기존 결과가 시스템, 브라우저, 앱, 코어 캐시에 남아 있을 수 있습니다. 대상 앱을 종료하고 클라이언트를 재시작한 다음 시스템에서 제공하는 방법으로 캐시를 갱신하세요. 비교할 때는 같은 도메인을 사용하고 해석 결과와 실제 연결 주소를 기록합니다. 웹페이지를 한 번 새로고침한 것만으로 새 설정이 적용됐다고 판단하지 마세요. 페이지 리소스가 로컬 캐시에서 제공되거나 기존 연결이 재사용될 수 있습니다.

‘IP 주소로는 접속되지만 도메인으로는 열리지 않는’ 경우 먼저 DNS를 확인하세요. ‘도메인은 해석되지만 연결에 실패하는’ 경우에는 라우팅과 원격 연결을 이어서 점검해야 합니다. DNS 해석 성공은 주소를 얻었다는 뜻일 뿐, 현재 네트워크 경로에 적합한 주소라는 뜻은 아닙니다. 일부 서비스는 리졸버의 위치에 따라 다른 접속 주소를 반환합니다. 직접 연결 DNS의 결과를 원격 아웃바운드에서 사용하면 불필요한 우회나 연결 실패가 생길 수 있습니다.

브라우저에서만 문제가 생긴다면 브라우저의 사용자 지정 보안 DNS를 잠시 끄고 시스템 설정을 따르도록 바꿔 비교하세요. 특정 앱에서만 문제가 생긴다면 별도의 DNS를 사용하거나 고정 주소에 접속하는지 확인합니다. 테스트를 마친 뒤 최종 정책을 결정하세요. 임시로 끄는 것은 문제 범위를 좁히기 위한 절차이지, 모든 네트워크에서 같은 DNS 방식을 사용하라는 뜻은 아닙니다.

클라이언트의 ‘원격 DNS’, ‘직접 연결 DNS’ 같은 입력란은 설정 생성기를 통해 여러 코어 객체로 변환될 수 있습니다. 우선 같은 입력 화면에서 설정을 마치고, 사용자 지정 JSON에 반대되는 설정을 중복해서 작성하지 마세요. 수동으로 확장해야 한다면 최종 생성 파일을 확인해 객체가 중복되거나 덮어쓰이지 않는지 점검한 뒤, 적용된 변경 사항을 별도의 기록에 남기세요.

04 / 트래픽 진입점

TUN 모드

시스템 프록시와 가상 네트워크 어댑터

TUN 모드는 가상 네트워크 인터페이스를 통해 라우팅 대상 IP 트래픽을 처리 경로로 전달하므로 시스템 프록시를 따르지 않는 앱에 적합합니다. 트래픽 진입 범위를 넓히는 기능이지 원격 서버, 프로토콜 매개변수, DNS 설정을 자동으로 수정하는 기능은 아닙니다. 일반 시스템 프록시에서 연결이 정상 작동하지 않는다면 먼저 기본 연결을 해결한 뒤 TUN을 켜세요. 그렇지 않으면 여러 설정 계층이 동시에 실패해 원인을 찾기 어려워집니다.

v2rayN의 TUN 기능은 클라이언트가 별도의 네트워크 구성 요소를 실행해 구현할 수 있습니다. 따라서 화면의 TUN 옵션이 Xray 기본 설정에 고정된 필드를 추가한다고 이해하면 안 됩니다. 실제 진입점과 라우팅, DNS 가로채기 방식은 클라이언트가 사용하는 구성 요소에 따라 다릅니다. 수동 설정 전에 설정 파일이 어떤 구성 요소에 속하는지 확인하고, 서로 다른 구현의 네트워크 어댑터 필드를 하나의 JSON 객체에 섞지 마세요.

Android의 v2rayNG와 v2flyNG는 시스템 VPN 인터페이스를 통해 트래픽을 가로채며, 연결 요청을 사용자가 승인해야 합니다. 상태 표시줄에 VPN 아이콘이 보인다는 것은 인터페이스가 만들어졌다는 뜻이지 원격 연결이 작동한다는 뜻은 아닙니다. 데스크톱과 Android는 진입점 구현, 권한, 앱 필터링 기능이 다릅니다. 한 플랫폼의 스위치 설정을 그대로 옮기지 말고 라우팅 목표와 검증 방법만 적용하세요.

활성화 순서와 권한

활성화하기 전에 현재 작동하는 설정을 저장하고 기본 경로를 변경하는 다른 네트워크 도구를 끈 다음, 클라이언트에 필요한 권한을 부여하세요. 데스크톱에서는 관리자 권한, 백그라운드 서비스, 가상 네트워크 어댑터 구성 요소가 필요할 수 있습니다. 구체적인 요구 사항은 클라이언트 안내를 따르세요. 한 번의 테스트를 위해 보안 기능을 계속 꺼 두지 말고, 필요한 권한을 확인한 뒤 클라이언트가 지원하는 방법으로 승인하세요.

첫 테스트에서는 검증된 원격 연결 하나, 단순한 라우팅, 명확한 DNS 경로만 사용하세요. 시작 후 가상 인터페이스가 생성됐는지, 예상한 라우팅 경로가 설정됐는지, 일반 앱에서 대상에 접속할 수 있는지 확인합니다. 시스템 프록시에서는 작동하지만 TUN에서만 실패할 때는 진입점 구성 요소, 권한, 라우팅 가로채기를 집중적으로 살펴보세요. 모든 구독을 다시 가져올 필요는 없습니다.

플랫폼중점 점검 항목흔한 충돌
Windows권한, 가상 인터페이스, 라우팅 우선순위다른 가상 네트워크 어댑터 및 보안 소프트웨어 정책
macOS / Linux서비스 권한, 인터페이스, DNS 상태시스템 네트워크 관리자 또는 기존 터널
AndroidVPN 권한, 앱 적용 범위, 백그라운드 실행다른 VPN 서비스가 시스템 인터페이스를 사용 중

라우팅 루프 및 LAN

클라이언트에서 원격 서버로 연결할 때 해당 트래픽이 다시 자체 TUN에 가로채이지 않도록 해야 합니다. 그렇지 않으면 라우팅 루프가 발생할 수 있습니다. 자동 라우팅은 보통 출구 보호나 예외 규칙을 설정하지만, 라우팅을 수동으로 추가하면 이 관계가 깨질 수 있습니다. 시작 직후 전체 네트워크가 끊기면 먼저 TUN을 끄고 네트워크가 복구되는지 확인한 뒤 서버로 나가는 경로와 기본 경로를 살펴보세요. 전역 규칙을 더 추가하지 마세요.

LAN 프린터, 공유 폴더, 관리 페이지는 별도로 확인해야 합니다. 사설 주소 직접 연결 규칙은 코어에 들어온 트래픽만 제어합니다. 트래픽이 가상 인터페이스로 들어오는지는 시스템 라우팅에 달려 있습니다. LAN에 접속할 수 없다면 두 계층을 모두 확인하세요. 시스템에 올바른 LAN 경로가 있는지, 클라이언트가 트래픽을 받은 뒤 직접 연결 아웃바운드를 선택하는지 점검합니다.

UDP, 실시간 통신, 일부 게임 트래픽은 서버 기능, 네트워크 제한, TUN 구성 요소의 지원 여부에도 영향을 받습니다. 웹페이지가 열리지만 특정 앱이 작동하지 않는다고 해서 모드 전체가 실패했다고 단정할 수는 없습니다. 앱의 전송 유형과 앱 필터에서 제외되었는지 확인한 다음, 아웃바운드가 필요한 기능을 지원하는지 점검하세요. 웹사이트 하나만 테스트해 실제 앱의 작동 여부를 대신 판단하지 마세요.

MTU는 가상 인터페이스가 전송하는 패킷 크기에 영향을 줍니다. 특정 사이트가 멈추거나 큰 요청이 실패하거나 연결 후 응답이 끊기는 경우에만 점검 항목에 포함하세요. 먼저 클라이언트 기본값을 사용하고 변경 전후의 동작을 기록합니다. 네트워크, 터널 캡슐화, 경로 조건이 다를 수 있으므로 온라인에서 본 숫자를 무작정 적용하지 마세요.

시스템 프록시도 함께 켤지는 마지막에 결정하세요. 두 진입점이 동시에 있어도 문제가 없을 수 있지만, 앱이 실제로 어떤 경로를 사용하는지 파악하기 어려워집니다. 테스트할 때는 한 번에 하나의 진입점만 사용하세요. 안정화된 뒤 앱 요구 사항에 맞춰 조합할 수 있습니다. 전역 모드, 중국 본토 우회, 트래픽 진입 설정의 차이는 모드 선택 가이드와 함께 확인하세요.

05 / 도메인 매핑

FakeDNS

가상 주소와 원래 도메인

FakeDNS는 도메인에 주소 풀의 가상 주소를 반환하고 내부에 주소와 도메인의 매핑을 저장합니다. 이후 앱이 해당 가상 주소에 연결하면 연동된 진입점이 원래 도메인을 복원해 라우팅과 아웃바운드로 전달합니다. FakeDNS는 공용 리졸버가 아니며 대상 웹사이트의 주소를 새로 만드는 기능도 아닙니다. 도메인 정보를 유지해 로컬에서 실제 주소를 해석하는 과정이 이후 라우팅 판단에 미치는 영향을 줄이는 데 목적이 있습니다.

이 방식은 DNS 조회와 연결이 같은 제어 경로를 따라야 합니다. DNS 조회만 FakeDNS로 보내고 이후 연결은 클라이언트를 우회하면 앱이 실제 서버 주소가 아닌 가상 주소에 직접 접속하려고 합니다. 반대로 연결은 진입점으로 들어오더라도 조회를 브라우저의 별도 암호화 DNS가 처리하면 클라이언트에 매핑이 생성되지 않아 도메인을 예상대로 복원할 수 없습니다.

따라서 FakeDNS를 일반 DNS 주소처럼 시스템에 입력하지 마세요. 클라이언트와 진입점 구성 요소가 해당 모드를 명시적으로 지원하는지 확인한 뒤, 같은 구현에 맞춰 DNS 가로채기, 주소 풀 라우팅, 매핑 복원을 설정하세요. v2rayN이 실행하는 TUN 구성 요소는 자체 가상 주소 기능을 사용할 수 있습니다. 기능 이름이 비슷하다는 이유로 코어의 다른 FakeDNS까지 함께 켜지 마세요.

Xray 부분 설정

아래는 Xray의 관련 설정 계층 세 가지를 보여 줍니다. 최상위 주소 풀, DNS 서버 목록, 대상 인바운드에 병합할 스니핑 객체입니다. 주소 풀에는 테스트용으로 예약된 주소 대역을 사용하며 공용 인터넷의 목적지 주소가 아닙니다. 이 예시는 투명 인바운드를 만들거나 시스템 경로를 추가하지 않습니다. 관련 조건이 빠진 상태에서 복사해도 기기 전체에 FakeDNS 기능이 자동으로 적용되지 않습니다.

기본 설정 · 주소 풀 및 DNS
{
  "fakedns": [
    {
      "ipPool": "198.18.0.0/15",
      "poolSize": 65535
    }
  ],
  "dns": {
    "servers": ["fakedns"]
  }
}
대상 inbound · sniffing 병합
{
  "sniffing": {
    "enabled": true,
    "destOverride": ["fakedns"],
    "routeOnly": false
  }
}

ipPool은 가상 주소 범위를 정의하고, poolSize는 매핑 풀의 용량을 지정합니다. 풀 안의 주소는 식별을 위한 값일 뿐, 실제 원격 주소처럼 직접 연결 아웃바운드에 전달해서는 안 됩니다. 설정 전에 기존 LAN, 다른 터널, 테스트 네트워크가 같은 범위를 사용하는지도 확인하세요. 주소 범위가 충돌하면 일부 연결이 물리 인터페이스나 다른 가상 인터페이스로 잘못 전달될 수 있습니다.

destOverride의 fakedns는 매핑을 이용해 목적지를 복원합니다. 여기서는 routeOnly: false를 명시했습니다. 라우팅 판단에만 사용하고 가상 주소를 실제 연결 대상으로 유지하면 이 예시의 목적을 달성할 수 없습니다. 일반 HTTP 또는 TLS 스니핑과 FakeDNS 매핑은 서로 다른 방식입니다. 필드 이름이 비슷하다는 이유만으로 서로 대체하지 마세요.

호환성 및 문제 해결

활성화한 뒤 일반 도메인 하나의 해석 결과가 설정한 풀에 포함되는지 확인하고, 연결 시 도메인이 올바르게 복원되는지 살펴보세요. 결과가 여전히 실제 공인 주소라면 DNS 조회가 대상 경로로 들어오는지 확인합니다. 가상 주소를 받았지만 연결에 실패한다면 주소 풀 트래픽이 연동된 진입점으로 되돌아오는지, 진입점이 같은 매핑 상태를 사용하는지 먼저 점검하세요.

일부 프로그램은 주소 유형을 로컬에서 확인해 예약 주소를 거부하거나 해석 결과를 다른 기기에 전달합니다. 이런 환경에서는 FakeDNS가 적합하지 않을 수 있습니다. LAN 기기 검색, 실제 주소가 필요한 서비스, 특정 네트워크 진단 도구에는 클라이언트가 지원하는 방식으로 실제 DNS 예외를 설정하세요. 예외는 DNS와 라우팅을 모두 처리해야 합니다. 가상 주소 범위만 직접 연결로 지정해서는 해결되지 않습니다.

재시작 후에도 시스템이나 앱이 이전 가상 주소를 캐시하고 있을 수 있지만, 새 프로세스의 매핑 테이블은 이미 바뀌었을 수 있습니다. 이로 인해 ‘처음에는 작동했는데 재시작 후 일부 기능이 실패’하는 현상이 생깁니다. 관련 캐시를 지우고 대상 앱을 재시작한 뒤 설정 오류인지 판단하세요. 이전 가상 주소를 장기적인 hosts 항목으로 저장하거나 서비스의 고정 접속 주소로 사용하지 마세요.

일반 DNS와 도메인 스니핑만으로 라우팅 요구 사항을 충족한다면 설정을 늘리기 위해 FakeDNS를 켤 필요는 없습니다. FakeDNS는 도메인 정보를 유지해야 하는 명확한 문제를 해결하는 기능이지 모든 네트워크의 기본 최적화가 아닙니다. 앱 하나로 효과와 호환성을 먼저 확인하고, 쉽게 복구할 수 있는 설정 사본을 보관한 뒤 적용 범위를 단계적으로 넓히세요.

06 / 소스 및 수명 주기

다중 구독 관리

소스·용도·테스트 기준

구독을 여러 개 관리하는 목적은 모든 항목을 긴 목록 하나로 섞는 것이 아니라, 소스를 추적하고 업데이트 후 복구할 수 있게 하는 것입니다. 소스별로 그룹을 나누고 이름이나 메모에 용도를 표시하세요. 일상 사용, 임시 테스트, 예비 연결은 업데이트 일정을 다르게 설정할 수 있지만 용도 이름이 품질을 보장하지는 않습니다. 각 소스의 현재 사용 가능 여부를 따로 확인해야 합니다.

새 소스를 추가할 때는 별도로 가져와 수동 업데이트를 한 번 수행하고, 바로 기본 연결로 설정하지 마세요. 프로토콜 유형, 서버 주소, 필수 전송 필드를 현재 클라이언트가 인식하는지 확인한 뒤 설정 하나로 기본 테스트를 진행합니다. 소스의 출력 형식이 현재 클라이언트와 맞지 않으면 여러 사본을 반복해서 가져오기보다 적합한 구독 형식을 요청하세요.

여러 소스에 같은 이름의 항목이 있다고 반드시 중복인 것은 아닙니다. 같은 표시 이름이라도 주소, 포트, 전송 방식, 인증 정보가 다를 수 있고, 같은 주소에서 여러 서비스가 제공될 수도 있습니다. 중복을 정리할 때는 실제 연결 매개변수를 비교하고 소스 관계를 보존하세요. 이름만 보고 일괄 삭제하면 예비 설정을 지울 수 있고, 주소만 보고 합치면 용도가 다른 연결이 하나로 섞일 수 있습니다.

업데이트 정책

자동 업데이트는 수동 업데이트가 안정적으로 작동하는 것을 확인한 뒤 설정해야 합니다. 각 그룹에서 사용할 업데이트 경로를 확인하고 업데이트 주기를 정하세요. 소스에 변경이 없는데 자주 요청하면 실익이 거의 없고 접근 제한이 걸릴 수 있습니다. 클라이언트가 그룹별 옵션을 지원한다면 그룹을 분리해 관리하세요. 이렇게 하면 한 소스의 실패가 전체 업데이트를 막거나, 중요한 설정이 일괄 정리 과정에서 사라지는 일을 줄일 수 있습니다.

업데이트 전에 현재 기본 연결의 소스와 실제 매개변수 특징을 기록하세요. 원격 제공처에서 항목 이름을 바꾸거나 삭제하거나 교체할 수 있고, 클라이언트에 저장된 선택 정보도 달라질 수 있습니다. 업데이트가 끝나면 현재 연결이 의도한 항목을 가리키는지 확인하고 자주 사용하는 앱을 테스트하세요. ‘업데이트 성공’ 메시지만 확인하고 관리를 끝내지 마세요. 이 메시지는 보통 다운로드와 해석이 완료됐다는 뜻일 뿐입니다.

업데이트에 필요한 네트워크 경로도 관리 계획에 포함해야 합니다. 모든 구독이 현재 프록시로만 업데이트된다면 그 연결이 끊겼을 때 대체 설정을 가져오지 못할 수 있습니다. 검증된 별도 예비 항목을 보관하고 자동 업데이트 대상이 아니라는 점을 명확히 표시하세요. 예비 연결도 영구적으로 유효한 것은 아니므로 주기적으로 수동 테스트해야 합니다. 만료된 항목을 목록에 남겨 두는 것만으로는 복구 수단이 되지 않습니다.

기록할 내용용도주의 사항
소스 및 그룹 이름업데이트 및 형식 문제 파악민감한 전체 링크는 기록하지 않기
업데이트 경로직접 연결 또는 프록시 요청 여부 명시검증 후 자동화
수동 수정 항목소스 데이터와 로컬 변경 구분업데이트 시 덮어쓰기 여부 기록
복구 설정검증된 기본 연결 복원정기적으로 계속 사용할 수 있는지 확인

기기 이전 및 민감 정보

새 기기로 옮길 때는 먼저 클라이언트가 지원하는 방법으로 설정을 내보내고, 서버 데이터·구독 주소·전체 설정을 구분하세요. 전체 백업에는 계정 인증 정보, 로컬 수신 주소, 사용자 지정 라우팅이 포함될 수 있으므로 일반 문서처럼 공유해서는 안 됩니다. 이전 전에 필요한 설정을 기록하고, 이전 후 권한과 시스템 연동을 다시 확인하세요. 데이터를 복사한다고 모든 시스템 상태까지 자동으로 옮겨지는 것은 아닙니다.

데스크톱과 Android 간 이전은 기능 차이에 특히 주의해야 합니다. 서버 연결 매개변수는 공통으로 사용할 수 있지만 앱 필터, VPN 권한, TUN 구성 요소, 파일 경로는 그대로 공유할 수 없습니다. 먼저 연결 데이터를 가져온 뒤 새 플랫폼에 맞게 진입점과 라우팅을 다시 설정하세요. 사용자 지정 파일 전체를 그대로 옮기면 경로 참조와 구성 요소 필드가 맞지 않아 시작에 실패할 수 있습니다.

이전 소스를 정리하기 전에 기본 연결, 규칙 참조, 수동 복사본이 여전히 해당 소스에 의존하는지 확인하세요. 구독 그룹을 삭제하기 전에 필요한 설정을 보존하고, 삭제한 뒤 목록과 현재 선택 항목을 점검합니다. 구독 주소가 공개 화면이나 오류 보고서에 노출된 적이 있다면 제공처의 계정 기능으로 주소를 변경하세요. 로컬에서 그룹을 삭제해도 이미 유출된 주소는 무효화되지 않습니다.

마지막으로 ‘구독 업데이트’와 ‘서버 전환’을 별개의 작업으로 생각하세요. 전자는 설정 데이터를 갱신하고 후자는 현재 연결을 선택합니다. 둘을 동시에 실행할 필요는 없습니다. 자동 업데이트 후 앱에 문제가 생기면 기본 항목이 바뀌었는지 먼저 확인한 다음 연결 매개변수가 달라졌는지 살펴보세요. 이 순서대로 점검하면 원격 항목 변경을 DNS나 라우팅 규칙 문제로 오해하지 않을 수 있습니다.

07 / 출구 구성

사용자 지정 아웃바운드

태그와 프로토콜 객체

아웃바운드는 트래픽을 받은 뒤 다음 연결을 어떻게 만들지 정의합니다. 라우팅의 outboundTag는 참조일 뿐이며 실제 아웃바운드 객체의 tag와 일치해야 합니다. 태그는 대소문자를 구분하므로 짧고 용도가 분명한 이름을 사용하세요. 존재하지 않는 태그를 가리키는 규칙을 추가해도 클라이언트가 연결을 자동 생성하지 않습니다. 시작 시 검사 또는 실제 전달 과정에서 오류가 날 수 있습니다.

클라이언트가 생성한 아웃바운드와 수동으로 추가한 아웃바운드를 구분하세요. v2rayN은 보통 현재 서버를 바탕으로 원격 연결 객체를 생성하며, 서버를 전환하면 객체가 다시 만들어질 수 있습니다. 임시 파일을 직접 편집하면 재시작 때 변경 사항이 사라질 수 있습니다. 클라이언트가 명시적으로 제공하는 사용자 지정 설정 메뉴를 사용하고, 기본 설정에 병합하는지, 대체하는지, 완전히 제어권을 넘기는지 확인하세요.

아래는 직접 연결, 차단, 로컬의 다른 SOCKS 서비스로 전달하는 아웃바운드의 독립적인 예시입니다. 원격 서버의 인증 정보는 포함하지 않습니다. 지정한 주소에서 해당 로컬 서비스가 실제로 수신 대기 중이고 현재 진입점 자체는 아니라고 가정합니다. 복사하기 전에 수신 포트를 확인하세요. 트래픽이 같은 처리 경로로 다시 전달되어 루프가 생길 수 있습니다.

기본 설정 · outbounds
{
  "outbounds": [
    {
      "tag": "direct",
      "protocol": "freedom",
      "settings": {}
    },
    {
      "tag": "block",
      "protocol": "blackhole",
      "settings": {}
    },
    {
      "tag": "local-socks",
      "protocol": "socks",
      "settings": {
        "servers": [
          {
            "address": "127.0.0.1",
            "port": 10810
          }
        ]
      }
    }
  ]
}

freedom은 코어가 실행되는 네트워크를 통해 직접 연결한다는 뜻이지, 이 기기의 다른 모든 네트워크 도구를 우회한다는 뜻은 아닙니다. 시스템 기본 경로가 이미 다른 터널을 가리키면 직접 연결 아웃바운드도 그 터널을 거칠 수 있습니다. 실제 출구를 판단할 때는 운영체제 라우팅과 클라이언트 로그를 함께 확인하세요. 태그 이름이 direct라고 해서 물리 네트워크를 사용한다고 단정하지 마세요.

blackhole은 일치한 트래픽을 버리는 데 사용합니다. 차단 아웃바운드는 연결할 필요가 없는 대상을 명확히 지정할 때 적합하지만 설정 오류를 해결하기 위한 기본 수단으로 사용해서는 안 됩니다. 서비스가 작동하지 않으면 차단 규칙에 잘못 일치했는지 먼저 확인한 뒤 매칭 범위를 조정하세요. 요청이 조용히 실패하면 오래 기다리는 것처럼 보일 수 있으므로 문제 해결 시 차단 규칙을 따로 점검해야 합니다.

규칙 연결 및 기본 출구

아래 규칙은 문서 예시 도메인을 로컬 SOCKS 아웃바운드로 전달합니다. 포괄적인 기본 규칙보다 앞에 넣으세요. 예시 도메인은 문법을 설명하기 위한 것이므로 실제 환경에서는 필요한 대상으로 바꾸세요. 서비스 범위가 넓다면 실제 요청을 바탕으로 도메인을 추가하세요. 모든 포트를 로컬 서비스로 넘기면 관련 없는 앱의 출구까지 바뀔 수 있습니다.

{
  "type": "field",
  "domain": ["full:example.com"],
  "outboundTag": "local-socks"
}

규칙에 일치하지 않으면 코어는 보통 기본 아웃바운드를 사용하며, 일반적인 설정에서는 아웃바운드 배열의 첫 항목과 관련이 있습니다. 위 예시의 첫 항목은 직접 연결이므로, 전체를 기존 설정에 그대로 붙여 넣고도 일치하지 않은 트래픽이 프록시를 이용한다고 가정해서는 안 됩니다. 기존 원격 객체를 보존하고 기본 동작을 명확히 지정하거나 배열 순서를 다시 확인해 최종 동작이 예상과 일치하게 하세요.

체인 연결의 범위

로컬 서비스로 전달하는 방식과 코어 내부의 체인 연결은 서로 다른 설정 방식입니다. 전자는 다른 수신 포트에 연결한 뒤 해당 서비스가 처리를 이어갑니다. 후자는 사용하는 코어가 지원하는 아웃바운드 조합 필드에 의존합니다. 코어마다 필드와 적용 계층이 다를 수 있으므로 한 구현의 전송 설정을 다른 구현에 복사하지 마세요. 클라이언트가 명시적으로 지원하고 동작을 확인하기 쉬운 방식을 우선 사용하세요.

전달 단계를 추가했다면 각 연결 구간을 따로 검증해야 합니다. 먼저 로컬 SOCKS 서비스가 독립적으로 작동하는지 확인하고, 코어가 해당 포트에 연결되는지 테스트한 뒤 규칙이 일치하는지 확인하세요. 앞 단계는 정상인데 전체 경로가 실패한다면 DNS 해석 위치, UDP 지원, 추가 캡슐화 필요 여부를 점검합니다. 원인을 알 수 없게 되므로 양쪽 설정을 동시에 바꾸지 마세요.

사용자 지정 아웃바운드가 안정적으로 작동하면 용도 설명, 태그 매핑, 복구 방법을 저장하세요. 민감한 연결 정보는 보호된 클라이언트 설정에 보관하고 일반 유지보수 문서에 복사하지 마세요. 필요한 규칙만 조정하고 구독을 바꿀 때마다 아웃바운드 전체를 다시 작성하지 마세요. 설정 소스와 출구 구성을 분리하면 업데이트와 복구를 제어하기 쉬워집니다.

08 / 호환성 및 검증

프로토콜·코어·설정 검증

클라이언트·코어·프로토콜

클라이언트는 화면, 구독 관리, 시스템 연동을 담당하고 코어는 설정을 해석해 연결을 처리합니다. Project V는 관련 기술 생태계의 출발점입니다. V2Fly와 Xray는 서로 다른 코어 계열이므로 둘 다 JSON을 사용한다는 이유만으로 설정 필드가 완전히 호환된다고 볼 수 없습니다. v2rayN의 실제 기능은 선택한 구성 요소에 따라 달라집니다. v2rayNG는 Xray를 기반으로 하고 v2flyNG는 V2Fly 코어를 대상으로 합니다.

코어를 선택할 때는 이름부터 비교하기보다 서버의 요구 사항을 확인하세요. VMess와 VLESS 등은 프로토콜 계층의 개념이고 TCP와 WebSocket 등은 전송 계층의 선택입니다. TLS와 REALITY는 서로 다른 보안 연결 방식입니다. 프로토콜, 전송 방식, 보안 매개변수, 흐름 제어를 함께 확인해야 합니다. 서버가 요구하는 항목을 클라이언트가 지원해야 하며, 이 중 하나만 따로 바꿀 수는 없습니다.

REALITY와 XTLS Vision을 모든 설정에서 켤 수 있는 범용 가속 옵션으로 이해해서는 안 됩니다. 해당 서버 설정과 코어 구현이 모두 필요하며 필드가 올바르더라도 조합이 맞지 않을 수 있습니다. 기존 설정으로 연결되지 않으면 서버가 제공한 전체 연결 요구 사항을 먼저 확인하고 클라이언트에서 어떤 코어를 사용하는지 점검하세요. 기술적 관계는 REALITY 및 XTLS Vision 안내를 참고하세요.

설정 생성 및 필드 호환성

코어를 바꾸기 전에 현재 작동하는 설정을 보존하고, 클라이언트 옵션과 실제 생성 파일의 대응 관계를 기록하세요. 일부 화면은 필드 선택을 허용하더라도 저장할 때 현재 구성 요소에 맞춰 변환하거나 무시할 수 있습니다. 사용자 지정 객체는 코어에 직접 전달될 수도 있습니다. 지원 여부는 화면에 비슷한 이름이 있는지만 보지 말고 생성 결과, 시작 로그, 실제 동작을 기준으로 판단하세요.

설정을 확인할 때는 문법, 구조, 네트워크 순서로 점검하세요. JSON의 불필요한 쉼표, 닫히지 않은 따옴표, 중복 키부터 처리해야 합니다. 구조에서는 필드가 올바른 객체에 있는지, 태그 참조와 파일 경로가 맞는지 확인하세요. 시작에 성공했다는 것은 설정이 받아들여졌다는 뜻일 뿐 모든 규칙이 예상대로 작동한다는 뜻은 아닙니다. 코어 간 차이는 Xray와 V2Fly 코어 비교에서 확인할 수 있습니다.

데스크톱 인터페이스 프레임워크를 선택하는 것만으로 코어를 판단할 수는 없습니다. v2rayN 데스크톱 버전과 클래식 WPF 버전의 차이는 주로 인터페이스, 플랫폼, 실행 종속성에 있습니다. 실제 프로토콜 기능은 사용하는 코어와 설정에 따라 달라집니다. 화면 메뉴만 다른 경우에는 같은 기능을 찾아 사용하고, 안내서의 화면을 그대로 따라 하려고 이미 작동하는 프로토콜을 바꾸지 마세요. 버전 차이는 데스크톱 버전과 WPF 버전의 차이를 참고하세요.

단계별 검증 및 복구

검증 순서를 정해 두세요. 먼저 일반 시스템 프록시에서 원격 연결을 확인하고, 사설 주소와 도메인 예외를 점검한 다음 DNS 경로를 검증하고 마지막으로 TUN과 FakeDNS를 활성화합니다. 계층을 하나 추가할 때마다 같은 앱과 대상을 사용해 다시 테스트하고, 이전 단계의 정상 상태를 보존하세요. 실패하면 마지막으로 변경한 항목만 되돌리면 되므로 모든 설정을 처음부터 다시 만들 필요가 없습니다.

로그는 같은 실패 요청을 중심으로 수집하세요. 발생 시각, 대상, 사용한 진입점을 기록한 뒤 전후 로그에서 DNS 해석, 규칙 매칭, 연결 오류를 확인합니다. 공유 전에 서버 인증 정보, 구독 주소, 불필요한 접속 기록을 가리세요. 관련 없는 로그를 대량으로 붙이면 민감 정보가 노출될 뿐 아니라 실제 문제와 관련된 몇 줄을 찾기 어려워집니다.

문제 유형은 가능한 한 구체적으로 분류하세요. ‘연결 안 됨’은 코어 시작 실패, 진입점에 트래픽이 들어오지 않음, DNS 해석 실패, 아웃바운드 연결 실패, 대상 앱의 응답 거부로 나눌 수 있습니다. 유형마다 확인할 위치가 다릅니다. 특정 앱에서만 문제가 생기면 같은 대상이 다른 앱에서는 작동하는지 먼저 확인하세요. 시스템 전체에서 문제가 생기면 인터페이스, 시스템 프록시, 기본 경로 같은 공통 계층부터 점검합니다.

규칙을 저장했는데도 동작이 바뀌지 않으면 무엇을 먼저 확인하나요?

먼저 현재 활성화된 설정을 수정했는지 확인하고 코어를 재시작한 뒤 앱의 기존 연결을 종료하세요. 다음으로 요청이 클라이언트에 들어오는지, 실제로 어떤 아웃바운드에 일치하는지 확인합니다. 마지막으로 더 앞에 있는 포괄적인 규칙이 새 규칙을 덮어쓰지 않는지 살펴보세요.

시스템 프록시에서는 작동하지만 TUN에서는 작동하지 않습니다. 구독을 바꿔야 하나요?

검증된 연결을 그대로 보존하세요. 먼저 권한, 가상 인터페이스, 출구 라우팅 루프, DNS 가로채기를 확인합니다. 로그에서 원격 연결 자체의 실패가 확인될 때만 서버 설정을 다시 점검하세요. 진입점 문제를 해결하는 동안 모든 소스를 한꺼번에 바꾸지 마세요.

코어를 바꾼 뒤 시작에 실패하면 어떻게 복구하나요?

기존 코어와 해당 설정을 복원해 기준 연결이 다시 작동하는지 확인하세요. 그런 다음 새 코어가 지원하는 프로토콜, 전송 방식, 사용자 지정 필드를 하나씩 확인하고 호환되지 않는 항목을 삭제하거나 수정합니다. 코어 이름만 바꾼 채 검증하지 않은 사용자 지정 설정 전체를 계속 사용하지 마세요.

이름을 명확히 붙인 상태 두 가지를 보관하세요. 하나는 최소 설정으로 작동하는 기준 상태이고, 다른 하나는 현재 고급 설정입니다. 두 상태의 차이, 활성화 조건, 복구 방법만 기록하면 되며 민감한 정보는 복사할 필요가 없습니다. 이후 네트워크나 소스, 구성 요소가 바뀌면 기준 상태로 기본 연결을 확인한 뒤 확장 기능을 복구하세요. 문제 해결 절차를 짧고 반복 가능하게 유지할 수 있습니다.