이 글의 목차

DDNS 포트포워딩을 설정했는데 외부 접속이 안 되면 DNS 이름보다 서버 응답과 공유기 WAN 주소부터 확인하세요. DDNS는 바뀌는 주소를 이름에 연결하는 기능입니다. 통신사 NAT나 방화벽을 통과시켜 주는 기능은 아니므로, 주소가 정확해도 연결이 막힐 수 있습니다.

처음 설정하는 분은 DDNS·포트포워딩 기본 가이드를 먼저 읽고, 이 글에서는 실패 지점을 하나씩 좁혀보세요. 확인 결과를 적어두면 공유기 설정을 반복해서 바꾸는 시간을 줄일 수 있습니다.

연결 경로를 네 단계로 나누기

홈서버 접속은 대략 이름 해석 → 외부 주소 도달 → 공유기 전달 → 서버 응답 순서입니다. 안 되는 단계가 서로 다른데도 DDNS 설정만 바꾸면 해결되지 않습니다.

단계확인할 것실패하면 우선 볼 곳
서버내부 IP와 서비스 포트로 응답하는가앱 실행, 바인딩, 서버 방화벽
공유기대상 내부 IP와 포트가 맞는가DHCP 주소 변경, 포워딩 규칙
외부 경로외부에서 공유기에 도달하는가이중 NAT, 통신사 정책, CGNAT
DDNS도메인이 현재 외부 주소를 가리키는가갱신 상태, A·AAAA 레코드

예를 들어 공유기에서 외부 443을 서버 8443으로 전달하도록 했다면 서버 테스트는 8443으로 해야 합니다. 외부 포트와 내부 포트를 같은 숫자라고 가정하지 마세요.

1. 내부 IP로 먼저 응답 확인

같은 집 네트워크의 다른 장치에서 서버의 사설 IP와 실제 서비스 포트로 접속합니다. 아래 주소는 예시이므로 본인 서버 정보로 바꾸세요.

Terminal window
curl -v --connect-timeout 5 http://192.168.1.50:8080/

여기서도 실패한다면 DDNS 문제가 아닐 가능성이 큽니다. 서버에서 앱이 실행 중인지, 127.0.0.1에만 바인딩했는지, 컨테이너 포트를 필요한 경로에 공개했는지 확인합니다. 정상적인 HTTP 응답이 나오는지 보세요. 인증 때문에 401이 나온다면 네트워크 연결은 도달한 것이고, 앱 권한 문제는 별도로 해결해야 합니다.

서버 IP를 DHCP 예약으로 고정해두면 재부팅 후 포워딩 대상이 다른 장치로 바뀌는 실수를 줄일 수 있습니다. 사설 IP가 자주 바뀌는 상태에서 포워딩 규칙만 유지하면 어제 되던 접속이 오늘 실패할 수 있습니다.

2. 공유기 WAN 주소와 외부 IPv4 비교

공유기 관리 화면에서 WAN IPv4를 읽고, 같은 회선에서 확인한 외부 IPv4와 비교합니다. IPv4와 IPv6를 서로 비교하면 의미가 없습니다. VPN을 사용 중이면 외부 주소가 VPN 출구로 보일 수 있으므로 비교 조건도 통일하세요.

WAN 주소가 10.x.x.x, 172.16.x.x172.31.x.x, 192.168.x.x라면 앞단의 사설 네트워크를 의심할 수 있습니다. 100.64.0.0100.127.255.255는 RFC 6598의 공유 주소 공간입니다. 100으로 시작하는 모든 IP가 CGNAT인 것은 아닙니다. RFC 6598

주소가 다르다는 사실만으로 통신사 CGNAT를 확정할 수는 없습니다. 집 안에 상위 공유기가 있거나, VPN·프록시·다중 회선이 개입한 경우도 있습니다. 공유기의 WAN 페이지에서 읽은 주소와 실제 회선 경로를 함께 확인하세요.

3. 이중 NAT와 CGNAT는 해결 권한이 다릅니다

이중 NAT는 보통 내가 관리할 수 있는 공유기 앞에 또 다른 라우터가 있는 구조입니다. 상위 장치에도 적절한 포워딩이 필요하거나, 회선과 장비가 지원한다면 브리지/AP 모드 등으로 구조를 단순화할 수 있습니다. IPTV·전화 등 다른 서비스가 영향을 받을 수 있으므로 모드를 바꾸기 전 장비 설명서를 확인하세요.

통신사 CGNAT에서는 통신사 장비가 주소 변환을 담당합니다. 집 공유기에 규칙을 추가해도 통신사 측 규칙을 직접 만들 수는 없습니다. 공인 IPv4 제공 여부를 통신사에 문의하거나, 본인 용도에 맞는 VPN·터널을 검토해야 합니다.

Tailscale도 자체 연결 주소로 같은 공유 주소 대역을 사용합니다. 따라서 운영체제에서 보이는 Tailscale의 100.x 주소를 보고 집 회선이 CGNAT라고 판단하면 안 됩니다. 공유기 WAN 인터페이스와 VPN 인터페이스를 구별하세요. Tailscale 주소 설명

4. 집 Wi-Fi 대신 모바일 데이터로 테스트

외부 테스트는 휴대폰 Wi-Fi를 끄고 모바일 데이터에서 수행하세요. 집 안에서 공인 주소로 돌아오는 NAT loopback 지원 여부가 외부 접속 결과와 다를 수 있습니다. 내부에서 DDNS가 안 된다는 결과만으로 외부에서도 실패한다고 판단하지 마세요.

도메인과 IP를 분리해 비교할 때는 HTTPS의 인증서와 호스트 이름도 유지해야 합니다. 단순 IP 접속은 인증서 이름이 맞지 않을 수 있습니다. 고급 사용자는 다음처럼 도메인 이름을 유지하면서 지정한 IPv4로 연결할 수 있습니다.

Terminal window
# example.com과 203.0.113.10은 실제 값으로 교체
curl -v --connect-timeout 5 \
--resolve example.com:443:203.0.113.10 https://example.com/

DDNS 도메인의 AAAA 레코드가 있으면 IPv6 경로도 확인하세요. IPv4 포트포워딩 성공 여부와 IPv6 방화벽 허용은 별개의 문제입니다. 동작하지 않는 오래된 레코드를 무작정 남겨두면 장치마다 다른 경로로 접속할 수 있습니다.

포트포워딩 대신 어떤 방법을 고를까요?

목적검토할 방법확인할 제약
나와 가족만 NAS 접속메시 VPN기기 설치, 계정 권한, 연결 경로
공개 웹사이트리버스 프록시 또는 웹 터널인증, 서비스 약관, 트래픽 특성
서버 관리VPN을 통한 SSH관리 권한과 접근 범위

개인용 NAS는 Tailscale 설정 가이드, 웹 공개는 Cloudflare Tunnel 가이드를 참고하세요. 터널을 쓴다고 앱의 로그인과 권한 검사가 자동으로 완성되는 것은 아닙니다. NAS 관리 페이지와 데이터베이스를 공용 웹사이트처럼 공개하기 전에 접속 목적부터 구분하세요.

자주 묻는 질문

DDNS를 유료로 바꾸면 CGNAT가 해결되나요?

주소를 갱신하는 서비스만 바꿔서는 통신사 측 NAT를 제어할 수 없습니다. 공인 주소 제공이나 외부 연결 방식을 검토해야 합니다.

WAN 주소와 외부 IP가 같으면 포트포워딩이 반드시 되나요?

아닙니다. 통신사 포트 정책, 공유기와 서버 방화벽, 서비스 실행 여부를 추가로 확인해야 합니다. 주소 일치는 진단의 한 단계일 뿐입니다.

모든 포트를 열어 테스트해도 되나요?

확인할 서비스의 필요한 포트와 경로를 좁혀 테스트하는 편이 원인 파악에 도움이 됩니다. 전체 공개나 방화벽 비활성화는 어떤 규칙이 문제였는지 숨기고 다른 서비스까지 노출할 수 있습니다.

참고 자료

2026년 10월 8일 확인. 공유기 메뉴와 통신사 정책은 장비·회선마다 다릅니다.

NEXT IN SERIES

NAS OS 추천 전 확인: TrueNAS·Unraid 디스크 확장과 백업 차이

다음 편 읽기 →
← 전체 글로 돌아가기