2026-08-27 · 고급 설정 · 약 10분

Shadowrocket DNS 설정

시스템 DNS, 사용자 지정 DNS, DoH의 작동 방식과 차이를 설명하고, 규칙 기반 라우팅과의 관계 및 설정 적용 여부를 확인하는 방법을 안내합니다.

이 글의 핵심

이 글은 Shadowrocket에서 기본 연결을 마치고 DNS를 선택하거나 도메인 이름 확인 문제를 해결하려는 사용자를 위한 안내입니다. 먼저 DNS 서버, 조회 전송 방식, 조회 트래픽의 경로를 구분하세요. 그런 다음 시스템 DNS, 사용자 지정 DNS, DoH를 차례로 하나씩 비교하고, 마지막으로 Config 규칙과 연결 기록을 확인합니다.

DNS 설정이 영향을 주는 항목

DNS는 도메인 이름을 IP 주소로 변환합니다. 웹사이트를 열 때 클라이언트는 일반적으로 A 또는 AAAA 레코드를 조회한 다음 해당 주소로 연결합니다. A는 IPv4, AAAA는 IPv6 주소를 나타냅니다. 도메인 조회에 성공해도 이후 TCP, TLS 또는 프록시 연결까지 성공한다는 뜻은 아닙니다. 따라서 웹페이지가 열리지 않는 원인을 곧바로 DNS로 단정할 수 없습니다.

아래 흐름은 문제 해결을 위한 논리적 예시이며, 모든 연결이 항상 같은 순서로 처리된다는 뜻은 아닙니다. 도메인 규칙은 대상 IP를 얻기 전에 적용될 수 있고, IP 규칙은 조회 결과가 필요할 수 있습니다. 일부 프록시 연결에서는 도메인 조회를 원격 서버에 맡기기도 합니다.

도메인 요청 규칙 확인 필요에 따라 조회 아웃바운드 선택 연결 설정

세 가지를 구분해야 합니다. 어느 DNS 서버에 조회할지, 어떤 프로토콜로 조회를 보낼지, 조회 트래픽이 어떤 네트워크 경로를 이용할지입니다. 서버 주소를 바꾸면 첫 번째 항목만 지정됩니다. DoH를 선택하면 주로 두 번째 항목이 달라집니다. DNS 트래픽의 아웃바운드 경로는 현재 설정과 연결 조건의 영향을 받으므로 입력한 값만으로 판단할 수 없습니다.

53
일반 DNS에서 흔히 사용하는 UDP / TCP 포트
443
DoH에서 흔히 사용하는 HTTPS 포트. 엔드포인트에 따라 다를 수 있습니다.
2가지
일반적인 주소 레코드: A와 AAAA

시스템 DNS, 사용자 지정 DNS, DoH

시스템 DNS는 대개 기기에서 현재 네트워크가 제공하는 DNS 설정을 사용합니다. 초기 기준을 잡을 때 적합하며, 회사 인트라넷이나 학교 네트워크, 가정 내 LAN의 내부 도메인을 조회하는 데도 유리할 수 있습니다. Wi-Fi에서 셀룰러 네트워크로 전환하면 실제 DNS 서버가 달라질 수 있으므로 네트워크별 결과를 따로 기록하세요.

설정 방식 지정되는 항목 적합한 상황 주요 확인 사항
시스템 DNS 시스템 DNS 설정 사용 기준 설정 확인, 로컬 DNS 조회가 필요한 도메인 접속 네트워크 전환, 내부 도메인, 시스템 설정
사용자 지정 일반 DNS DNS 서버 주소 지정 조회 서버를 고정해야 하고 해당 서버에 연결할 수 있는 경우 UDP / TCP 53 연결 가능 여부와 응답 레코드
DNS over HTTPS 지정된 엔드포인트에 HTTPS로 조회 전송 암호화된 조회 전송이 필요하고 엔드포인트에 HTTPS로 연결할 수 있는 경우 전체 URL, 인증서, 시간, 초기 DNS 조회

‘사용자 지정’과 ‘암호화’는 서로 다른 기준입니다. 일반 DNS 서버의 IP 주소를 직접 입력해도 DoH로 전환되지 않습니다. DoH를 사용한다고 현재 네트워크에 더 적합한 주소가 반환되는 것도 아닙니다. 리졸버는 조회 요청의 출처나 자체 정책에 따라 서로 다른 CDN 주소를 반환할 수 있습니다. 리졸버를 바꾼 뒤 웹페이지가 느려졌다면 DNS 조회 자체가 느려진 것은 아닐 수 있습니다.

DoH는 기기와 DoH 엔드포인트 사이의 조회 전송을 암호화합니다. 엔드포인트가 받는 조회 내용을 숨기지는 않으며, 웹사이트 자체의 HTTPS를 대체하지도 않습니다. 모든 앱이 같은 DNS 경로를 사용하게 되는 것도 아닙니다. 일부 앱은 자체 캐시나 조회 방식을 사용하므로 확인할 때 이를 따로 고려해야 합니다.

판단 기준: 작동하는 기준 설정을 유지한 뒤 전송 방식을 변경하세요

시스템 DNS로 대상 웹사이트에 안정적으로 접속할 수 있다면 먼저 결과를 기록하세요. DNS 조회 오류가 분명하거나 암호화된 조회 전송이 필요한 경우에만 사용자 지정 DNS 또는 DoH를 테스트하고, 노드와 규칙, DNS를 동시에 변경하지 마세요.

Shadowrocket에서 DNS 설정하기

아래 설명은 iPhone / iPad의 Home, Config, Settings 화면 구성을 기준으로 합니다. 먼저 Home에서 현재 연결을 확인하고, Config에서 활성화된 구성을 확인한 다음 Settings → DNS에서 DNS 설정을 점검하세요. 플랫폼마다 메뉴 배치가 다를 수 있으므로 모바일 화면의 탭 위치를 그대로 따라 하면 안 됩니다.

  1. Home에서 현재 연결과 Global Routing 선택 항목을 기록하고, 사용 중인 Config를 복사해 보관하세요. 노드와 구독은 이용 중인 서비스 제공업체에서 받으세요. 이 글에서는 관련 서비스를 제공하거나 추천하지 않습니다.
  2. Settings → DNS에서 현재 설정을 확인하세요. 활성화된 Config의 [General]에 dns-server 항목이 있는지도 확인합니다. 한 곳만 바꾸고 실제 설정이 바뀌었다고 단정하지 마세요.
  3. 먼저 시스템 DNS로 접속을 테스트한 다음 DNS 항목만 바꾸세요. DoH를 사용한다면 DNS 서비스가 명시한 전체 HTTPS 엔드포인트를 입력해야 합니다. 서비스 소개 페이지 주소를 입력하면 안 됩니다.
  4. 저장한 뒤 연결을 다시 설정하고 같은 도메인에 다시 접속하세요. 이전 결과가 계속 표시되면 설정 적용 여부를 판단하기 전에 캐시와 앱의 기존 연결을 확인하세요.

아래 두 카드는 각 필드의 의미를 확인하기 위한 예시이며, 실제로 사용할 DNS 서비스가 아닙니다. 예시의 192.0.2.53은 문서용 주소이고 dns.example.com은 예시 호스트 이름입니다. 실제로 사용할 권한이 있고 연결 가능 여부를 확인한 값으로 바꾸세요.

일반 DNS 확인

설정 위치
Settings → DNS
시스템 값
system
주소 예시
192.0.2.53, 형식 설명용
설정 항목
[General] 아래의 dns-server

IP 주소를 입력하면 조회 대상 서버가 지정되지만, 전송이 자동으로 암호화되지는 않습니다.

DoH 확인

프로토콜
https://
엔드포인트 예시
https://dns.example.com/dns-query
경로
실제 DNS 서비스에서 안내하는 경로를 사용하세요.
인증서 요건
인증서가 유효하고 엔드포인트 호스트 이름과 일치해야 합니다.

DoH 엔드포인트는 구독 링크가 아닙니다. 구독 내용을 DNS 항목에 입력하지 마세요.

Config 파일로 DNS를 관리한다면 아래의 최소 설정 조각을 사용해 시스템 DNS 기준을 먼저 확인할 수 있습니다. 이 조각은 파일 일부일 뿐이며 프록시와 규칙 설정을 포함하지 않습니다. 기존 파일 전체를 덮어쓰는 완전한 설정으로 사용하지 마세요. 원격 Config를 업데이트하면 파일 내용이 바뀔 수 있으므로 업데이트한 뒤 관련 항목을 다시 확인하세요.

[General]
dns-server = system

DNS와 규칙 기반 라우팅의 관계

Global Routing의 Proxy, Direct, Config, Scene은 라우팅 모드이며 DNS 프로토콜 네 가지를 뜻하지 않습니다. Proxy와 Direct는 전체 아웃바운드 방식을 선택합니다. Config는 현재 구성의 규칙에 따라 처리하고, Scene은 선택한 장면의 설정에 따라 처리합니다. 규칙을 점검할 때는 먼저 의도한 모드인지 확인하세요. Direct 모드에서 접속한 결과만으로 프록시 규칙이 적용됐다고 판단할 수 없습니다.

아래 설정 조각은 도메인 규칙, IP 규칙, 기본 처리 규칙의 순서를 보여줍니다. example.com과 192.0.2.0/24는 문법을 설명하기 위한 예시입니다. PROXY에는 현재 구성에서 사용할 수 있는 프록시 정책이 지정되어 있어야 합니다.

[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.0.2.0/24,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY

DoH 요청도 서버에 연결해야 합니다. 엔드포인트가 도메인 이름을 사용한다면 처음 연결할 때 해당 도메인의 IP 주소를 먼저 조회해야 하는 경우가 많습니다. 이를 초기 DNS 조회라고 합니다. 초기 조회나 엔드포인트 연결에 실패하면 일반 웹사이트도 DNS 조회를 기다리며 열리지 않을 수 있습니다. ‘엔드포인트 연결에는 프록시가 필요하고, 프록시 연결에는 해당 엔드포인트의 DNS 조회가 필요한’ 순환 의존성이 생기지 않도록 설정하세요.

DNS 설정 적용 여부 확인하기

설정, 조회, 아웃바운드의 세 가지 측면에서 확인해야 합니다. 화면에 저장 완료가 표시되는 것은 입력이 승인됐다는 뜻일 뿐입니다. 웹사이트가 열린다는 것도 이용 가능한 경로로 접속을 마쳤다는 뜻일 뿐입니다. 신뢰할 수 있는 결론을 내리려면 현재 설정, DNS 조회 결과, 실제 연결 기록을 서로 대조해야 합니다. 웹페이지가 한 번 열렸는지만으로 판단하지 마세요.

  1. 조건을 고정합니다. 같은 기기, 같은 Wi-Fi, 같은 노드, 같은 Global Routing, 같은 도메인을 유지하고 DNS만 변경하세요. 변경 전후에 DNS 조회 시간 초과, 연결 시간 초과, TLS 오류가 발생하는지 기록합니다.
  2. DNS 조회를 확인합니다. 현재 플랫폼에서 사용할 수 있는 DNS 조회 도구나 연결 기록으로 대상 도메인의 A / AAAA 결과를 확인하세요. 조회 도구에서 별도의 DNS 서버를 지정했다면 그 서버만 확인한 것입니다. Shadowrocket의 현재 설정이 적용됐다는 증거는 아닙니다.
  3. 엔드포인트를 확인합니다. DoH를 사용하는 경우 엔드포인트 호스트 이름에 해당하는 연결 기록을 찾고 실제 포트도 확인하세요. HTTPS 연결이 표시되더라도 DNS 응답까지 성공했다는 뜻은 아닙니다. 오류 기록도 함께 확인해야 합니다.
  4. 규칙을 확인합니다. 대상 요청에 적용된 규칙과 정책, 아웃바운드를 확인하세요. DNS 조회는 성공했지만 예상과 다른 정책이 적용됐다면 리졸버를 계속 바꾸기보다 Config로 돌아가 규칙 순서를 조정하세요.
  5. 다시 테스트합니다. 연결을 다시 설정하고 앱을 다시 연 뒤 테스트하세요. 그다음 셀룰러 네트워크로만 전환해 다시 확인합니다. 첫 번째 테스트와 네트워크 전환 테스트를 분리해 네트워크 차이를 DNS 차이로 오인하지 않도록 하세요.

캐시는 판단에 큰 영향을 줄 수 있습니다. 시스템, 브라우저, 앱, 리졸버가 결과를 캐시할 수 있고 기존 연결이 계속 재사용될 수도 있습니다. 페이지가 바로 열려도 새 DNS 조회가 발생하지 않았을 수 있습니다. DNS를 바꾼 뒤에도 이전 주소가 표시된다고 설정 변경에 실패한 것은 아닙니다. 설정을 반복해서 전환하기보다 기록에 표시된 새 조회 시간과 연결 시간을 대조하세요.

판단 기준: DNS 조회를 확인한 다음 아웃바운드를 점검하세요

합리적인 A / AAAA 결과를 얻었는데 연결 기록에 이후 시간 초과가 표시된다면 다음으로 대상 주소의 연결 가능 여부, IPv6 경로, 프록시 아웃바운드를 확인하세요. DNS 변경을 기본 해결책으로 삼지 마세요.

자주 발생하는 DNS 문제와 해결 방법

DoH를 설정한 뒤 모든 웹페이지가 열리지 않으면 무엇부터 확인해야 하나요?

먼저 변경 전 시스템 DNS 기준으로 되돌리고 연결을 다시 설정하세요. 바로 접속이 복구되면 DoH 전체 URL, 엔드포인트 호스트 이름의 초기 조회, 인증서, 기기 시간을 차례로 확인합니다. 인증서 검증을 끄는 방식으로 오류를 우회하지 마세요. 엔드포인트 경로를 잘못 입력해도 조회에 실패할 수 있습니다.

집에서는 되는데 회사 내부 도메인만 작동하지 않는 이유는 무엇인가요?

먼저 해당 도메인이 회사 내부 DNS에서만 제공되는지 확인하세요. 외부 리졸버에는 내부 레코드가 없을 수 있습니다. 해당 네트워크에서 요구하는 시스템 DNS 설정을 복원하거나 관리자가 확인한 도메인별 DNS 설정을 사용하세요. 회사 내부 도메인을 외부 엔드포인트에 일괄 조회하지 마세요.

주소가 조회되는데 웹페이지가 계속 로딩 중이면 어떻게 해야 하나요?

Home에서 연결 상태와 Global Routing을 확인한 다음 Config에서 적용된 정책을 확인하세요. A와 AAAA 결과도 각각 살펴보세요. IPv6 대상에만 연결할 수 없다면 IPv6 경로를 점검해야 합니다. DNS 조회 성공과 주소에 연결할 수 있는지는 별개의 문제이므로 DNS 결과만으로 네트워크 경로 상태를 판단할 수 없습니다.

DNS 테스트 페이지에 다른 리졸버가 표시되면 설정이 적용되지 않은 건가요?

반드시 그런 것은 아닙니다. 테스트 결과에는 상위 리졸버나 외부 연결 지점이 표시될 수 있고, 앱이 별도의 DNS 조회 방식을 사용할 수도 있습니다. 먼저 테스트 당시 Shadowrocket이 연결되어 있었는지 확인한 뒤 현재 Config, DNS 조회, 엔드포인트 연결 기록을 점검하세요. 표시된 업체 이름만으로 DNS 경로를 판단할 수 없습니다.

구독 새로고침이 시간 초과되면 DNS부터 바꿔야 하나요?

먼저 구독 도메인의 DNS 조회 실패, HTTPS 연결 실패, 서비스 제공업체의 오류를 구분하세요. 구독은 이용 중인 서비스 제공업체에서 받습니다. 링크가 만료됐거나 인증 상태에 문제가 있다면 해당 제공업체에 문의하세요. 기록에서 도메인 조회 실패가 명확히 확인된 경우에만 이 글의 DNS 비교 절차를 따르세요.

실제 네트워크에서 안정적으로 DNS 조회를 완료하고 내부 네트워크 접근 및 개인정보 보호 요구에도 맞는 설정을 사용하세요. 평소처럼 사용하기 전에 문서 예시 값을 삭제하고 필요한 On Demand 조건을 복원한 다음 검증된 Config를 저장합니다. 이후 네트워크와 설정을 함께 바꾼다면 새로운 비교 기준을 다시 마련하세요.

Shadowrocket 공식 다운로드