홈서버 구축 전 네트워크 기본 개념 정리

홈서버를 처음 만들어보려는 사람들이 공통적으로 막히는 지점이 있다. 장비를 고르거나 운영체제를 설치하는 단계가 아니다. 서버가 멀쩡히 돌아가고 있는데 외부에서 접속이 안 되거나, 포트 설정을 분명히 했는데 아무 반응이 없거나, 어제까지 됐던 게 오늘은 안 되는 상황이다. 이런 문제들을 겪고 나서야 대부분 네트워크 구조를 처음부터 다시 들여다보게 된다. 홈서버 네트워크 설정은 개념을 한 번 제대로 잡아두면 이후 문제가 생겼을 때 원인을 스스로 찾을 수 있다. 반대로 개념 없이 설정만 따라 하면 뭔가 바꿀 때마다 처음부터 헤매게 된다.

홈서버 네트워크 설정을 위해 공유기에 이더넷 케이블을 연결하는 모습

공인 IP와 사설 IP, 두 가지가 동시에 존재한다

집에서 인터넷을 쓰면 IP 주소가 두 종류 존재한다. 하나는 인터넷 서비스 제공자(ISP)가 가정에 부여하는 공인 IP(Public IP)고, 다른 하나는 공유기가 집 안의 기기들에 자동으로 나눠주는 사설 IP(Private IP)다.

외부 인터넷에서 홈서버에 접속할 때 쓰는 주소는 공인 IP다. 집 안에서 서버에 붙을 때는 사설 IP를 쓴다. 사설 IP는 보통 192.168.x.x나 10.x.x.x 형태인데, 이 주소는 인터넷 어디서나 쓰이는 고유한 주소가 아니라 그 공유기 안에서만 통하는 주소다. 그래서 외부에서 사설 IP로 접속을 시도하면 당연히 안 된다.

여기서 한 가지 더 확인해야 할 게 있다. 대부분의 가정용 인터넷 회선은 유동 IP 방식이다. ISP가 공유기를 재시작하거나 일정 주기가 지나면 공인 IP를 바꿔버린다. 홈서버에 외부에서 접속하려면 현재 공인 IP를 알아야 하는데, IP가 바뀌면 기존 주소로는 연결이 끊긴다. 이 문제 때문에 DDNS가 필요하다. 뒤에서 다시 설명한다.

NAT와 포트 포워딩이 왜 필요한가

공유기는 NAT(Network Address Translation)라는 기능을 수행한다. 내부 기기들이 외부 인터넷에 요청을 보낼 때, 공유기가 출발지 주소를 공인 IP로 바꿔서 내보내고 응답이 오면 다시 해당 기기로 돌려준다. 덕분에 여러 기기가 공인 IP 하나를 공유할 수 있다.

문제는 반대 방향이다. 외부에서 먼저 홈서버로 접속을 시도하는 경우, 공유기 입장에서는 이 트래픽을 집 안의 어느 기기로 보내야 할지 알 수가 없다. 공인 IP 하나에 내부 기기가 여러 개 붙어 있으니까. 이때 필요한 게 포트 포워딩(Port Forwarding)이다.

포트 포워딩은 공유기 설정에서 “외부에서 이 포트로 들어오는 트래픽은 내부 이 IP의 이 포트로 넘겨라”는 규칙을 만드는 작업이다. 예를 들어 외부에서 공인 IP의 8080 포트로 접속하면 내부 192.168.0.100의 80 포트로 연결되도록 설정할 수 있다. 공유기 관리자 페이지에서 설정하며, 제조사마다 메뉴 이름이 조금씩 다르지만 원리는 같다.

포트 포워딩 설정 후에도 접속이 안 된다면 확인할 순서가 있다. 서버 OS의 방화벽이 해당 포트를 막고 있는 경우가 생각보다 많다. 공유기에서 포트를 열었어도 서버 자체가 막으면 소용없다.

사설 IP를 고정해야 하는 이유

포트 포워딩을 설정할 때 내부 서버의 사설 IP를 지정하게 된다. 그런데 공유기의 DHCP 기능이 켜져 있으면 서버가 재시작될 때 사설 IP가 바뀔 수 있다. IP가 바뀌면 포트 포워딩 규칙이 엉뚱한 기기를 가리키게 되고, 외부 접속이 갑자기 안 되는 상황이 생긴다.

이걸 막으려면 서버로 쓰는 기기에 고정 사설 IP를 부여해야 한다. 방법은 두 가지다.

  • 서버 OS에서 직접 고정: 운영체제 네트워크 설정에서 IP를 수동으로 지정한다. 리눅스라면 netplan이나 NetworkManager에서 설정한다.
  • 공유기 DHCP 예약 사용: 공유기 설정에서 서버의 MAC 주소에 항상 같은 IP를 할당하도록 예약한다. OS를 건드리지 않아도 되고, 나중에 관리하기도 편하다.

둘 다 결과는 같지만, 공유기 DHCP 예약 방식이 서버를 재설치하거나 OS를 바꿔도 설정이 유지된다는 점에서 편리하다.

방화벽 설정, 포트 포워딩과 함께 반드시 확인

리눅스 기반 서버라면 ufw나 iptables로 방화벽을 관리한다. 포트 포워딩을 아무리 잘 설정해도 서버 OS 방화벽이 해당 포트를 차단하고 있으면 외부 접속이 안 된다. ufw를 쓰는 경우 아래처럼 포트를 열 수 있다.

  • sudo ufw allow 80/tcp — HTTP 포트 허용
  • sudo ufw allow 443/tcp — HTTPS 포트 허용
  • sudo ufw status — 현재 허용된 포트 목록 확인

불필요한 포트를 전부 열어두는 건 보안상 좋지 않다. 실제로 사용하는 서비스의 포트만 선택적으로 열어두는 게 맞다. SSH 포트는 기본값인 22번을 그대로 외부에 노출하면 자동화된 무차별 접속 시도가 끊임없이 들어온다. 다른 번호로 바꾸는 것만으로도 로그가 훨씬 조용해진다.

DDNS 설정으로 유동 IP 문제 해결하기

유동 IP 환경에서 홈서버를 외부에서 접속하려면 DDNS(Dynamic DNS) 서비스가 필요하다. DDNS는 공인 IP가 바뀌더라도 도메인과 IP의 연결을 자동으로 갱신해주는 서비스다. 도메인 주소 하나를 고정해두면 IP가 바뀌어도 그 주소로 접속할 수 있다.

설정 방법은 크게 두 가지다.

  • 공유기 내장 DDNS 사용: 많은 공유기 제조사가 자체 DDNS 서비스를 제공한다. 공유기 관리자 페이지에서 DDNS 메뉴를 찾아 활성화하면 된다. 별도 프로그램 설치 없이 공유기가 IP 변경을 감지하고 자동 갱신한다.
  • 외부 DDNS 서비스 사용: Duck DNS, No-IP 같은 무료 서비스를 많이 쓴다. 서버에 클라이언트 프로그램을 설치하거나 크론탭으로 주기적으로 IP를 업데이트하도록 설정한다.

DDNS 설정 후에는 실제로 도메인 주소로 접속이 되는지 외부 네트워크(모바일 데이터 등)에서 테스트해보는 게 중요하다. 같은 공유기 안에서는 접속이 되는 것처럼 보여도 외부에서는 안 되는 경우가 있다.

이중 NAT 환경은 따로 확인이 필요하다

일부 인터넷 환경에서는 ISP 측에서 이미 NAT를 적용한 상태로 회선을 제공하는 경우가 있다. 이 경우 가정 공유기까지 포함하면 NAT가 두 단계로 이루어지는 이중 NAT(Double NAT) 구조가 된다.

이중 NAT 환경에서는 가정 공유기에서 포트 포워딩을 정상적으로 설정해도 ISP 측 NAT가 트래픽을 가로막기 때문에 외부 접속이 동작하지 않는다. 포트 포워딩을 분명히 했는데 외부 접속이 전혀 안 된다면 이 상황을 의심해볼 수 있다. NAS 기준의 구체적인 진단 순서는 NAS 외부 접속 안 될 때 가장 흔한 실수 5가지에 정리해뒀다.

확인 방법은 간단하다. 공유기 WAN 설정에서 할당된 IP를 확인해보면 된다. 거기 표시된 IP가 192.168.x.x나 10.x.x.x 같은 사설 IP 대역이라면 이중 NAT 환경이다. 이 경우 ISP 고객센터에 문의해 공인 IP 직접 할당 여부를 확인하거나, ISP 측 장비의 포트 포워딩 또는 DMZ 설정을 요청해야 한다.

설정 전 기초 점검 체크리스트

홈서버 네트워크 설정을 시작하기 전에 아래 항목들을 순서대로 확인해두면 나중에 문제가 생겼을 때 원인을 찾기 훨씬 쉽다.

  • 현재 공인 IP 주소를 확인했는가 (구글이나 네이버에 “내 IP 주소” 검색으로 바로 확인 가능)
  • 인터넷 회선이 유동 IP인지 고정 IP인지 ISP에 확인했는가
  • 공유기 관리자 페이지 접속 주소(보통 192.168.0.1 또는 192.168.1.1)와 로그인 정보를 알고 있는가
  • 공유기 WAN 설정에서 할당된 IP가 공인 IP 대역인지 사설 IP 대역인지 확인했는가 (이중 NAT 여부 판단)
  • 홈서버로 쓸 기기의 MAC 주소를 확인했는가
  • 공유기 DHCP 예약 또는 서버 OS에서 고정 사설 IP를 설정했는가
  • 공유기 포트 포워딩 메뉴에서 원하는 포트를 서버 IP로 연결했는가
  • 서버 OS 방화벽에서 해당 포트가 허용 상태인지 확인했는가
  • DDNS 서비스를 설정하고 도메인과 현재 공인 IP가 올바르게 연결되었는지 확인했는가
  • 외부 네트워크(모바일 데이터 등)에서 실제 접속 테스트를 진행했는가

이 개념들을 한 번 제대로 잡아두면, 이후 홈서버를 운영하면서 생기는 연결 문제의 대부분은 스스로 진단하고 해결할 수 있게 된다. 설정을 바꿀 때마다 처음부터 검색하는 상황도 줄어든다. 홈서버 네트워크 설정은 복잡해 보이지만, 결국 IP 주소가 어떻게 흐르는지를 이해하는 것에서 시작한다. 이 개념 위에서 실제 서버를 올리는 과정은 시놀로지 NAS 구축기 시리즈에서 이어서 볼 수 있다.

댓글 남기기