NAS 외부접속 위한 세 가지 포트포워딩 방법

 

한 채에 수십 세대가 사는 아파트. 지인을 만나러 한 아파트를 찾았다. 그런데 이 아파트 좀 특이하다. 아파트 어디에도 동, 호수 표시가 없는 것이다. 고민하다가 관리사무소를 찾아갔다. XX동 XX호로 가려면 어디로 가야 하나요?

 

NAS에는 수많은 서비스가 수행되며, 각각의 서비스는 고유의 포트 번호를 가지고 있다. NAS가 ‘아파트’라면 포트는 각 세대를 구분하기 위한 ‘동’이자 ‘호수’라고 할 수 있다. 외부 인터넷과 연결되는 가정 내 종단의 기기, 즉 인터넷 공유기는 NAS의 IP 주소는 알아도 어떤 서비스가 실행 중인지, 필요한 포트가 몇 번인지 알지 못한다. 아파트 관리사무소가 세대원에 대한 정보를 가지고 있듯, 인터넷 공유기도 각 서비스에 필요한 포트에 대한 정보를 알아야 한다. 그래야만 외부로부터 받은 패킷을 NAS의 특정 서비스에 전달할 수 있다.

 

이처럼 외부 세계와 서비스를 연결시켜주는 것이 포트포워딩(port forwarding)이다. 포트포워딩이 전부인 것은 아니다. 포트포워딩을 자동화 한 UPnP(universal plug and play), 모든 포트를 개방하는 DMZ라는 대안도 있다.

 

포트포워딩에 앞서 해야 할 ‘고정 IP로의 전환’

NAS 외부접속 위한 세 가지 포트포워딩을 살펴보기에 앞서 NAS의 IP부터 고정 IP로 바꿔야 한다. 기본적으로 NAS는 DHCP를 통해 IP를 할당받는다. 이 또한 유동 IP이기에 언제든 IP가 바뀔 수 있다. 따라서 DHCP로 NAS의 IP를 할당받았다면 이를 192.168.1.10처럼 고정 IP로 바꿔야 한다.

 

160803_dsm_fixed_ip

 

DSM 6.0 웹 관리자 페이지의 제어판 -> 네트워크를 클릭한다. 각 항목 중 기본 게이트웨이 주소에 주목하자. 기본 게이트웨이는 인터넷 공유기의 IP를 의미한다. 이 주소 체계에 맞춰 NAS의 IP를 임의로 할당해야 한다.

 

● 다음 네트워크 인터페이스에서 활성화 된 LAN 포트를 선택, 편집을 누른다.

 

● 자동으로 네트워크 구성 얻기(DHCP)에 체크가 돼 있다면, 수동 구성 이용을 선택한다.

 

● IP 주소로는 기본 게이트웨이 IP의 마지막 끝자리만 바꿔 입력하면 되는데, 게이트웨이 IP가 192.168.1.1이라면 192.168.1.10과 같이 입력한다. 한 가지 주의할 점은 이러한 IP가 중복돼서는 안 된다는 점이다. 그러므로 가급적 인터넷 공유기의 설정에서 DHCP로 IP를 임의로 부여할 범위를 192.168.1.100~254로 지정하고, 고정 IP로는 192.168.1.2~192.168.1.99 중 중복되지 않게 부여하는 게 좋다.

 

● 나머지 항목들도 기입하자. 서브넷 마스크는 192.168.1.1과 같은 가상 IP 주소 체계라면 일반적으로 255.255.255.0을 입력하면 된다. 게이트웨이와 DNS 서버는 앞서 확인한 기본 게이트웨이 IP, 즉 공유기의 IP를 입력하면 된다.

 

“포트포워딩을 위한 세 가지 방법”

포트포워딩, UPnP, DMZ 모두 외부접속을 위한 것이지만, 그 속을 들여다보면 약간의 차이가 있다. 그 차이가 무엇인지, 또 이들 각각은 어떻게 설정하면 되는지 지금부터 설명하겠다. 참고로 세 가지 모두 인터넷 공유기의 웹관리자 페이지에서 설정해야 하는데, 제조사나 펌웨어마다 설정이 모두 다르다. 여기서는 DD-WRT 펌웨어 중심으로 설명한다. 기본 원리만큼은 다르지 않으므로 각자의 환경에 적용하는 데 별다른 어려움이 없을 것이다.

 

① 보안을 고려할 때 권하기 어려운 DMZ

간편함 때문인지 외부접속 시 가장 널리 쓰는 기능 중 하나가 DMZ(Demilitarized Zone)다. 비무장 지역이라는 그 의미처럼 해당 IP의 모든 포트를 개방한다. 서비스마다 외부접속이 필요할 수도, 보안을 이유로 막아야 할 경우도 있는데, 이 경우 DMZ는 적합하지 않다. 모든 포트가 개방된다는 것은 더 많은 취약점이 외부에 노출한다는 것임을 기억하자.

 

● DD-WRT(공유기) 웹관리자 페이지에서 NAT/QoS → DMZ를 선택한다. Use DMZ를 Enable로 바꾸고 DMZ Host IP Address에 NAS의 고정 IP를 기입한다.

 

 

② 포트포워딩을 보다 쉽게 UPnP

꽂기만 하면 동작한다를 모토로 고안된 ‘플러그 앤 플레이(plug & play)’. 이를 네트워크로까지 확장시킨 게 UPnP(universal plug and play)다. UPnP 포럼이 공표한 이 기술은 전문적 지식이 없어도 네트워크 기기간 매끄러운 연결을 돕는다. 시놀로지의 DSM 또한 EZ-Internet이란 이름으로 이를 지원하는데, 호환되는 공유기라면 이를 통해 손쉽게 외부접속을 구성할 수 있다.

 

● DD-WRT(공유기) 웹관리자 페이지에서 NAT/QoS → UPnP에서 UPnP Service를 Enadble로 변경, 저장한다.

 

 

160803_dsm_ez_internet

 

● 시놀로지 DSM의 웹관리자 페이지에서 EZ-Internet 앱을 실행한 다음 ‘라우터를 통해’를 선택한다.

 

● ‘라우터에서 포트 전달을 설정하는 로컬 IP 주소’를 지정할 차례다. 여기에는 NAS의 IP 주소 정보를 입력해야 하는데, 관련 정보가 기본으로 입력돼 있을 것이다. 다음을 클릭하자.

 

● 그러면 네트워크 및 라우터 정보를 자동으로 수집한다. UPnP 라우터가 호환되는 모델이라면 해당 정보가 나올 것이다. 만약 인식되지 않는다면 UPnP로 포트포워딩을 할 수 없다. 다음 단계로 넘어가면 라우터 수동 설정이 나타난다.

 

● 먼저 라우터의 종류를 선택해야 한다. 리스트에서 해당하는 라우터를 선택한다. DD-WRT 공유기라면 써드파티 DD-WRT를 선택하면 될 것이다. 프로토콜은 HTTP를, 포트는 80번이다. 끝으로 공유기의 웹관리자 계정 정보를 기입한다. 이제 외부접속을 허용한 서비스를 선택한다. 반드시 외부접속이 필요한 서비스가 아니면 가급적 포트를 닫아두는 게 좋다.

 

● DDNS 설정을 할 차례다. 이미 이용 중이라면 ‘이 단계 건너뛰기’를, 설정이 필요하다면 ‘NAS의 외부 접속을 위한 첫 관문 DDNS’ 포스트를 참고해 DDNS를 설정하자.

 

● 최종적으로 설정을 체크한 후 적용을 클릭하면, NAS와 공유기가 통신하며 관련 포트포워딩이 자동으로 이루어진다. 다시 인터넷 공유기 웹관리자 페이지로 들어가 UPnP 항목을 확인하면 이전에 없던 포트들이 자동으로 등록돼 있을 것이다.

 

 

③ 기본으로 돌아가라. 포트포워딩

앞선 두 기술이 편의에 의해 고안됐다면, 포트포워딩은 가장 기본이 되는, 가장 전통적인 방법이다. 포트포워딩을 위해서는 서비스별 포트 번호를 미리 확인하고, 일일이 직접 등록해야 한다. 다소 번거롭지만 보안상 가장 안전하다. DMZ는 의도치 않은 포트가 개방될 수 있다. UPnP 또한 자동 구성이라는 점을 악용할 소지가 있어서다.

 

 

● 지피지기면 백전백승이듯 포트포워딩에 앞서 서비스별 포트 번호를 알아야 한다. DSM의 EZ-Internet이나 시놀로지 지식정보에서 포트 번호부터 확인할 수 있다.

 

● DD-WRT 인터넷 공유기의 웹관리자 페이지에 접속한다. 이번에는 NAT/QoS → Port Forwarding에 들어가야 한다.

 

● Add로 필요한 만큼 리스트를 늘린 후 각각의 항목을 기입한다. 애플리케이션에는 서비스 명을, 프로토콜은 TCP 또는 UDP 중 하나를 선택한다. 서브넷 마스크는 공백으로 두어도 된다. IP Address는 타겟 주소로, NAS의 IP를 입력한다.

 

● Port from과 Port to가 난해할 것이다. Port from은 외부 망에서의 포트 번호를, Port to는 내부 망에서의 포트를 의미한다. 즉, 외부 망에서 2121번 포트(Port from)로 접속을 시도하면 내부 망에서는 21번 포트(Port to)로 연결시키는 등의 작업이 가능하다.

 

특별한 이유가 없다면 동일한 포트 번호를 쓰면 된다. 만약 DSM 6.0의 DSM 가상화 등을 이용한다면 Port from, to로 두 DSM의 동일한 서비스일지라도 각각을 구분에 접속할 수 있다.

suhyeoni

suhyeoni@gmail.com

1 Comment

Post a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.