해외 출장 중에 한국 게임하기 위한 WireGuard 설정
·
Jinuk Kim
넥슨에서 서비스 중인 게임들은 대부분 해외에서의 접속을 차단하고 있다. 작년에 회사 워크샵 갔을 때 가서는 로밍으로 잘 하다가, 돌아오는 비행기 안에서 게임에 접속해보려 했다가 실패했던 기억이 있다.
sequenceDiagram
actor User as 📱 내 폰
participant Plane as ✈️ 비행기
participant Starlink as 🛰️ Starlink 위성
participant Station as 🗼 지상국<br/>(미국 / 일본)
participant Backbone as 🌐 인터넷
participant Game as 🎮 게임 서버
User->>Plane: 기내 Wi-Fi 연결
Plane->>Starlink: 위성 uplink
Starlink->>Station: 위성 downlink
Station->>Backbone: (L3)
Backbone->>Game: 접속 시도 → 차단 ❌
기내 Wi-Fi는 Starlink 위성을 거치고 CloudFlare Warp를 쓰거나하면 미국이나 일본 지상국을 통해 나오다 보니, 게임 서버 입장에서는 해외 접속이라고 끊어버린다.
이걸 교훈 삼아 이번 출장엔 집에 WireGuard 서버를 미리 구성해 두고 갔다. 집 게이트웨이를 통해 게임 서버에 접속하면, 서버 입장에서는 그냥 국내에서 들어오는 접속으로 보이고 (=로밍 했을 때랑 별 차이가 없고), 문제 없이 플레이 가능!
sequenceDiagram
actor User as 📱 내 폰
participant WLAN as 🛜 회사 / 호텔 Wi-Fi
participant Internet as 🌐 인터넷
participant GW as 🏠 집 게이트웨이
participant Laptop as 💻 내 랩탑<br/>(WireGuard 서버)
participant Game as 🎮 게임 서버
User->>WLAN: 연결 (IP: A 할당)
Note over User,WLAN: 언제나의 Wi-Fi 접속
User->>Internet: WireGuard UDP 메시지 전송
Note over User,Internet: 트래픽이 UDP로 터널링됨
Internet->>GW: UDP 메시지
GW<<->>Laptop:
Note over GW,Laptop: WireGuard 처리 후 일반 메시지로
GW->>Game: 게임 서버로 전달
Note over GW,Game: 한국 IP로 접속 ✅
Game-->>GW: 응답
GW<<->>Laptop:
Note over GW,Laptop: WireGuard 처리 후 터널링
GW-->>User: WireGuard UDP 응답 전달
Note over GW,User: 트래픽이 UDP로 터널링됨
마침 출장 주간에 대규모 패치도 있었는데, 이 설정 없었으면 정말 곤란했을 것. 다행히 아래처럼 패치까지 잘 받을 수 있었다.

패치 성공 🎉
태평양 건너편으로 터널링하는 거라 지연은 어쩔 수 없었지만, 그래도 플레이는 문제없이 됐다.
다시 참고할 겸, 설정 방법도 간단히 적어둔다. WireGuard Quick Start와 각 플랫폼 앱 문서(macOS / iOS)를 따라가면 된다.
- 포트 포워딩: 집 게이트웨이에서 사용할 UDP 포트(예: 50000)를 WireGuard 서버로 포워딩한다.
- 외부 IP 확인: ifconfig.me 등으로 집 게이트웨이의 외부 IP를 확인해둔다.
- 서버 설정 (1): macOS WireGuard 앱에서 “새 터널 추가"로 터널을 생성하고, 자동 생성된 공개키 를 복사해둔다.
- 클라이언트 설정: iOS WireGuard 앱에서 “Create from scratch"로 새 터널을 만든다.
- “Generate keypair"로 키 쌍을 생성하고, 공개키 를 복사해둔다.
- Address:
10.8.0.2/24(홈 네트워크192.168.x.x와 대역이 겹치지 않으면 된다) - Peer 추가:
- Public key: 3에서 복사한 서버 공개키
- Endpoint: 2의 IP:1의 포트
- Allowed IPs:
0.0.0.0/0, ::/128(전체 트래픽 터널링)
- 서버 설정 (2): 아래 설정을 입력한다.
[Interface] PrivateKey = {자동 생성된 값} ListenPort = {1에서 열어둔 포트} Address = 10.8.0.1/24 MTU = 1400 [Peer] PublicKey = {4에서 복사한 클라이언트 공개키} AllowedIPs = 10.8.0.2/32