Shadowrocket DNS 설정 방법: 시스템 DNS, 사용자 지정 DNS, DNS over HTTPS 비교

Shadowrocket의 시스템 DNS, 사용자 지정 DNS, DNS over HTTPS 차이를 비교하고, 설정 파일의 DNS 항목 작성법과 적용 확인 방법을 안내합니다.

이 글 미리보기

이 글은 Shadowrocket에 본인 구독을 가져온 뒤 도메인 조회 문제를 확인하려는 사용자를 위한 안내입니다. 먼저 DNS 서버 주소, 조회 전송 방식, 연결 출구를 구분하세요. 현재 설정의 [General]과 dns-server를 한 번에 하나씩 수정한 다음, 같은 도메인과 네트워크에서 결과를 기록해 확인하면 됩니다. 웹페이지가 열리는지만으로 DNS 적용 여부를 판단하지 마세요.

1. DNS 설정이 결정하는 것과 결정하지 않는 것

Shadowrocket의 DNS 설정은 도메인 이름을 이후 연결에 필요한 IP 주소로 변환하는 과정에 영향을 줍니다. 시스템 DNS는 현재 시스템 네트워크가 제공하는 리졸버를 사용하고, 사용자 지정 DNS는 리졸버 주소를 직접 지정하는 방식입니다. DNS over HTTPS는 조회 정보를 HTTPS로 전송한다는 뜻입니다. 이 세 가지는 서로 완전히 배타적인 분류가 아닙니다. 직접 지정한 리졸버도 DNS over HTTPS를 사용할 수 있습니다.

DNS 조회와 프록시를 통한 연결은 서로 다른 단계입니다. 주소가 확인됐다고 해서 이후 연결에 반드시 Proxy가 사용되는 것은 아닙니다. 암호화 DNS를 사용하더라도 모든 DNS 요청이 기존 서버를 거친다는 보장은 없습니다. 실제 동작은 현재 설정, Global Routing, DNS 요청 자체의 라우팅, 대상 도메인을 원격에서 조회하는지 여부에 따라 달라집니다.

도메인 요청 조회 경로 선택 주소 결과 연결 규칙 매칭 대상 연결

위 흐름은 각 단계의 역할을 구분하기 위한 것이며, 모든 연결에서 반드시 로컬 조회를 먼저 한다는 뜻은 아닙니다. 도메인 정보가 있으면 DOMAIN-SUFFIX 같은 도메인 규칙을 바로 적용할 수 있고, 일부 연결은 도메인 조회를 원격에 맡길 수도 있습니다. IP-CIDR, GEOIP처럼 주소 정보가 필요한 규칙은 실제 조회 결과와 규칙 옵션을 함께 고려해야 합니다.

2. 시스템 DNS, 사용자 지정 DNS, DNS over HTTPS 선택하기

먼저 안정적으로 동작하는 기본 설정을 유지하세요. 현재 네트워크의 DNS가 필요한 도메인을 정상적으로 조회한다면 시스템 DNS가 Wi-Fi, 셀룰러 네트워크, 내부 네트워크에 유연하게 대응하기 쉽습니다. 특정 리졸버를 점검하거나 조회 대상을 고정하려면 사용자 지정 DNS를 테스트하세요. 기기와 리졸버 사이의 조회 전송을 암호화하려면 DNS over HTTPS를 검토하면 됩니다.

설정 방식 조회 대상 및 전송 방식 주요 점검 상황 주요 제한 사항
시스템 DNS 시스템이 현재 제공하는 리졸버를 사용합니다. 전송 방식은 실제 네트워크 설정에 따라 달라집니다. 네트워크 기본 동작을 유지하고 내부 도메인과 로그인 네트워크를 확인할 때 적합합니다. 네트워크를 바꾸면 리졸버와 조회 결과가 달라질 수 있습니다.
사용자 지정 일반 DNS IP 주소를 지정합니다. 일반 DNS는 보통 UDP 53을 사용하고, 필요한 경우 TCP 53을 사용합니다. 기본 리졸버와 지정한 리졸버의 연결 가능 여부 및 응답을 비교합니다. 주소를 직접 지정하는 것만으로는 전송이 암호화되지 않습니다.
DNS over HTTPS HTTPS 조회 엔드포인트를 지정하며, 일반적으로 443 포트를 사용합니다. 암호화된 조회 경로와 엔드포인트 연결 상태를 확인합니다. HTTPS 연결, 인증서 검증, 엔드포인트 사용 가능 여부에 좌우됩니다.
53
일반 DNS의 표준 서비스 포트: UDP 또는 TCP 사용
443
HTTPS 기본 포트이자 DoH 엔드포인트에서 흔히 사용하는 포트
2가지
일반적인 주소 레코드: A는 IPv4, AAAA는 IPv6

DNS over HTTPS는 기기와 리졸버 사이의 조회 전송을 보호합니다. 리졸버는 조회 내용을 처리할 수 있습니다. 웹사이트에 접속할 때 사용하는 HTTPS를 대체하지 않으며, 지연 시간이 줄어든다고 보장하지도 않습니다. 암호화 연결을 처음 설정하는 과정, 네트워크 차단 여부, 리졸버까지의 거리, 캐시 상태에 따라 조회 시간이 달라질 수 있습니다.

정리: 이름이나 속도가 아니라 해결하려는 문제에 따라 선택하세요

기본 DNS가 정상이라면 그대로 두세요. 기본 DNS에 문제가 있을 때는 먼저 리졸버 하나를 지정해 테스트하세요. 조회 전송의 암호화를 확인하려면 그다음 DoH만 바꾸고 나머지 설정은 유지하세요.

3. Config에서 dns-server 수정하기

먼저 Home → Global Routing에서 현재 모드를 확인한 다음, Config에서 실제로 활성화된 설정을 확인하세요. 아래 검증 절차는 Config 모드를 기준으로 합니다. Proxy와 Direct는 연결 처리 방식을 바꿉니다. Scene을 사용한다면 네트워크를 바꿀 때 기준 설정이 달라지지 않도록 현재 Scene에 연결된 설정과 라우팅 상태를 먼저 확인하세요.

  1. Config에서 현재 사용 중인 설정을 확인하고, 원본을 별도로 보관한 뒤 기존 dns-server 값을 기록하세요.
  2. 해당 설정의 편집 메뉴를 열고 Edit Plain Text로 들어가세요. 기존 [General] 섹션을 찾아 같은 이름의 섹션을 중복해서 추가하지 마세요.
  3. 기존 [General] 섹션에서 dns-server 값을 바꾸세요. 아래 세 가지 예시는 서로 대체하는 방식이므로, 이름이 같은 항목을 세 줄 모두 붙여 넣지 마세요.
  4. 저장한 뒤 수정된 설정이 활성화됐는지 확인하고 다시 연결한 다음 새로운 도메인 요청을 보내세요. 기존 연결을 재사용하는 페이지를 새로고침하는 것만으로는 충분하지 않습니다.

시스템 DNS 설정 예시

[General]
dns-server = system

system은 시스템이 제공하는 리졸버를 사용한다는 뜻이며, 고정된 주소가 아닙니다. Wi-Fi와 셀룰러 네트워크를 전환하면 시스템에서 사용할 수 있는 DNS 정보가 달라질 수 있습니다. 사무실이나 집 네트워크에서만 유효한 내부 도메인이 있다면, 공용 리졸버로 바꿀 경우 해당 도메인을 조회하지 못할 수 있습니다.

일반 DNS 주소 지정하기

[General]
dns-server = 1.1.1.1

아래 주소는 항목 작성법을 보여 주기 위한 예시일 뿐, 특정 DNS 서비스를 추천하거나 속도를 보장하지 않습니다. 리졸버를 여러 개 입력하려면 쉼표로 구분할 수 있습니다. 예: dns-server = 1.1.1.1, 1.0.0.1. 목록 순서대로 첫 번째 조회에 실패하면 두 번째 리졸버를 사용한다고 보장되지는 않습니다. 문제를 쉽게 파악하려면 처음에는 리졸버 하나만 사용하세요.

DNS over HTTPS 설정 예시

[General]
dns-server = https://1.1.1.1/dns-query

이 엔드포인트는 전체 URL 작성 형식을 보여 주기 위한 예시입니다. DoH 주소에는 DNS 서비스가 실제로 제공하는 HTTPS 조회 엔드포인트를 입력해야 합니다. 일반 웹사이트의 홈 주소를 DNS 서버로 사용할 수는 없습니다. IP 주소 형식의 HTTPS 엔드포인트를 사용한다면 서비스 인증서에 해당 IP가 포함되어 있어야 합니다. 임의의 도메인 엔드포인트를 조회된 IP로 바꾸거나, 인증서 검증을 끄는 방식으로 오류를 해결하지 마세요.

설정 입력 확인 항목

경로
Config → 현재 설정 → Edit Plain Text
섹션
[General]
항목
dns-server
수정 범위
한 번에 DNS 값 하나만 변경

원본 설정의 해당 줄만 수정하고, 일부 설정을 전체 파일에 덮어쓰지 마세요.

적용 조건 확인

설정
방금 저장한 설정 활성화
모드
Home → Global Routing 확인
연결
다시 연결한 뒤 새 요청 보내기
자동 연결
Settings → On Demand 확인

On Demand는 조건에 따라 연결을 시작하는 기능이며, DNS 리졸버를 선택하는 기능은 아닙니다.

4. 반복 가능한 단계로 DNS 적용 여부 확인하기

웹페이지가 열린다는 사실만으로는 이번 조회에 어떤 리졸버가 사용됐는지 알 수 없습니다. 브라우저가 기존 연결을 재사용하거나 앱이 주소를 캐시할 수 있으며, 일부 앱은 별도의 암호화 DNS를 사용하기도 합니다. 확인할 때는 “조회가 발생했는지”, “어떤 결과가 반환됐는지”, “이후 어떻게 연결됐는지”를 나누어 기록하세요.

  1. 테스트 조건을 고정하세요. 같은 기기와 네트워크, 같은 기존 서버, 같은 Global Routing 모드를 사용하세요. 설정 파일 이름과 현재 dns-server 값도 기록하세요.
  2. 시스템 DNS 기준 결과를 기록하세요. 먼저 system으로 정상 작동이 확인된 도메인 하나와 문제가 발생한 도메인 하나를 테스트하고, 성공·시간 초과·도메인 없음 등의 결과를 각각 기록하세요.
  3. DNS만 변경하세요. 리졸버 하나를 지정하고 다시 연결한 뒤, 테스트 앱을 완전히 종료했다가 다시 열어 확인하세요. 새 연결을 사용하면 연결 재사용의 영향을 줄일 수 있지만, 시스템과 앱의 모든 캐시가 지워지는 것은 아닙니다.
  4. 확인 가능한 기록을 점검하세요. Shadowrocket의 로그나 요청 기록에서 테스트 도메인, 조회 유형, 반환된 주소, 오류 메시지를 찾으세요. 리졸버나 출구 정보가 표시된다면 함께 기록하세요. Data의 트래픽 증가만으로는 DNS가 적용됐다고 볼 수 없습니다.
  5. 마지막으로 DoH를 테스트하세요. HTTPS 엔드포인트로 바꾼 뒤 같은 절차를 반복하세요. 엔드포인트가 웹페이지를 반환하거나 HTTP 오류 또는 TLS 오류가 발생하면 먼저 엔드포인트 문제를 해결하세요. 이때 규칙까지 동시에 변경하지 마세요.
기록 항목기록할 내용목적
네트워크 및 설정Wi-Fi 또는 셀룰러, 설정 이름, Global Routing 모드테스트 조건이 달라지는 것을 방지
조회도메인, A 또는 AAAA, 성공 여부 또는 구체적인 오류주소 유형과 조회 실패 구분
응답반환된 IP, 확인 가능한 TTL, 캐시 사용 여부캐시와 결과 변화 확인
후속 연결일치한 규칙, 출구 정책, 연결 결과DNS 문제와 라우팅 문제 구분

리졸버마다 서로 다른 IP를 반환한다고 해서 반드시 오류인 것은 아닙니다. CDN 라우팅, 리졸버 위치, 캐시 갱신, 네트워크 환경에 따라 응답이 달라질 수 있습니다. 두 번의 IP가 다르다는 이유만으로 조회 오류라고 판단하지 말고, 대상에 연결되는지, 인증서가 올바른지, 문제가 반복되는지를 함께 확인하세요.

5. 장애 증상에 따라 점검 범위 좁히기

문제가 발생하면 먼저 앞서 진행한 단일 변수 테스트로 돌아가세요. 특히 DNS, Global Routing, 기존 서버, 규칙 파일을 한꺼번에 변경하지 마세요. 접속이 복구되더라도 어떤 변경이 원인이었는지 알기 어렵습니다.

정리: 주소가 확인됐는데 연결되지 않는다면 DNS 변경을 멈추세요

조회가 성공한 것을 확인했다면 일치한 규칙, 출구 경로, 대상 연결 상태를 점검하세요. 응답이 잘못됐거나 조회 경로에 문제가 있을 때만 리졸버를 계속 조정하면 됩니다.

6. 결과 저장 및 원래 설정 복구

반복해서 같은 결과를 확인한 다음 변경 사항을 계속 유지할지 결정하세요. 현재 네트워크의 DNS에 의존하는 환경에는 시스템 DNS가 적합하고, 조회 대상을 직접 관리하려면 리졸버를 지정할 수 있습니다. 암호화된 조회 전송이 필요하고 엔드포인트 연결이 안정적인 환경에는 DoH가 적합합니다. 세 방식 모두 실제 네트워크에서 확인해야 하며, 항목 이름만으로 최선의 설정을 일률적으로 정할 수는 없습니다.

  1. 유효한 설정의 dns-server 값, 테스트 네트워크, 장애 증상을 기록하세요. 기존 구독에 포함된 인증 정보는 기록하지 마세요.
  2. 자주 사용하는 Wi-Fi와 셀룰러 네트워크에서 각각 다시 테스트해, 네트워크 전환 후 연결할 수 없는 리졸버에 의존하지 않는지 확인하세요.
  3. 원격 설정을 사용한다면 업데이트 후 [General]을 다시 확인하세요. 서버 구독 갱신과 DNS 설정 변경은 서로 다른 작업입니다.
  4. 변경을 취소하려면 백업한 원래 값으로 복구한 다음 다시 연결하세요. 이전에 시스템 DNS를 사용했다면 dns-server = system으로 되돌리면 됩니다.

이 글은 주로 iPhone과 iPad에서 설정을 편집하고 문제를 확인하는 방법을 다룹니다. Shadowrocket은 Apple 플랫폼용 유료 클라이언트이며, App Store에서만 받을 수 있습니다. 시스템 요구 사항과 다른 기기 호환성, 공통 구매 정보는 App Store 페이지를 확인하세요. 앱 구매와 사용자가 보유한 구독은 별도로 관리됩니다. 앱 일회성 구매는 연결 서비스 요금제와 다릅니다.

Shadowrocket 정품 받기