geoip.dat에는 IP 주소 대역이, geosite.dat에는 도메인 목록이 저장됩니다. 노드 연결은 되지만 직접 연결과 프록시 라우팅이 예상대로 동작하지 않는 사용자를 위한 안내입니다. 먼저 현재 커널과 라우팅 모드를 확인하고, 실제로 읽히는 데이터 파일을 업데이트한 뒤 규칙 순서, DNS 정책, 로그로 결과를 점검하세요. 구독 업데이트는 규칙 데이터베이스 업데이트를 대신하지 않으며, 업데이트에 성공해도 트래픽이 반드시 예상한 규칙과 일치하는 것은 아닙니다.
geoip와 geosite: 먼저 매칭 대상을 구분하세요
V2Ray와 Xray의 라우팅 모듈은 외부 데이터 목록을 참조해 수많은 도메인과 IP 대역을 설정에 일일이 적지 않아도 됩니다. geosite.dat에는 태그가 지정된 도메인 목록이, geoip.dat에는 태그가 지정된 IP 대역 목록이 저장됩니다. 파일 자체가 트래픽 경로를 결정하는 것은 아닙니다. 라우팅 규칙이 해당 목록을 참조하고 출구를 지정해야 트래픽이 분기됩니다.
| 항목 | geosite.dat | geoip.dat |
|---|---|---|
| 매칭 대상 | 대상 도메인 | 대상 IP 주소 |
| 자주 쓰는 참조 | geosite:cn | geoip:cn、geoip:private |
| JSON 필드 | domain 배열 | ip 배열 |
| 자주 발생하는 불일치 | 도메인이 목록에 없거나 연결에 도메인 정보가 제공되지 않음 | 주소 할당 정보가 변경됐거나 대상 IP를 아직 확인하지 못함 |
geosite:cn은 “.cn으로 끝나는 모든 도메인”이 아니라 현재 데이터 소스에서 cn이라는 이름으로 정의된 목록입니다. 목록에는 다른 접미사의 도메인도 들어갈 수 있으며, 구체적인 항목은 데이터 소스에서 관리합니다. geoip:cn도 웹페이지 언어를 기준으로 판단하는 것이 아니라 데이터 파일에 기록된 IP 대역과 매칭합니다. 이 규칙만으로 웹사이트의 사업자나 소속을 판별할 수는 없습니다.
규칙 데이터베이스가 오래되면 새로 추가된 도메인이나 변경된 IP 대역이 누락될 수 있지만, 모든 문제가 오래된 파일 때문인 것은 아닙니다. 대상 도메인을 확인할 수 없거나, 앞선 규칙이 먼저 매칭되거나, 현재 라우팅 모드에서 이 설정을 사용하지 않는 경우에도 “업데이트 후에도 적용되지 않는” 것처럼 보일 수 있습니다. 파일을 계속 바꾸기보다 먼저 증상을 기록한 다음 업데이트하면 원인을 더 쉽게 찾을 수 있습니다.
v2rayN에서 Geo 파일 업데이트하기: 커널을 확인한 뒤 진행
v2rayN은 관리 인터페이스이며, 규칙 데이터베이스를 실제로 읽는 것은 실행 중인 커널입니다. 여기서 설명하는 .dat 사용법은 V2Ray와 Xray를 대상으로 합니다. 현재 설정에서 다른 규칙 데이터 형식을 사용한다면 클라이언트 이름만 보고 파일 경로를 그대로 적용하지 마세요. 먼저 시작 로그에서 커널 이름과 설정 경로를 확인한 뒤 아래 절차를 진행하세요.
-
현재 상태 기록하기
메인 화면에서 현재 서버, 시스템 프록시 상태, 라우팅 모드를 기록하세요. 기존 라우팅 설정을 저장하고, 사용자 지정 설정은 복구할 수 있도록 사본도 보관하세요. 문제를 확인하는 동안에는 노드와 규칙 모드를 동시에 바꾸지 마세요.
-
업데이트 메뉴 확인하기
해당 메뉴가 제공되는 v2rayN 화면에서 「업데이트 확인」→「Geo 파일 업데이트」를 선택하세요. 화면 빌드에 따라 메뉴 위치와 번역 문구가 다를 수 있습니다. 해당 항목이 보이지 않으면 현재 화면의 업데이트 메뉴를 확인하세요. 「구독 업데이트」는 대체 작업이 아닙니다.
-
완료 메시지 확인하기
업데이트 결과나 로그에서 필요한 두 데이터 파일의 다운로드가 모두 완료됐는지 확인하세요. 시간 초과가 발생하면 먼저 업데이트 서버에 연결할 수 있는지 확인하세요. 업데이트에 프록시 옵션이 있다면 정상 작동을 확인한 프록시로 다시 시도하고, 버튼을 연달아 반복해서 누르지 마세요.
-
커널 다시 불러오기
업데이트가 끝나면 현재 서비스나 커널을 다시 시작하세요. 다시 불러왔는지 확실하지 않다면 v2rayN을 종료한 뒤 다시 실행하세요. 시작 로그에서 파일 없음, 읽기 실패, 분류 항목 없음 오류가 발생하지 않았는지도 확인하세요.
-
같은 대상으로 다시 테스트하기
기존 노드와 라우팅 모드를 유지한 채 이전에 문제가 있던 대상을 다시 여세요. 새 연결을 만든 다음 출구 기록을 확인하세요. 업데이트 전에 이미 연결된 세션에는 라우팅 판단이 다시 적용되지 않을 수 있습니다.
업데이트 실패 시: 내장 업데이트 또는 수동 교체
먼저 클라이언트에서 제공하는 업데이트 메뉴를 사용하세요. 현재 환경에서 사용하는 위치에 파일을 넣기 쉽습니다. 다른 사용자의 절대 경로를 그대로 따라 하지 마세요. 포터블 폴더, 설치 폴더, 사용자 데이터 폴더, 사용자 지정 실행 방식에 따라 리소스 경로가 다를 수 있습니다. 디스크에 같은 이름의 파일이 있어도 실행 중인 커널이 그 파일을 읽는다는 보장은 없습니다.
클라이언트 내장 업데이트
권장현재 업데이트 메뉴에서 규칙 데이터베이스를 내려받고 다운로드 결과와 시작 로그를 보관하세요. 완료 후 커널을 다시 시작하고 실제 사용 중인 데이터 폴더를 확인하면 파일을 잘못된 위치에 넣을 가능성을 줄일 수 있습니다.
적합한 경우: 정기 유지 관리, 업데이트 메뉴에 정상적으로 접속할 수 있을 때
파일 수동 교체
선택한 규칙 데이터 소스의 공식 배포 채널에서 해당 바이너리 데이터 파일을 받으세요. 커널을 중지한 뒤 기존 파일을 백업하고, 확인된 리소스 폴더에 새 파일을 넣으세요. 압축 파일을 받았다면 먼저 압축을 풀어야 합니다. 압축 파일의 이름만 .dat로 바꾸면 안 됩니다.
적합한 경우: 자동 업데이트 실패, 리소스 폴더와 데이터 소스를 정확히 알고 있을 때
결론: 파일을 바꾸기 전에 읽기 경로부터 확인하세요
수동 업데이트 전 커널 시작 매개변수와 리소스 폴더를 기록하세요. 파일을 교체한 뒤에는 즉시 다시 시작하고 로드 오류를 확인하세요. 경로가 확실하지 않다면 먼저 경로 문제를 해결하세요. 여러 폴더에 동시에 파일을 복사하면 다음 업데이트 때 어떤 파일이 적용됐는지 알기 어려워집니다.
수동으로 교체할 때는 분류 항목이 있는지도 확인해야 합니다. 이름이 모두 geosite.dat인 파일이라도 데이터 소스에 따라 제공하는 태그가 다를 수 있습니다. @가 포함된 속성 필터 문법도 소스 파일의 내용에 따라 달라집니다. “분류 항목을 찾을 수 없음” 오류가 발생하면 노드 프로토콜을 바꾸기보다 규칙에서 참조하는 목록과 데이터 소스 안내를 확인하세요. 기존 파일을 보관하면 설정 로드에 실패했을 때 빠르게 되돌릴 수 있습니다.
geosite:cn과 geoip:cn 라우팅 규칙 작성법
아래는 커널 설정에 병합할 routing 부분으로, 그대로 실행할 수 있는 전체 클라이언트 설정이 아닙니다. 예제에는 direct라는 이름의 직접 연결 출구가 이미 있다고 가정합니다. 출구 태그는 실제 설정과 정확히 일치해야 합니다. v2rayN의 그래픽 라우팅 편집기를 사용한다면 같은 논리로 도메인, IP, 출구 필드를 입력하세요. 클라이언트가 자동 생성한 설정 전체를 그대로 덮어쓰지 마세요.
{
"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"
}
]
}
}
IPIfNonMatch는 먼저 현재 확인 가능한 대상 정보로 매칭을 시도하고, 도메인 요청이 규칙과 일치하지 않을 때 IP로 해석해 IP 규칙을 시도한다는 뜻입니다. “모든 요청을 먼저 DNS 조회한다”는 의미는 아닙니다. 앞에 모든 도메인을 처리하는 프록시 규칙이 있다면 그 규칙에서 매칭이 끝나므로 뒤에 있는 geoip:cn은 만능 해결책이 될 수 없습니다.
- 규칙 두 개로 분리: “cn 도메인이나 cn 주소에 해당하면 직접 연결”하려면 예제처럼 규칙을 분리해야 합니다.
domain과ip를 한 규칙에 넣는다고 둘 중 하나만 일치해도 적용되는 것은 아닙니다. 규칙 하나에 여러 조건 유형을 넣으면 모든 조건을 충족해야 합니다. - 미매칭 트래픽의 경로 확인: 이 예제에는 기본 프록시 규칙이 없습니다. 어떤 규칙에도 매칭되지 않으면 V2Ray/Xray는 일반적으로 첫 번째 출구를 사용하므로 실제 전체 설정을 확인해야 합니다.
direct태그 자체가 전역 기본 정책이라고 오해하지 마세요. - 특정 예외 처리: 특정 사이트를 프록시로 연결해야 한다면 정확한 도메인 규칙을 범위가 넓은 cn 직접 연결 규칙보다 앞에 두세요. 하위 도메인 전체를 포함할지는 실제 사용 범위에 맞춰 매칭 방식을 선택하세요.
라우팅 규칙 미적용: 순서·도메인·DNS 확인
라우팅은 규칙을 위에서 아래로 확인하고, 처음 매칭된 규칙에 따라 출구를 결정합니다. 데이터베이스는 “대상이 특정 목록에 포함되는지”만 판단하며 앞에서 이미 매칭된 규칙을 바로잡지는 않습니다. 따라서 문제를 확인할 때는 라우팅 목록, 대상 주소, 로그의 출구 태그를 함께 살펴보세요. 웹페이지가 열리는지만 확인해서는 충분하지 않습니다.
- 모드 확인: 메인 화면에서 현재 라우팅 모드가 원하는 설정인지 확인하세요. 전역 프록시 또는 전역 직접 연결 모드에서는 편집 중인 분할 라우팅이 적용되지 않을 수 있습니다.
- 도메인 확인: 앱이 프록시에 IP 주소만 전달한다면 도메인 규칙이 매칭되지 않을 수 있습니다. 스니핑으로 일부 프로토콜에서 도메인을 확인할 수 있지만 모든 연결을 지원하지 않으며 매번 성공하는 것도 아닙니다.
- DNS 확인: 라우팅에서 IP 매칭을 사용한다면 DNS 조회 결과가 매칭에 영향을 줍니다. 기존 DNS는 UDP/TCP 53을 사용하는 경우가 많고, 암호화 DNS는 별도의 전송 방식을 사용합니다. 웹 연결이 프록시를 거친다고 DNS 조회도 같은 경로를 이용하는 것은 아닙니다.
- 규칙 순서 확인: 앞쪽에 범위가 넓은 도메인 규칙, 포트 규칙, 기본 규칙이 있는지 살펴보세요. 먼저 정확한 도메인 규칙 하나로 출구를 확인한 뒤 목록 규칙을 다시 적용하면 데이터베이스 문제와 규칙 순서 문제를 구분할 수 있습니다.
- 새 연결로 확인: 대상 페이지를 닫거나 테스트 앱을 다시 시작한 뒤 재시도하세요. 필요하다면 잠시 더 자세한 로그를 활성화하고, 확인을 마치면 평소 로그 수준으로 되돌리세요. 구독 주소와 대상 도메인이 포함된 전체 로그를 공개하지 않도록 주의하세요.
정확한 도메인 규칙은 지정한 출구로 연결되는데 geosite:cn으로 바꾸면 매칭되지 않는다면, 해당 도메인이 현재 목록에 실제로 포함되는지 확인하세요. 정확한 규칙도 적용되지 않는다면 현재 설정이 적용 중인지, 출구 태그가 올바른지, 앞선 규칙이 먼저 처리하는지부터 살펴보세요. 이 경우 규칙 데이터베이스를 다시 내려받아도 대개 해결되지 않습니다.
Geo 파일 업데이트 자주 묻는 질문
업데이트 성공이라고 나오는데 왜 트래픽이 다른 경로로 가나요?
먼저 커널을 다시 시작한 뒤 새 연결을 만드세요. 현재 라우팅 모드와 로그의 출구 태그를 확인하고, 대상의 정확한 도메인 규칙을 임시로 추가해 비교하세요. 정확한 규칙은 적용되지만 목록 규칙이 적용되지 않는다면 목록 내용과 실제 파일을 읽는 경로를 확인하세요.
두 파일을 매일 함께 바꿔야 하나요?
매일 습관적으로 업데이트할 필요는 없습니다. 분류가 바뀌었거나 라우팅을 정비하기 시작했거나 데이터 소스에서 중요한 변경 사항을 배포했을 때 업데이트하면 됩니다. 클라이언트에서 두 파일을 한 번에 업데이트할 수 있다면 함께 처리하세요. 사용자 지정 데이터 소스를 쓴다면 각 소스의 태그가 현재 규칙에 계속 맞는지 확인하고 복구할 파일도 보관하세요.
geosite 분류가 없다는 오류가 나면 구독을 다시 추가해야 하나요?
먼저 오류에 표시된 태그의 철자를 확인한 다음 geosite.dat의 출처와 분류 목록을 살펴보세요. 필요하면 이전의 정상 파일로 되돌리거나 데이터 소스에서 실제로 제공하는 분류에 맞게 규칙을 수정하세요. 구독을 다시 추가해도 데이터 파일에 없는 태그가 생기지는 않습니다.
Android 클라이언트에서도 데스크톱 폴더 경로를 그대로 사용하면 되나요?
폴더 경로를 그대로 사용하면 안 됩니다. v2rayNG는 Xray 커널을, v2flyNG는 v2fly 커널을 사용합니다. 각 클라이언트에서 제공하는 리소스 업데이트 메뉴를 이용하고, 구체적인 위치는 현재 화면에서 확인하세요. 모바일 앱 데이터 폴더는 시스템에서 관리하므로 데스크톱 설정 조각도 클라이언트가 지원하는 가져오기 방식에 맞춰 사용해야 합니다.