본문 바로가기
Linux/Pogoplug

포고플러그 시리즈4에 아치리눅스 사용하기 (번외) - 외부접속하기(포트포워딩, DDNS 설정)

by 달토끼남편 2022. 10. 4.

포고플러그에 아치리눅스를 설치하고, 삼바+FTP+트랜스미션까지 모두 설정을 마쳤다.

처음 포고를 샀을 때 nplayer로 동영상을 감상하고자 하는 목적이 제일 컸으므로 1차 목표는 달성한 셈이다.

 

그런데 내부네트워크, 즉 공유기를 설치한 집 안에서는 FTP로 포고에 접속이 가능하지만 밖에서는 접속이 불가능하다.

 

이걸 해결하려면 몇 가지 개념을 알아야 한다. 

(개념설명이 틀린 부분도 있을 수 있으니 틀려도 이해하세요 ^^;)

 

좀 장황할 수도 있다.

지루하면 아래 결론만 알아도 된다.

 

외부에서 접속할 수 있는 통로, 즉 포트를 하나 개방하고(포트포워딩) 포고플러그의 유동 IP를 고정 IP로 바꿔주며, IP가 바뀌더라도 동일한 도메인 네임으로 접속이 가능하도록 DDNS 설정을 한다.

----------------------------------

 

나같은 초보자를 위해 좀 풀어서 정리해 본다.

 

우선 외부에서 내 내부네트워크로 접근을 하려면 포트포워딩이라는 것과 DMZ 설정이라는 것이 필요한데 DMZ는 외부에 접속포트를 다 개방하는 것이라 보안에 문제가 있을 수도 있다고 하니 여기서는 포트포워딩(Port Forwarding) 설정에 대해서만 알아본다.

 

 

 

 

 

위의 네트워크 구성도를 보자.

 

모뎀에 물려있는 공유기는 자신과 연결된 PC나 포고플러그, 스마트폰 등에 192.xxx.xxx.xxx 등과 같이 사설 IP를 임의로 할당한다.

따라서, 사설 IP를 할당받은 포고플러그에는 동일한 사설 IP를 할당받은 네트워크 내(파란 색 테두리)의 PC나 스마트폰 등에서만 접속이 가능한 것이다.

 

왜? 네트워크의 경계선이 192.xxx.xxx.1 ~ 192.xxx.xxx.254 로 되어 있어 그 안에서만 움직일 수 있기 때문이다.

 

그럼 포트포워딩이란 무엇인가? 

 

아래 처럼 통상 21번 포트는 FTP용이고, 80포트는 HTTP 용이다.

FTP(파일전송 서비스)는 21번 포트를 통해서만, HTTP(웹 서비스)는 80포트를 통해서만 이용할 수 있다는 뜻이다.

 

그래서, 공유기한테 외부에서도 접속이 가능하도록 포트를 하나 더 열어주고 외부에서 접속신호가 들어오면 그 포트로 전달(forwarding) 해주라는 기능이다.

 

아래에서는 99번 포트를 외부 FTP 접속포트로 잡았다. (내부 네트워크와 동일한 21번 포트를 잡아도 되지만 종종 인터넷 서비스회사에서 막는 경우가 있다고 하니 접속을 해보고 안되면 다른 번호로 할당하면 된다.) 

 

이렇게 되면 외부접속은 99번 통로를 통해서만 이용이 가능하게 된다.

 

 

 

 

 

 

이제 포트포워딩은 문을 하나 열어서 밖에서는 그 쪽 통로로만 출입을 할 수 있게 하는 것이구나...라고 조금 감이 잡혔다.

 

그럼 어떤 방법으로 외부에서 접속을 해야할까?

 

처음에는 ftp://192.168.1.3:99 와 같이 포고플러그에 할당된 내부 네트워크 IP 주소 뒤에 개방한 99번 포트만 붙여주면 외부에서도 접속이 가능한 것인가? 라고 생각했고 그렇게 하다가 헤맨 것이다.

 

앞서 언급했듯이 이 사설 IP는 내부에서만 접속이 가능하므로 이것이 아닌 공유기에 할당된 공인 IP 주소 뒤에 개방한 포트 번호를 붙여줘야 외부에서 접속이 가능한 것이었다. (참 당연한 것인데...)

 

그런데 여기서 문제가 있다.

 

바로 공유기에 할당되는 IP가 변하지 않는 고정 IP가 아닌 DHCP 즉, 임의로 할당되는 유동 IP라는 것이다. 공유기가 고장나거나 정전 등으로 꺼졌다가 다시 켤 경우에는 이전에 사용했던 IP 주소가 아닌 다른 IP 주소를 받게 되는 것이다.

 

나의 공인 IP 주소를 알고 싶다면,

 

http://ipconfig.co.kr

http://supportdetails.com

 

등에 접속해 보자.

마찬가지로 공유기에 물린 포고플러그 역시 껐다켜거나 하게 되면 다른 IP 주소가 할당될 수 있기 때문에 이렇게 되면 매번 접속할 때마다 새로운 IP 주소를 알아야 하므로 여간 불편한 것이 아니다.

 

그래서, DDNS(Dynamic Domain Name Server) 설정이라는 것이 필요한데, 도메인 네임이란게 www.naver.com 처럼 외우기 쉬운 이름이다...이것이 실제로는 220.95.xxx.xxx와 같은 IP 어드레스와 연결을 시켜준 것이고 그런 연결에 대한 정보를 가지고 있는게 도메인 네임 서버(DNS)이다.

 

하지만 우리는 유동 IP를 사용하므로 다이내믹 DNS를 이용해서 실시간으로 갱신해 주는 것이다. (위키)

(도메인을 네임서버에 등록하면 전세계 도메인 네임 서버에 금방 전파가 되기도 하지만 늦으면 며칠이 걸리기도 한다.) 

 

우선은 포고플러그에 할당된 유동 IP 주소를 고정 IP 주소로 바꿔주는 작업부터 해보자.

 

내가 쓰는 공유기는 네티스 WF-2409 모델로 가성비가 좋고 아이폰하고 궁합이 잘 맞는다고 해서 구입했는데 다행히 지금까지 끊김현상 등 없이 잘 사용하고 있다. (국내에서 많이 사용하는 iptime 의 제품들은 검색해 보면 금방 설정방법을 찾을 수 있다.)

 

네티스의 관리자 페이지에 들어가 보면, 네트워크 설정 > DHCP 설정 > DHCP 정보가 있으며 여기서 포고플러그의 내부 IP 주소를 확인하고 맨 우측의 고정설정 링크버튼을 클릭하면 고정 IP 등록 탭에 자동으로 등록이 된다.

 

 

 

 

그럼 위와 같이 고정 IP 등록 탭에 포고플러그가 등록된다.

그 다음 외부에 개방할 포트를 설정한다. (DMZ/포트포워딩 > 포트포워딩 > 내용입력 후 추가버튼 클릭)

 

 

 

 

 

 

 규칙이름에는 알기 쉽게 써주고, 내부 IP 주소에 포고플러그의 IP 주소를 적어준다.

그리고 사전 설정에서 FTP를 선택한 후, 포트번호(외부)에 21-21을 입력한다.

포트번호(내부)에는 기본적으로 21이 입력되어 있다.

 

FTP의 기본 포트번호가 21번이기 때문에 외부도 동일하게 21로 정해주면 접속 할 때 따로 포트번호를 적지 않아도 되서 편한데, 인터넷 서비스회사에 따라 막는 경우도 있다고 하니 접속이 안될 경우 외부 포트번호를 2222-2222등 임의로 정해주면 된다. 

 

 

마지막으로 이렇게 외부에서 접속할 때 유동 IP가 바뀌어도 알아서 접속이 가능하도록 갱신해 주는 DDNS를 등록하면 된다. (고급설정 > DDNS 설정 > 사용함에 체크 > 사용자 이름 > ID 등록 > 적용)

 

 

 

 

 

 

iptime도 그렇지만 네티스 제품에서도 자체적으로 DDNS를 제공하고 있기 때문에 내가 따로 도메인을 가지고 있지 않다면 무료로 도메인 네임을 할당받아 사용할 수 있다.

 

사용자이름에 원하는 이름을 넣고 중복검사를 해서 중복된 이름이 없는지 확인해 보고, 없다면 자동으로 DDNS 도메인 주소에 [사용자 이름].gonetis.com 으로 입력이 된다.

 

ID 등록 버튼을 눌러 네티스의 DDNS에 등록한 후에 마지막으로 적용을 누르면 된다.

만약 등록한 사용자 이름이 foo였다면, 외부에서는 ftp://foo.gonetis.com을 입력하면 FTP 서비스를 이용할 수 있게 된다. 

드디어 나만의 개인 클라우드 서비스를 사용할 수 있게 되었다.

(그 외에도 HTTP 서비스 등도 포트를 개방하면 웹서버를 돌렸을 때 외부에서 홈페이지를 볼 수 있게 된다.)

 

 

 

 (FTP 정령 앱으로 접속해 본 화면)

 

nplayer에서 한번 접속을 해보았다.

외부에서도 접속이 잘 된다.

만약, FTP 외부포트를 21이 아닌 다른 포트번호로 설정했다면 ftp://foo.gonetis.com:3333 처럼 뒤에 포트번호를 붙여줘야 접속이 가능하다.

 

이제 스마트 라이프를 즐겨보자~