- Published on
홈서버 구축기 2 - 공유기 설정 및 DDNS 구성
- Authors

- Name
- 이동영
- Github
- @Github
Intro
지난 글에서는 미니 PC를 구입하고 우분투 서버를 설치하는 과정까지 마쳤습니다. 하지만 현재 상태에서는 집 안에 있는 공유기에 연결된 기기들끼리만 통신이 가능합니다. 즉, 집 밖의 카페나 회사에서는 내 서버에 접속할 수 없습니다.
진정한 홈서버의 가치는 '언제 어디서나' 접속 가능하다는 점에 있습니다. 이번 글에서는 외부망(인터넷)에서 내부망(우리집 공유기 안)에 있는 서버로 접속하기 위한 필수 네트워크 설정들을 다룹니다.
외부 접속의 원리 (공인 IP vs 사설 IP)
가장 먼저 이해해야 할 것은 IP 주소의 개념입니다. 우리가 인터넷 가입 시 ISP(KT, SKT, LG 등)로부터 할당받는 IP는 공인 IP (Public IP) 하나뿐입니다. 하지만 집에서 사용하는 PC, 스마트폰, TV, 그리고 이번에 구축한 홈서버까지 수많은 기기들이 인터넷을 써야 합니다. 공유기는 이 하나의 공인 IP를 사설 IP (Private IP) (예: 172.30.x.x, 192.168.x.x)로 쪼개서 내부 기기들에 할당해 주는 역할을 합니다.
외부에서 우리 집으로 들어오려면 '공인 IP'를 찾아와야 하는데, 공유기 문 앞까지만 올 수 있을 뿐 그 안의 어떤 기기가 '서버'인지 알 수 없습니다. 이를 해결하기 위해 필요한 것이 바로 포트포워딩입니다.
고정 IP 설정 (Static IP Lease)
포트포워딩을 하기에 앞서, 서버의 사설 IP가 바뀌지 않도록 고정해야 합니다. 공유기는 보통 DHCP라는 기능으로 IP를 유동적으로 할당하기 때문에, 재부팅 시 서버의 IP가 바뀔 수 있습니다. 이를 방지하기 위해 공유기 설정에서 맥 주소(MAC Address)를 기반으로 특정 IP를 서버 전용으로 예약합니다.
[!NOTE] KT 공유기 설정 방법 (이곳에 KT 공유기에서의 고정 IP 설정 방법을 작성해주세요. 보통 '장치 설정'이나 'DHCP 할당 설정' 메뉴에 있습니다.)
포트포워딩 (Port Forwarding)
IP 고정이 끝났다면 이제 길을 터줄 차례입니다. 포트포워딩은 **"외부에서 A번 문(Port)으로 들어오면, 내부의 특정 IP(서버)의 B번 문으로 연결해 줘!"**라고 공유기에게 규칙을 정해주는 것입니다.
주로 사용하는 포트는 다음과 같습니다:
- SSH (원격 접속): 22번 (보안을 위해 외부 포트는 2222 등 다른 번호로 돌리는 것을 추천합니다)
- HTTP (웹 서버): 80번
- HTTPS (보안 웹): 443번
[!NOTE] KT 공유기 포트포워딩 설정 (이곳에 KT 공유기의 포트포워딩 설정 스크린샷이나 단계를 작성해주세요.)
DDNS (Dynamic DNS)
포트포워딩까지 마쳤다면 이제 외부 접속이 가능합니다. 하지만 문제가 하나 남았습니다. 가정용 인터넷 회선은 공인 IP조차도 유동적이라는 점입니다. 공유기를 재부팅하거나 ISP 사정에 의해 공인 IP가 바뀌면, 우리는 바뀐 숫자를 알 길이 없어 접속이 끊깁니다.
이 IP 숫자를 외울 필요 없이, my-home-server.domain.com 처럼 변하지 않는 도메인 주소로 접속하게 해주는 서비스가 바로 DDNS입니다.
[!NOTE] DDNS 설정 (KT 공유기 자체 DDNS 기능을 사용하거나, DuckDNS 등을 사용하는 방법을 작성해주세요.)
Conclusion
이제 네트워크 설정이 완료되었습니다. 집 밖에서도 스마트폰이나 노트북으로 DDNS 주소를 통해 서버에 접속할 수 있게 되었습니다. 다음 글에서는 이렇게 열어둔 문을 통해 실제 SSH 원격 접속을 하는 방법과, 기본적인 보안 설정에 대해 다루겠습니다.