컴퓨터

SK 통신사 모뎀 + iptime 공유기 환경에서 외부 VPN 접속 구축기 (WireGuard)

Ninestar 2026. 5. 4. 22:40
반응형

그지같은 TAPO 스마트 도어벨(tp-link TAPO D230s1)이 같은 wifi망이 아니면 벨-통화나 녹화 이벤트 영상재생이 안되어 외부에서 도저히 확인이 불가능했습니다. 외부에서도 도어벨이 연결되어있는 공유기 접속하여 위 기능이 정상 동작하도록 하였습니다.
TAPO 스마트 도어벨 사지마세요. 절대 사지마세요.

환경

인터넷 → SK 통신사 모뎀 (NAT) → iptime 공유기 (NAT) → 내부 장치들
  • SK 모뎀: 브리지 모드 미사용 (이중 NAT 상태)
    • 관리 페이지: 192.168.xxx.1
    • WAN IP: 공인 유동 IP (이하 xxx.xxx.xxx.xxx로 표기)
    • LAN 대역: 192.168.xxx.0/24
  • iptime 공유기:
    • WAN IP: 192.168.xxx.yy (SK 모뎀이 할당한 사설 IP)
    • 관리 페이지 (LAN 게이트웨이): 192.168.0.zzz
    • LAN 대역: 192.168.0.0/24
  • 클라이언트: Android 16 스마트폰
  • DDNS: No-IP (사용자도메인.ddns.net)

💡 본문에서 xxx.xxx.xxx.xxx 같은 표기는 본인 환경의 실제 값으로 대체해서 사용하세요.

전체 구조

[외부 핸드폰 (LTE/5G)]
        ↓
사용자도메인.ddns.net (No-IP DDNS)
        ↓
xxx.xxx.xxx.xxx (SK 모뎀 공인 IP)
        ↓
SK 모뎀 포트포워딩 (UDP 임의포트)
        ↓
192.168.xxx.yy (iptime WAN)
        ↓
iptime WireGuard 서버
        ↓
192.168.0.0/24 내부망 접근 가능

시도 1: L2TP/IPSec — 실패한 접근

처음에는 표준 VPN인 L2TP/IPSec으로 시도했지만 두 가지 벽에 부딪혔습니다.

문제 1: SK 통신사가 IPSec 표준 포트(500, 4500) 차단

yougetsignal.com에서 외부 포트 검사 시 UDP 500, 4500이 모두 closed로 나왔습니다. SK 모뎀 포트포워딩과 DMZ 설정을 둘 다 시도해도 동일했습니다. SK 통신사 ISP 단에서 차단하는 것으로 추정됩니다.

문제 2: Android 14+ 의 L2TP/IPSec PSK 지원 제거

Google이 Android 12부터 L2TP/IPSec PSK를 단계적으로 제거했고, Android 14 이상에서는 사실상 동작 불가입니다. Android 16에서는 인증 단계에 도달하지도 못한 채 IPSec 협상에서 바로 끊겼습니다.

결론: 2026년 현재 안드로이드에서 L2TP/IPSec은 사용하지 마세요.


시도 2: WireGuard — 성공한 방법

iptime은 OpenVPN 서버를 지원하지 않지만 WireGuard 서버를 지원합니다. WireGuard는 모던하고 빠르며 안드로이드 호환성도 완벽합니다.

1단계: No-IP DDNS 설정

iptime 자체 DDNS(*.iptime.org)는 iptime의 WAN IP(사설 대역)를 등록하는데, 이게 SK 모뎀이 할당한 사설 IP라서 외부에서 접근 불가합니다. 따라서 SK 모뎀의 공인 IP를 직접 등록할 No-IP를 사용합니다.

https://www.noip.com 로그인 후 호스트네임 추가:

항목
Hostname 사용자도메인
Domain ddns.net
Type DNS Host (A)
IPv4 Address xxx.xxx.xxx.xxx (SK 모뎀 공인 IP)
Wildcard 비활성
Enable Dynamic DNS 비활성 (수동 입력 시)

확인:

nslookup 사용자도메인.ddns.net
# Address가 SK 모뎀 공인 IP와 일치해야 정상

💡 SK 모뎀 공인 IP는 유동이라 변경될 수 있습니다. 자동화하려면 항상 켜져있는 PC/NAS에 No-IP DUC(Dynamic Update Client) 설치를 권장합니다. (이중 NAT 환경에서는 iptime의 DDNS 클라이언트가 사설 IP를 보고하므로 사용 불가)

2단계: iptime WireGuard 서버 설정

iptime 관리 페이지(192.168.0.zzz) → 고급 설정 → VPN 서버 → WireGuard 서버

항목
서버 활성화 켜짐
인터페이스 주소 10.x.x.1/24 (VPN 가상 네트워크 대역, 임의 설정)
서버 포트 임의의 5자리 UDP 포트 (기본 51820 대신 권장)
VPN 내부 통신 NAT 꺼짐 (내부망 직접 접근하려면 꺼짐)

저장 후 공개키(Public Key) 가 자동 생성됩니다.

🔐 서버 포트는 본인이 정한 값으로 사용하세요. 본문에서는 <서버포트> 로 표기합니다.

3단계: 클라이언트(피어) 추가

WireGuard 서버 페이지 하단 피어 목록에서 피어 추가:

  • 이름: phone (식별용)
  • 자동으로 키페어 생성됨
  • QR 코드 표시 클릭

이 QR 코드를 핸드폰에서 바로 스캔하면 됩니다.

4단계: SK 모뎀 포트포워딩

SK 모뎀 관리 페이지(192.168.xxx.1) → NAT → 포트포워딩:

프로토콜 외부 포트 시작 외부 포트 끝 내부 IP 내부 포트 시작 내부 포트 끝
UDP <서버포트> <서버포트> 192.168.xxx.yy <서버포트> <서버포트>

⚠️ 기존 L2TP용 UDP 500, 4500 규칙은 사용하지 않으니 삭제해도 됩니다.

5단계: iptime WAN IP 고정

iptime의 WAN IP는 SK 모뎀이 DHCP로 준 IP이므로, iptime 재부팅 시 바뀔 수 있습니다.

SK 모뎀 → DHCP 설정에서 iptime의 WAN MAC 주소로 IP 고정 할당해두세요.

6단계: 핸드폰에 WireGuard 앱 설치

Play Store → WireGuard (공식 앱, 용 모양 아이콘 🐉)

앱에서:

  1. + 버튼 → QR 코드로 스캔
  2. iptime 관리 페이지의 피어 QR 코드 스캔
  3. 프로필 자동 생성됨

7단계: 엔드포인트를 도메인으로 변경 (중요)

QR로 가져온 프로필의 엔드포인트는 보통 IP로 되어 있습니다. SK 모뎀 공인 IP는 유동이므로 도메인으로 변경해두면 IP가 바뀌어도 자동 대응됩니다.

WireGuard 앱 → 해당 터널 → 우측 상단 연필(편집) 아이콘 → 피어 섹션:

엔드포인트: xxx.xxx.xxx.xxx:<서버포트>
            ↓ 변경
엔드포인트: 사용자도메인.ddns.net:<서버포트>

저장.

8단계: 연결 테스트

🚨 반드시 핸드폰을 LTE/5G로 전환하세요. WiFi 켜져있으면 외부 접속 테스트가 의미 없습니다.

설정 → WiFi → 끄기
모바일 데이터 → 켜기

WireGuard 앱에서 토글 ON.


연결 확인 방법

A. WireGuard 앱에서 트래픽 확인

피어 상세 화면에서 전송/수신 바이트:

  • 수신 바이트가 0이 아니면 → 서버 응답 정상 → ✅ 연결 성공
  • 전송만 증가하고 수신 0 → 패킷이 서버까지 안 닿음

B. iptime 관리 페이지에서 핸드셰이크 확인

iptime → VPN 서버 → WireGuard → 피어 목록 → 최근 핸드셰이크 시간

"몇 초 전" 으로 갱신되면 연결 성공.

C. 내부망 접근 테스트

VPN 연결된 상태에서 핸드폰 브라우저로:

http://192.168.0.zzz  → iptime 관리 페이지 표시

뜨면 외부에서 내부망 진입 완료.

D. 외부 IP 확인 (보너스)

핸드폰 브라우저에서 https://myip.com:

  • VPN OFF: 통신사 IP
  • VPN ON: 집 공인 IP

같으면 모든 트래픽이 집 회선으로 흐르는 풀 터널 상태.


트러블슈팅 체크리스트

문제 발생 시 단계별 확인:

DNS 확인

nslookup 사용자도메인.ddns.net
# 결과가 SK 모뎀 공인 IP와 일치해야 함

다르면 → No-IP에서 IP 다시 등록.

포트 열림 확인

https://www.yougetsignal.com/tools/open-ports/

  • Host: 사용자도메인.ddns.net
  • Port: <서버포트>

참고: UDP는 TCP보다 검사 정확도가 낮아 closed로 나와도 실제 열려있을 수 있습니다. WireGuard 핸드셰이크가 잘 되면 무시해도 됩니다.

iptime WAN IP가 사설 대역인지 확인

iptime 관리 페이지 → 상태 → WAN IP

  • 192.168.x.x → SK 모뎀이 사설 IP 할당 (이중 NAT)
  • 이 경우 SK 모뎀에서 포트포워딩 필수

안 될 때 흔한 원인

  • iptime DDNS(*.iptime.org) 사용 → ❌ 사설 IP 등록되므로 외부 접근 불가, No-IP 같은 외부 DDNS 사용
  • SK 모뎀 포트포워딩 누락
  • iptime WAN IP 변동 → SK 모뎀에서 DHCP 고정 할당 필요
  • 핸드폰이 WiFi에 연결된 상태 → LTE/5G로 전환
  • WireGuard 엔드포인트가 IP로 되어 있고 공인 IP가 변경됨 → 도메인으로 변경

SK 모뎀 공인 IP가 바뀌는 시점

가정용 SK 회선의 공인 IP는 유동이며 다음 시점에 변경될 수 있습니다:

  • 모뎀 재부팅 시 (가장 흔함)
  • 정전 후 복구 시
  • 모뎀 펌웨어 자동 업데이트 시
  • DHCP 임대 시간 만료 시 (수일~수주)

평소엔 잘 안 바뀌지만, 한 번 바뀌면 외부 접속이 끊깁니다. 따라서 DDNS 자동 갱신을 권장합니다.

DDNS 자동 갱신 - No-IP DUC 설치 (Linux)

24시간 켜둘 PC/서버가 있다면 거기에 설치하는 게 가장 안정적입니다.

cd /tmp
wget https://www.noip.com/client/linux/noip-duc-linux.tar.gz
tar xzf noip-duc-linux.tar.gz
cd noip-*
sudo make
sudo make install
# 설치 중 No-IP 계정/PW 입력

# 실행
sudo /usr/local/bin/noip2

systemd 서비스로 등록해두면 부팅 시 자동 시작됩니다.


정리: SK + iptime 환경에서 VPN 베스트 프랙티스

항목 권장
VPN 프로토콜 WireGuard
L2TP/IPSec ❌ 사용 금지 (SK 차단 + Android 호환성 문제)
포트 51820 외 임의 5자리 포트
DDNS No-IP 등 외부 서비스 (iptime DDNS 비추천)
WAN IP 고정 SK 모뎀에서 iptime MAC으로 DHCP 고정 할당
모뎀 모드 브리지 모드가 최선 (이중 NAT 회피), 안 되면 포트포워딩
엔드포인트 표기 IP가 아니라 도메인으로

WireGuard는 한 번 설정하면 연결 1~2초, 배터리 소모 적음, 안정성 좋음 — 모든 면에서 L2TP/IPSec보다 우월합니다. 2026년 현재 가정용 VPN의 사실상 표준입니다.


참고 명령어 모음

# DNS 조회
nslookup 사용자도메인.ddns.net

# 현재 PC의 IP 확인 (Windows)
ipconfig

# 현재 외부 IP 확인 (브라우저)
# https://myip.com
# 포트 열림 테스트 사이트
https://www.yougetsignal.com/tools/open-ports/

# DNS 전파 확인
https://dnschecker.org

마치며

같은 SK + iptime 환경에서 VPN을 구축하시는 분들께 이 글이 시행착오를 줄여주길 바랍니다.

그리고 다시 한번 말씀드리지만 TAPO D230s1 사지마세요. 스트레스로 흰머리 100개 늘어났습니다.