v2rayN, v2rayNG 또는 v2flyNG에서 라우팅 규칙을 사용하면서 직접 연결해야 할 사이트가 프록시로 연결되거나, 프록시 도메인이 잘못 직접 연결되거나, 광고 규칙이 불완전한 사용자를 위한 글입니다. GeoIP와 GeoSite의 매칭 단계를 구분하고, 클라이언트 내 업데이트와 수동 교체, 업데이트 후 검증 방법 및 주간 데이터 점검 주기를 익힐 수 있습니다.
GeoIP와 GeoSite은 각각 어떤 문제를 해결하나요?
V2Ray과 Xray의 라우팅 모듈은 요청 특성에 따라 아웃바운드를 선택합니다. 연결은 직접 연결, 프록시 또는 차단 아웃바운드로 보낼 수 있으며, 판단 기준은 일반적으로 도메인, 대상 IP, 포트, 네트워크 유형과 프로토콜입니다. GeoSite과 GeoIP은 노드 설정이 아니며 VMess, VLESS 등의 연결을 수립하지도 않습니다. 라우팅 규칙에서 조회하는 분류 데이터입니다.
geosite.dat에는 도메인 분류가 저장됩니다. 규칙의 geosite:cn, geosite:category-ads-all 같은 표기는 이 파일에서 해당 태그를 조회합니다. 클라이언트가 도메인을 받으면 먼저 GeoSite 매칭을 수행할 수 있으므로, 도메인 규칙은 일반적으로 대상 IP를 확인해야 하는 규칙보다 앞에 배치해야 합니다.
geoip.dat에는 IP 주소 대역 분류가 저장됩니다. geoip:private는 LAN 및 예약 주소를 식별하고, geoip:cn은 중국 본토로 분류된 주소 대역을 식별하는 데 사용됩니다. 도메인이 앞선 규칙에 매칭되지 않거나 연결 자체가 IP 주소를 사용할 때 GeoIP 규칙이 아웃바운드를 결정하는 기준이 되기 쉽습니다.
GeoSite 도메인 분류
- 데이터 파일
- geosite.dat
- 일반적인 입력
- 전체 도메인
- 주요 태그
- geosite:cn
- 매칭 시점
- 도메인 확인 전
사이트 유형별 라우팅에 적합하며, 태그의 존재 여부는 현재 데이터셋에 따라 달라집니다.
GeoIP 주소 분류
- 데이터 파일
- geoip.dat
- 일반적인 입력
- IPv4 또는 IPv6
- 주요 태그
- geoip:private
- 매칭 시점
- 대상 IP 확인 후
IP를 직접 사용하는 연결을 처리하고 도메인 규칙의 후속 판단에 활용하기 좋습니다.
데이터가 오래되었을 가능성을 보여 주는 현상
데이터 파일은 구독 노드처럼 곧바로 ‘만료됨’으로 표시되지 않습니다. 더 흔한 경우는 연결 자체는 성공하지만 아웃바운드 선택이 예상과 다른 것입니다. 예를 들어 원래 직접 연결되어야 할 새 도메인이 프록시로 전송되거나, 새로 할당된 주소 대역이 geoip:cn에 매칭되지 않거나, 소속이 변경된 서비스가 여전히 이전 분류로 처리될 수 있습니다.
다만 한 번의 접속 이상만으로 Geo 데이터가 오래되었다고 단정할 수는 없습니다. DNS 응답, 라우팅 규칙 순서, 도메인 스니핑, 노드 사용 가능 여부와 시스템 프록시 상태가 모두 결과에 영향을 줍니다. 판단할 때는 먼저 클라이언트 로그에서 대상 도메인, 대상 IP, outboundTag를 확인한 뒤 규칙 매칭 순서와 대조해야 합니다.
- 새 도메인이 계속 잘못 라우팅됨: 같은 서비스가 최근 새 도메인을 사용하기 시작했지만 기존 데이터에 해당 GeoSite 분류가 아직 추가되지 않았습니다.
- 새 주소 대역이 매칭되지 않음: 로그에는 도메인 확인 결과가 표시되지만 대상 IP가 기본 규칙으로 처리되고 예상한 GeoIP 규칙에는 매칭되지 않습니다.
- 규칙 태그를 읽지 못함: 핵심 로그에 geosite 또는 geoip 태그를 찾을 수 없다는 메시지가 나타나면 파일이 없거나 출처가 호환되지 않거나 태그 이름이 잘못된 것입니다.
- 클라이언트 업데이트 후 규칙 이상: 프로그램을 업그레이드해도 Geo 데이터가 자동으로 교체된다는 보장은 없으므로 데이터 파일의 업데이트 시점을 별도로 확인해야 합니다.
결론: 먼저 매칭 대상을 확인한 뒤 업데이트 여부를 결정하세요
로그에 도메인은 표시되지만 GeoSite에 매칭되지 않는다면 먼저 태그와 규칙 순서를 확인합니다. 이미 IP 매칭 단계에 진입했는데 새 주소 대역이 분류되지 않았다면 geoip.dat 업데이트를 우선 진행하세요. 이렇게 하면 DNS나 노드 문제를 데이터 문제로 잘못 판단하는 일을 줄일 수 있습니다.
v2rayN에서 Geo 데이터 업데이트하기
v2rayN 7.x의 일반적인 화면을 예로 들면 Geo 데이터 업데이트 메뉴는 메인 창의 업데이트 메뉴에 있습니다. 세부 버전에 따라 「업데이트 확인」 또는 「업데이트 확인 → Geo files」로 표시될 수 있지만 목적은 같습니다. 현재 핵심과 호환되는 geoip.dat과 geosite.dat을 내려받은 뒤 핵심이 다시 로드하도록 합니다.
- 먼저 정상적으로 사용할 수 있는 노드에 연결하고, v2rayN 메인 창 로그에 연결 시간 초과가 계속 표시되지 않는지 확인합니다.
- 메인 메뉴에서 「업데이트 확인」→「Geo 파일 업데이트」를 엽니다. 현재 버전에 하위 메뉴가 표시되면 GeoIP와 GeoSite을 모두 포함하는 업데이트 항목을 선택합니다.
- 화면이나 로그에 다운로드 완료 메시지가 표시될 때까지 기다립니다. 업데이트 중에는 프로그램을 종료하거나 v2rayN을 두 번째로 실행하지 마세요.
- 업데이트가 끝나면 「서비스 재시작」을 실행하거나 v2rayN을 완전히 종료한 뒤 다시 열어 Xray 핵심이 데이터를 다시 읽도록 합니다.
- 「설정」→「라우팅 설정」으로 이동해 현재 사용하는 라우팅 규칙 세트를 선택하고, 그 안에서 참조하는
geosite:및geoip:태그의 철자가 바뀌지 않았는지 확인합니다.
다운로드 중 시간 초과가 발생하면 먼저 업데이트 요청이 현재 프록시를 거쳐야 하는지 확인합니다. 일부 네트워크 환경에서는 사용 가능한 노드를 먼저 활성화하고 시스템 프록시를 켜야 업데이트 요청이 완료됩니다. 메인 창에 정상적인 프록시 연결이 있는데도 업데이트가 실패한다면 로그에서 DNS 확인 실패인지, 연결 시간 초과인지, 파일 쓰기 거부인지 확인하세요.
포터블 버전 디렉터리에 쓰기 권한이 없으면 프로그램이 임시 파일을 다운로드하는 데는 성공해도 핵심이 사용 중인 데이터를 덮어쓰지 못할 수 있습니다. 클라이언트를 완전히 종료한 뒤 다시 시작해 업데이트를 한 번 더 실행하세요. 프로그램이 보호된 디렉터리에 있다면 업데이트를 반복해서 누르기보다 현재 계정이 읽고 쓸 수 있는 위치로 옮기는 것이 좋습니다.
v2rayNG 및 v2flyNG에서 업데이트 확인하기
v2rayNG는 Xray 핵심을 사용하고 v2flyNG는 v2fly 핵심을 사용하며, 두 클라이언트 모두 라우팅 설정에서 Geo 데이터를 참조할 수 있습니다. Android 클라이언트의 메뉴 이름은 버전에 따라 달라질 수 있고, 일반적인 경로는 메인 메뉴의 「업데이트 확인」 또는 「설정」→「Geo files settings」입니다. 해당 화면에서 다운로드 주소 설정, 현재 파일 상태와 업데이트 동작을 모두 확인해야 하며 라우팅 규칙만 수정해서는 안 됩니다.
v2rayNG 확인 항목
- 플랫폼
- Android
- 핵심
- Xray
- 경로
- 설정 → Geo files settings
- 업데이트 대상
- GeoIP 및 GeoSite
업데이트가 끝나면 현재 연결을 중지한 뒤 연결 서비스를 다시 시작합니다.
v2flyNG 확인 항목
- 플랫폼
- Android
- 핵심
- v2fly
- 경로
- 설정 → 라우팅 설정
- 검증 대상
- 규칙 태그 및 파일 상태
v2fly 라우팅 구문과 기존 태그에 호환되는 데이터 파일을 선택해야 합니다.
- 현재 연결을 중지하고 클라이언트 설정에서 Geo 파일 또는 라우팅 데이터 관련 메뉴를 찾습니다.
- 업데이트 후 규칙 모드가 다른 프리셋으로 잘못 바뀌지 않도록 현재 라우팅 모드와 사용자 지정 규칙을 기록해 둡니다.
- GeoIP 및 GeoSite 업데이트를 실행하고 두 작업이 모두 완료로 표시될 때까지 기다립니다.
- 메인 화면으로 돌아가 노드에 다시 연결한 다음 실시간 로그를 열어 라우팅 매칭 결과를 확인합니다.
Android는 클라이언트가 백그라운드로 전환된 뒤 네트워크 활동을 제한할 수 있습니다. 업데이트할 때는 두 파일의 처리가 모두 끝날 때까지 클라이언트를 포그라운드에 유지하세요. 파일이 크거나 Wi-Fi와 모바일 네트워크 사이를 전환하면 다운로드가 중단될 수 있으므로, 안정적인 네트워크로 돌아온 뒤 다시 실행해야 합니다. 절반만 완료된 파일을 사용해서는 안 됩니다.
버전에 별도 업데이트 버튼이 없다면 클라이언트 버전에서 제공하는 리소스 관리 메뉴를 우선 사용하세요. 서로 다른 핵심이 일반적인 Geo 데이터 형식을 모두 인식할 수는 있지만 사용자 지정 태그 모음이 항상 같은 것은 아닙니다. geosite:category-ads-all 같은 태그를 사용하기 전에는 클라이언트 로그에 정상적으로 로드되었는지 확인하세요.
geoip.dat 및 geosite.dat 수동 교체하기
내장 업데이트를 사용할 수 없을 때는 데이터 파일을 수동으로 교체할 수 있습니다. 하지만 핵심은 파일을 복사하는 것보다 실제 적용 디렉터리를 확인하는 데 있습니다. 데스크톱 클라이언트에는 여러 핵심 디렉터리가 있을 수 있고 이전 버전 디렉터리에 같은 이름의 파일이 남아 있을 수도 있습니다. 검색 결과의 첫 번째 파일만 교체해도 현재 실행 중인 핵심에는 적용되지 않을 수 있습니다.
- 클라이언트 로그나 핵심 설정에서 현재 Xray와 v2fly 중 어떤 핵심을 사용하는지 확인하고 해당 핵심의 실제 프로그램 디렉터리를 찾습니다.
- 클라이언트를 완전히 종료하고 백그라운드에 핵심 프로세스가 남아 있지 않은지 확인합니다.
- 기존
geoip.dat과geosite.dat의 이름을 바꿔 로컬 백업으로 보관해 새 데이터가 호환되지 않을 때 복원할 수 있도록 합니다. - 새 파일 두 개를 같은 핵심 리소스 디렉터리에 넣고 파일 이름은 모두 소문자로 유지하며 확장자는
.dat로 합니다. - 클라이언트를 다시 열고 먼저 시작 로그를 확인한 뒤 GeoSite 규칙 하나와 GeoIP 규칙 하나 이상을 테스트합니다.
핵심 리소스 디렉터리/
├── geoip.dat
├── geosite.dat
└── 핵심 프로그램
라우팅 참조 예시:
domain: geosite:cn
ip: geoip:private
ip: geoip:cn
클라이언트가 사용자 지정 리소스 디렉터리를 지원한다면 설정에 표시된 디렉터리를 기준으로 삼습니다. 환경 변수, 시작 매개변수 또는 여러 핵심 간 전환에 따라 검색 위치가 달라질 수 있습니다. 가장 확실한 방법은 두 파일의 수정 시간을 임시로 기록하고 재시작한 뒤 로그에 이전 태그 누락 메시지가 계속 나타나는지 확인하는 것입니다.
두 파일은 같은 배포 주기의 자료를 사용하고 한 번의 유지보수 작업에서 함께 교체하는 것이 좋습니다. GeoIP와 GeoSite에 반드시 완전히 일치해야 하는 내부 버전 번호가 있는 것은 아니지만, 오랫동안 업데이트하지 않은 이전 파일과 새 파일을 섞으면 문제를 추적하기 어려워집니다. 하나의 라우팅 체인에서 도메인 단계와 IP 단계가 서로 다른 시점의 데이터를 기준으로 판단할 수 있기 때문입니다.
업데이트 후 라우팅이 적용되었는지 검증하는 방법
업데이트 성공 메시지는 파일 처리 과정이 끝났다는 뜻일 뿐 모든 규칙이 예상대로 매칭되었다는 의미는 아닙니다. 서로 다른 분기를 대표하는 대상을 선택해 검증하세요. LAN 주소 하나, 직접 연결해야 하는 도메인 그룹, 프록시로 연결해야 하는 도메인 그룹, IP를 직접 사용하는 연결 하나가 좋습니다. 테스트하는 동안 노드, DNS와 시스템 프록시 설정은 그대로 유지합니다.
v2rayN에서는 메인 창 로그를 열고 로그 수준을 높인 뒤 대상, 라우팅 규칙과 아웃바운드 태그를 확인할 수 있습니다. 규칙에서 geosite:cn을 direct로 지정했다면 해당 도메인이 직접 연결 아웃바운드로 처리되어야 합니다. 대상이 IP 주소로 직접 표시되면 geoip:private 또는 geoip:cn에 매칭되는지 확인하세요.
| 테스트 대상 | 주요 확인 항목 | 이상 발생 시 먼저 확인할 사항 |
|---|---|---|
| LAN 주소 | geoip:private에 매칭되는가 | 사설 주소 규칙이 기본 프록시 규칙보다 앞에 있는가 |
| 일반 도메인 | 대상 GeoSite 태그에 매칭되는가 | 도메인 스니핑, DNS 및 태그 철자 |
| IP 직접 입력 | 예상한 GeoIP 분기로 진입하는가 | 주소 대역 분류 및 규칙 순서 |
| 미분류 대상 | 최종 기본 규칙으로 진입하는가 | 기본 아웃바운드가 규칙 목록의 마지막에 있는가 |
업데이트 후 가장 쉽게 놓치는 요소는 규칙 순서입니다. V2Ray과 Xray은 일반적으로 규칙 목록을 앞에서 뒤로 확인합니다. 범위가 넓은 규칙이 앞에 있으면 요청을 먼저 가로챕니다. 예를 들어 “모든 포트를 프록시로 연결”하는 규칙을 geosite:cn보다 앞에 두면 도메인 분류가 업데이트되어도 뒤의 규칙은 적용될 기회를 얻지 못합니다.
또한 “매칭되지 않음”과 “매칭 후 연결 실패”를 구분해야 합니다. 전자는 데이터, 태그와 규칙 순서를 확인해야 하고, 후자는 이미 아웃바운드가 선택된 상태이므로 노드 연결, 대상 포트와 DNS 응답을 확인해야 합니다. 사용자에게는 두 문제가 모두 웹사이트가 열리지 않는 현상으로 보일 수 있지만 해결 방향은 완전히 다릅니다.
결론: 로그의 outboundTag를 검수 결과로 활용하세요
파일 수정 시간은 교체가 발생했다는 사실만 보여 줍니다. 실제 업데이트 검수는 특정 요청을 기준으로 해야 합니다. 도메인 또는 IP가 어떤 규칙에 의해 식별되었고 최종적으로 direct, proxy 또는 block 중 어디로 들어갔는지 확인하세요. 세 가지 유형의 대상을 연속으로 테스트하는 편이 파일을 반복해서 업데이트하는 것보다 규칙 순서 문제를 찾는 데 효과적입니다.
업데이트 주기와 자주 묻는 문제
일반적인 사용 환경에서는 매일 업데이트할 필요가 없습니다. 7일마다 한 번 확인하거나 클라이언트 업그레이드, 라우팅 규칙 변경, 새 도메인이 계속 잘못 라우팅되는 상황이 발생했을 때 업데이트하세요. 파일을 지나치게 자주 교체해도 연결 속도나 노드 지연 시간이 개선되지는 않습니다. Geo 데이터는 분류 판단에만 사용됩니다.
유지보수할 때는 한 번에 하나의 변수만 변경하세요. 먼저 Geo 파일을 업데이트하고 검증한 다음 결과를 확인한 뒤 DNS나 라우팅 규칙을 조정합니다. 업데이트 전후에 같은 테스트 대상과 로그 수준을 유지하면 규칙 매칭 변화를 직접 비교할 수 있어 웹페이지를 체감으로만 판단하는 일을 피할 수 있습니다.
업데이트 후 모든 웹사이트가 프록시로 연결되나요?
「설정」→「라우팅 설정」을 열고 기본 프록시 규칙이 목록 맨 위로 이동하지 않았는지 확인합니다. 구체적인 GeoSite 및 GeoIP 규칙을 범위가 넓은 규칙보다 앞에 배치하고 저장한 뒤 핵심을 재시작하여 다시 테스트하세요.
로그에 geosite 태그를 찾을 수 없다고 표시되나요?
먼저 태그 철자를 확인한 다음 새 geosite.dat에 해당 분류가 포함되어 있는지 확인합니다. 수동 교체 후 문제가 시작되었다면 백업 파일을 복원하고 재시작하여 호환되지 않는 데이터셋을 계속 사용하지 않도록 합니다.
GeoIP 업데이트는 성공했지만 라우팅이 바뀌지 않나요?
테스트 요청이 IP를 직접 사용하는지 또는 앞선 도메인 규칙에 이미 매칭되었는지 확인합니다. GeoSite이 먼저 매칭되면 이후 GeoIP 규칙은 해당 아웃바운드 선택에 참여하지 않습니다.
두 파일을 반드시 함께 업데이트해야 하나요?
형식상 따로 교체할 수 있지만 유지보수할 때는 같은 시점에 업데이트하는 것이 좋습니다. 완료 후 두 파일의 수정 시간을 기록하고 도메인 규칙 하나와 IP 규칙 하나를 각각 테스트하세요.
업데이트 중 계속 연결 시간 초과가 표시되나요?
먼저 사용 가능한 노드에 연결한 뒤 시스템 프록시 또는 클라이언트의 프록시를 통한 업데이트 옵션이 활성화되어 있는지 확인합니다. 그래도 시간 초과가 발생하면 로그의 DNS 및 연결 오류를 확인하고 업데이트 작업을 여러 개 연속으로 시작하지 마세요.
Geo 데이터 유지보수의 목표는 분류 규칙을 실제 네트워크 변화에 가깝게 유지하는 것이지, 모든 요청을 특정 프리셋 태그에 매칭시키는 것이 아닙니다. 업무상 반드시 직접 연결하거나 프록시로 연결해야 하는 도메인은 공용 분류가 업데이트되기를 기다리기보다 명확한 사용자 지정 도메인 규칙을 사용하는 편이 제어하기 쉽습니다. 이러한 규칙은 일반 Geo 규칙보다 앞에 배치해야 합니다.