Shadowrocket WireGuard 설정 방법: Private Key, Peer, Allowed IPs, MTU 입력 가이드

서비스 제공자가 준 WireGuard 설정을 기준으로 Interface와 Peer의 각 항목을 Shadowrocket에서 어디에 입력하는지, MTU와 연결 유지 설정은 어떻게 해야 하는지 설명합니다.

이 글의 핵심

WireGuard 설정을 이미 보유하고 있으며 Shadowrocket에 항목을 직접 입력하고 확인하려는 사용자를 위한 안내입니다. 먼저 내 기기의 Interface와 상대 Peer를 구분한 다음 키, Endpoint, Allowed IPs를 확인하세요. 기본 연결이 된 뒤 실제 증상에 따라 MTU와 Persistent Keepalive를 조정하면 됩니다. 글에 나오는 주소와 포트는 형식 설명용이며 연결 정보로 사용할 수 없습니다.

먼저 설정 구분하기: Interface는 내 기기, Peer는 상대

WireGuard 설정은 보통 [Interface]와 [Peer] 두 부분으로 나뉩니다. 앞부분에는 이 기기에서 사용하는 Private Key와 터널 내부 Address, 경우에 따라 DNS와 MTU가 들어갑니다. 뒷부분에는 연결할 상대의 Public Key, Endpoint, Allowed IPs와 선택 항목인 Persistent Keepalive가 포함됩니다. Shadowrocket의 항목 배열은 텍스트 설정과 다를 수 있지만 두 부분의 키를 서로 바꿔 입력하면 안 됩니다.

Shadowrocket의 Home 화면에서 오른쪽 위 ‘+’를 누르고 Type에서 WireGuard를 선택한 다음, 보유한 자료를 참고해 해당 항목을 입력하세요. 서비스 제공자가 전체 설정 텍스트를 제공했다면 각 줄이 어느 부분에 해당하는지 먼저 확인하세요. 일부 항목이 빠진 스크린샷만 보고 값을 추측하지 마세요. 표시 방식에 따라 항목의 분류와 이름이 다를 수 있으므로 현재 앱 화면을 기준으로 입력하세요.

2개 섹션
Interface는 내 기기, Peer는 상대를 설명합니다
51820
아래 Endpoint 예시에 나온 포트는 고정값이 아닙니다
/0
Allowed IPs에서 모든 주소를 포함하는 프리픽스 길이

아래 텍스트는 각 항목이 어디에 속하는지 보여 주기 위한 예시입니다. 예시 키는 실제 인증 정보가 아니며 example.com도 연결 가능한 서버 주소가 아닙니다. 실제 입력 시에는 보유한 설정에 적힌 값을 항목별로 그대로 사용하세요.

[Interface]
PrivateKey = AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
Address = 10.66.0.2/32
DNS = 10.66.0.1

[Peer]
PublicKey = BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB=
Endpoint = wg.example.com:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25

Interface 입력하기: Private Key, Address, DNS

Private Key는 내 기기의 개인 키이며, 보유한 설정에서 PrivateKey 행을 찾아 전체를 복사해야 합니다. Peer의 PublicKey나 계정 비밀번호와는 다릅니다. 복사할 때 앞뒤 공백이나 줄바꿈이 포함되지 않았는지, 문자가 빠지지 않았는지 확인하세요. 개인 키를 공개 게시물이나 문제 화면 캡처에 올리지 마세요. 기존 설정에 개인 키가 없다면 예시 값으로 임의 대체하지 말고 원래 설정을 제공한 곳에 문의하세요.

Address는 내 기기에 할당된 터널 내부 주소이며, 보통 프리픽스 길이와 함께 제공됩니다. 예를 들면 10.66.0.2/32입니다. 여기서 /32는 주소 설정의 일부이지 Endpoint 포트가 아닙니다. 자료에 IPv6 주소도 있다면 원래 설정의 형식에 맞춰 함께 확인하세요. 서버 주소를 내 기기의 Address에 입력하면 안 됩니다.

  1. 편집 화면 열기

    Home에서 오른쪽 위 ‘+’ → Type → WireGuard를 선택해 내 기기와 Peer 항목의 입력 위치를 찾으세요. 기존 항목을 수정하는 경우 해당 항목의 편집 화면에서 확인하면 됩니다.

  2. 내 기기 항목 확인

    [Interface]의 PrivateKey를 Private Key에, Address를 기기 주소 항목에 입력하세요. 자료에 적힌 프리픽스 길이도 그대로 유지해야 합니다.

  3. 상대 항목 확인

    [Peer]의 PublicKey, Endpoint, AllowedIPs를 각각 해당 항목에 입력하세요. 저장하기 전에 각 키가 올바른 위치에 들어갔는지 다시 확인하세요.

  4. 저장 후 연결 확인

    Home으로 돌아가 방금 저장한 항목을 선택해 연결하세요. 먼저 연결이 성립하는지 확인한 다음 대상 주소에 접속해 보세요. 키와 Endpoint를 확인하기 전에는 MTU를 반복해서 바꾸지 마세요.

DNS는 터널 사용 시 도메인 이름을 조회할 주소를 지정하며, 내 기기의 Address와는 다릅니다. 자료에 DNS = 10.66.0.1이라고 적혀 있다면 이 주소가 기존 서비스 설정에 실제로 포함되는지 먼저 확인한 뒤, Shadowrocket의 DNS 설정이 현재 설정과 일치하는지 살펴보세요. 상대와 연결되지만 IP 주소로만 접속되고 도메인은 조회되지 않는다면 DNS를 우선 점검할 수 있습니다. 이런 증상만으로 키가 잘못됐다고 단정할 수는 없습니다.

Peer 입력하기: Public Key, Endpoint, 연결 유지

Public Key는 보유한 설정에 포함된 상대의 공개 키입니다. 내 기기의 Private Key와 각각 올바른 위치에 입력해야 합니다. 문자가 맞지 않으면 Endpoint에 접속할 수 있더라도 예상한 WireGuard 핸드셰이크가 완료되지 않습니다. 자료에 PresharedKey가 추가로 있다면 화면의 Pre-shared Key 항목을 확인하고 원래 값을 입력하세요. 제공되지 않았다면 임의로 만들 필요가 없습니다.

Endpoint는 호스트 이름 또는 IP 주소와 포트로 구성됩니다. 예를 들면 wg.example.com:51820입니다. 51820은 형식을 보여 주는 예시일 뿐이며 실제 포트는 보유한 설정을 기준으로 입력해야 합니다. 복사할 때 콜론을 빠뜨리지 말고, 터널 내부 IP인 Address를 Endpoint로 잘못 입력하지 마세요. Endpoint가 도메인 이름이라면 연결 전에 해당 이름을 조회할 수 있어야 합니다. 도메인 조회 실패와 포트에 연결할 수 없는 문제는 각각 다른 방향으로 확인해야 합니다.

연결 유지 설정: 기존 값을 우선 사용하고 네트워크 증상에 따라 조정

설정에 값이 있는 경우
  • PersistentKeepalive에 원래 값을 입력하세요. 예를 들어 자료에 25초라고 명시되어 있다면 그대로 사용합니다.
  • 저장한 뒤 네트워크를 전환하거나 기기를 다시 깨울 때 연결을 새로 설정해야 하는지 살펴보세요.
설정에 값이 없는 경우
  • 먼저 화면의 기본 상태를 유지하고 예시 값을 일반적인 필수값으로 간주하지 마세요.
  • 연결을 한동안 사용하지 않은 뒤 다시 연결하기 어렵다면 Endpoint와 네트워크를 먼저 확인한 다음, 원래 설정을 제공한 곳에 연결 유지 기능이 필요한지 문의하세요.

Persistent Keepalive는 일정 간격으로 매핑을 유지하는 패킷을 보냅니다. 잘못된 Public Key, 포트, Allowed IPs를 바로잡아 주지는 않습니다.

WireGuard는 키로 상대를 식별하고 Endpoint로 데이터를 보낼 위치를 지정합니다. 따라서 ‘항목을 저장할 수 있다’는 것은 입력 형식이 허용되었다는 뜻일 뿐, 상대와 핸드셰이크가 완료되었다는 의미는 아닙니다. 문제를 확인할 때는 설정 저장, 연결 성립, 대상 접속을 각각 나누어 살펴보세요. 모든 실패의 원인을 하나의 설정 항목으로 돌리지 않는 것이 좋습니다.

Allowed IPs: Peer로 보낼 대상 주소 범위

Allowed IPs는 구독 주소나 서버의 접속 허용 목록이 아닙니다. 내 기기의 설정에서 어떤 대상 주소를 해당 Peer로 보낼지 지정합니다. 0.0.0.0/0은 모든 IPv4 주소를, ::/0은 모든 IPv6 주소를 포함합니다. 둘 다 있으면 두 종류의 주소에 해당하는 트래픽을 이 Peer로 보냅니다. 자료에 특정 네트워크 대역만 적혀 있다면 편의를 위해 임의로 /0으로 바꾸지 마세요.

예를 들어 10.66.0.0/24는 해당 IPv4 네트워크 대역만 포함합니다. 특정 네트워크 대역에 접속하고 다른 주소는 기존 방식으로 처리하려는 경우, 이 설정은 모든 주소를 포함하는 설정과 범위가 다릅니다. 프리픽스가 짧을수록 일반적으로 포함되는 주소 범위가 넓고, /32는 IPv4 주소 하나만 포함합니다. 내 기기의 Address = 10.66.0.2/32와 Peer의 AllowedIPs = 10.66.0.0/24를 구분하세요. 값이 비슷해 보여도 역할은 다릅니다.

Allowed IPs 범위 두 가지

특정 네트워크 대역
  • 예: 10.66.0.0/24.
  • 해당 범위에 포함되는 대상 주소만 Peer로 보냅니다. 기존 설정에서 특정 네트워크 대역에 접속하도록 지정한 경우에 적합합니다.
모든 주소
  • 예: 0.0.0.0/0, ::/0.
  • IPv4와 IPv6의 모든 대상 주소를 포함합니다. 이 범위가 실제로 기존 설정에서 요구한 것인지 확인하세요.

먼저 보유한 설정을 그대로 입력하고 원하는 대상에 접속해 보세요. 특정 웹페이지가 열리지 않는다는 이유만으로 Allowed IPs 범위를 넓히지 마세요.

WireGuard의 Allowed IPs와 Shadowrocket의 Global Routing도 구분해야 합니다. 전자는 특정 Peer로 보낼 주소 범위를 정하고, 후자는 앱이 요청을 처리하는 방식을 정합니다. Proxy, Direct, Config 등의 모드에 따라 테스트 결과가 달라질 수 있습니다. 현재 모드가 Direct라면 웹페이지에 접속되는지만으로 새로 만든 WireGuard 항목이 해당 요청을 처리하는지 판단할 수 없습니다. Config를 사용하는 경우에는 규칙이 일치하는지와 어떤 정책이 선택되는지도 확인해야 합니다.

MTU 입력 방법: 기존 값을 우선 사용하고 증상에 따라 확인

MTU는 터널에서 한 번에 전송하는 패킷의 크기를 제한합니다. WireGuard의 캡슐화가 전송 공간을 일부 사용하고 하위 네트워크의 경로 제한도 다를 수 있어 모든 연결에 맞는 단일 값은 없습니다. 기존 설정에 MTU가 명시되어 있다면 우선 그대로 입력하세요. 값이 없다면 Shadowrocket의 현재 기본 설정을 유지하고, 연결이 성립하기도 전에 추측한 값으로 덮어쓰지 마세요.

핸드셰이크나 기본 접속은 되지만 일부 페이지가 오래 로드되거나 큰 콘텐츠 전송이 중단된다면 MTU도 점검 대상에 포함할 수 있습니다. 다만 같은 증상은 DNS, 대상 서비스 또는 네트워크 변화로도 발생할 수 있습니다. 키와 Endpoint를 먼저 확인하고, Allowed IPs와 Global Routing을 점검한 뒤, 기존 설정을 기록해 둔 상태에서 원래 설정을 제공한 곳의 안내에 따라 MTU를 조정하세요. 같은 네트워크와 같은 대상을 사용해 다시 테스트하는 것이 좋습니다.

Wi‑Fi에서 셀룰러 네트워크로 전환하면 경로 조건이 달라질 수 있습니다. 이전에 한 번 테스트에 성공했다고 해서 모든 네트워크에서 설정이 동일하게 작동한다고 볼 수는 없습니다. Settings → On Demand는 네트워크 조건에 따라 연결하는 동작과 관련된 별도 설정입니다. 항목 자체를 점검할 때는 네트워크 환경을 분명히 정한 뒤 같은 WireGuard 설정을 직접 선택해 테스트하세요. 자동 연결 조건의 변화를 MTU 문제로 오인하지 않도록 주의해야 합니다.

연결 후 문제 해결: 증상이 나타나는 단계별 확인

문제를 확인하기 전에 방금 수정한 항목을 사용 중인지 먼저 확인하세요. 그런 다음 ‘연결을 설정할 수 없음’, ‘연결 후 특정 네트워크 대역에 접속할 수 없음’, ‘도메인 조회 또는 콘텐츠 로딩 이상’ 중 어느 단계에서 문제가 발생하는지 기록합니다. 증상에 따라 확인할 항목이 다릅니다. 설정을 저장한 뒤 키, DNS, Allowed IPs, MTU를 한꺼번에 바꾸면 결과를 비교하기 어렵습니다.

설정을 저장했는데도 연결되지 않는 이유는 무엇인가요?

먼저 Home에서 대상 항목을 선택했는지 확인한 다음, 내 기기의 Private Key와 Peer의 Public Key, Endpoint의 호스트와 포트를 한 글자씩 대조하세요. 저장에 성공해도 상대와 핸드셰이크가 완료된 것은 아닙니다. MTU부터 무작정 바꾸지 마세요.

터널은 연결됐는데 특정 네트워크 대역에 접속할 수 없나요?

Peer의 Allowed IPs에 대상 주소가 포함되는지 확인하세요. 예를 들어 대상이 10.66.0.20이면 10.66.0.0/24로 포함할 수 있습니다. Global Routing과 기존 규칙이 해당 요청을 대상 설정으로 보내는지도 확인해야 합니다.

IP 주소로는 접속되는데 도메인은 열리지 않나요?

기존 설정의 DNS 값이 올바르게 입력되었는지 확인하고 현재 연결 환경에서 DNS 주소에 접속할 수 있는지도 살펴보세요. 같은 네트워크에서 IP 주소와 도메인을 각각 테스트하세요. 웹페이지 오류가 한 번 발생했다고 WireGuard 키가 잘못됐다고 단정하지 마세요.

네트워크를 바꾼 뒤 다시 연결해야 하나요?

새 네트워크에서 Endpoint의 도메인을 조회하고 해당 포트에 접속할 수 있는지 먼저 확인하세요. 기존 설정에 Persistent Keepalive가 지정되어 있는지도 살펴보세요. Settings → On Demand를 사용 중이라면 네트워크 조건이 수동 연결 테스트와 일치하는지도 확인해야 합니다.

일부 페이지만 느리게 로드되나요?

문제가 발생한 네트워크와 대상을 기록하고 DNS와 Allowed IPs 차이를 먼저 확인하세요. 기본 연결은 정상이고 큰 콘텐츠를 전송할 때 문제가 집중된다면 기존 설정을 기준으로 MTU를 확인하세요. 한 번에 한 항목만 바꾸고 다시 테스트해야 합니다.

WireGuard 설정의 키와 주소는 사용자가 보유한 서비스 자료와 일치해야 합니다. Shadowrocket은 Apple 플랫폼에서 제공되는 유료 앱입니다. iPhone과 iPad에서는 App Store를 통해 받아야 하며, 개발자 정보는 App Store 페이지에서 확인할 수 있습니다. 시스템 요구 사항은 App Store 페이지의 표기를 기준으로 합니다. 앱 구매와 WireGuard 연결 정보는 별개이며, 앱을 구매해도 서비스 제공자의 연결 설정이 생성되지는 않습니다.

Shadowrocket 공식 App Store 페이지 확인 및 시작하기

먼저 App Store에서 개발자가 Shadow Launch Technology Limited인지 확인한 다음, 보유한 WireGuard 설정을 사용해 각 항목을 입력하세요. 처음 실행한 뒤의 기본 사용법은 시작 가이드에서 확인할 수 있습니다.

App Store 확인 안내 보기 사용법 보기
App Store 공식 확인 안내