왜 DNS 설정을 별도로 신경 써야 할까요
DNS 관련 문제는 보통 두 가지 형태로 나타납니다: DNS 오염(도메인 해석 결과가 조작되어 접속 이상이나 잘못된 페이지로의 리다이렉션이 발생)과 DNS 유출(프록시는 켜져 있지만 DNS 요청이 여전히 로컬 ISP를 통해 해석되어 프록시를 경유하지 않아, 실제로 접속하려는 대상이 노출됨)입니다. 해결 방법은 다르지만 둘 다 dns 섹션을 적절히 설정하면 해결할 수 있습니다.
Fake-IP 모드: 불필요한 왕복을 줄이기
표준 DNS 해석 흐름은: 앱이 도메인을 요청 → DNS 서버가 실제 IP를 해석 → 연결을 시작하는 순서입니다. 이 과정에는 추가적인 네트워크 왕복이 발생하며, DNS 서버 자체가 신뢰할 수 없다면 오염될 수도 있습니다.
Fake-IP 모드의 동작 방식: 해석 요청이 발생하면 먼저 예약된 주소 범위에 속하는 "가짜 IP"를 반환하고, 클라이언트는 이 가짜 IP가 어떤 도메인에 대응하는지 기억합니다. 실제로 연결을 시작할 때가 되어야 필요에 따라 실제 해석을 수행하거나 바로 프록시를 통해 전달합니다. 그 효과는 대부분의 상황에서 왕복 조회를 생략할 수 있고, 대부분의 트래픽이 결국 프록시를 경유하기 때문에 프록시 노드 쪽에서 해석되는 IP가 오염될 가능성도 훨씬 낮아진다는 것입니다.
dns:
enable: true
ipv6: false
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
fake-ip-filter:
- "*.lan"
- "+.local"
- "time.*.com"
- "dns.msftncsi.com"
fake-ip-filter: 어떤 도메인을 제외해야 할까요
대부분의 경우 Fake-IP는 문제없이 작동하지만, 몇 가지 도메인은 반드시 제외해야 합니다. 그렇지 않으면 "기기끼리 서로 발견하지 못함", "게임 가속기가 작동하지 않음", "사내망 서비스 접속 이상" 같은 상황이 발생할 수 있습니다:
- LAN 기기 검색 관련 도메인(
*.lan, 라우터 관리 페이지 도메인 등)——이들은 실제 LAN IP를 받아야 정상적으로 통신할 수 있습니다. - 네트워크 품질 감지 도메인(
dns.msftncsi.com등)——Windows가 이를 사용해 네트워크 연결 상태를 판단하므로, 가짜 IP를 쓰면 시스템이 네트워크 상태를 잘못 판단하게 됩니다. - NAS/시놀로지 등 로컬 기기의 도메인 전달 서비스——마찬가지로 실제 IP가 있어야 로컬 직접 연결을 맺을 수 있습니다.
- 일부 게임 및 실시간 통신 앱——IP의 안정성과 진짜 여부에 민감하므로 제외 목록에 추가하는 것이 좋습니다.
대부분의 주요 클라이언트는 기본적으로 비교적 완전한 제외 목록이 이미 미리 설정되어 있어, 보통 처음부터 직접 작성할 필요가 없습니다. 특정 LAN 서비스에 연결할 수 없다면 해당 도메인을 fake-ip-filter에 추가하면 보통 해결됩니다.
DoH / DoT: DNS 조회 자체를 암호화하기
Fake-IP가 해결하는 것은 "실제 해석을 할지 말지"의 문제이고, DoH(DNS over HTTPS)/DoT(DNS over TLS)가 해결하는 것은 "해석 과정 자체가 감청되거나 조작될 수 있는지"의 문제입니다——원래 평문이었던 DNS 요청을 암호화된 채널로 감싸서 전송함으로써, ISP나 중간 노드가 어떤 도메인을 조회하는지 볼 수 없고 반환 결과를 조작할 수도 없게 됩니다.
dns:
enable: true
nameserver:
- "https://doh.pub/dns-query"
- "https://dns.alidns.com/dns-query"
fallback:
- "https://1.1.1.1/dns-query"
- "https://8.8.8.8/dns-query"
nameserver는 기본 해석 업스트림이며, fallback은 중국 본토 해석 결과가 만족스럽지 않을 때 쓰는 백업 업스트림입니다. 클라이언트는 해석 결과에 따라 fallback으로 전환할지 자동으로 판단합니다.
분기 해석: 중국 본토와 그 외 도메인에 다른 업스트림 사용하기
더 세밀한 방법은 nameserver-policy를 사용해 중국 본토 도메인에는 중국 본토 DNS를, 그 외 도메인에는 암호화된 해외 DNS를 지정해서 해석 속도와 오염 방지 능력을 모두 고려하는 것입니다:
dns:
nameserver-policy:
"geosite:cn":
- "https://doh.pub/dns-query"
"geosite:geolocation-!cn":
- "https://1.1.1.1/dns-query"
이렇게 하면 중국 본토 사이트는 로컬 경로로 더 빠르게 해석되고, 해외 사이트는 암호화된 업스트림으로 더 안전하게 해석되며, 서로 영향을 주지 않습니다.
DNS 문제를 겪고 있는지 판단하는 방법
프록시가 이미 정상 연결(출구 IP가 이미 전환됨)을 보여주는데도 특정 사이트가 비정상적으로 느리게 로드되거나 콘텐츠가 나타나서는 안 되는 페이지로 리다이렉트된다면, 대부분 프록시 회선 문제가 아니라 DNS 수준의 문제입니다. 클라이언트의 "연결 / Connections" 패널에서 정확히 어떤 도메인의 해석이 비정상적인지 관찰한 다음, 위의 설정과 대조하며 하나씩 점검할 수 있습니다. 사내망 기기에 연결할 수 없다면 먼저 fake-ip-filter에 해당 도메인이 빠졌는지 확인하세요.
마지막으로
"한 번 설정하면 신경 쓸 필요 없는" 유형에 속하며, 대부분의 구독 제공업체의 기본 설정만으로도 일상적인 사용에 충분합니다. 실제로 직접 조정이 필요한 상황은 보통 사내망 기기 접속 이상이나 DNS 프라이버시에 더 높은 요구가 있을 때이며, 위의 방식대로 해당 필드를 조정하면 됩니다.