PC/MAC/강좌2013.02.20 16:48

지난 번 강좌에서는 rsync를 이용하여 자동 백업 방법을 정리해 보았습니다.



이번강좌에서는 Dynamic DNS 구성 이를 이용한 원격접속입니다. 

환경은 우분투 리눅스 환경입니다. (강좌1 참고)


이번글 순서는 크게  


 - www.dnsdynamic.org 에서 무료 도메인을 받고,  ddclient로 공인IP자동 반영하기

 - 공유기 포트포워딩 설정하기


요약 될 수 있습니다.





1. Dynamic DNS 개요


 가정집에서 사용하는 인터넷 회선의 경우 보통 아파트광랜이거나 단독주택의 경우 VDSL(ADSL) 같은 비교적 월요금이 저렴한 서비스를 사용하고 있습니다. 소규모 사무실인 경우에도 비슷할 것 이라고 봅니다.


  이러한 환경에서 구축한 서버를 외부에서 접속을 하고자 하는 경우에는 현재 부여된 공인IP를 알아내야 합니다. 그런데 이때  대부분의 경우  인터넷 서비스 공급자로부터 동적 공인IP를 받게 됩니다.  


   즉 내가 사용하고 있는 회선을 위해서 IP를 고정해주지 않습니다. (일부 업체에서 부가 이용료를 내면 고정IP서비스를하기도 합니다).  그래서 보통 접속 중인 공유기를 다시 시작하는 경우, 또는 여러가지 이유로 회선연결이 순간  단절되었다 다시 연결되는 경우에는 IP가 바뀌어 있게 됩니다.   따라서 외부에서 이렇게 수시로 변경되는 IP를 알아내서 접속하기에는 여러모로 불편합니다. 


그래서 이 경우 활용할 수 있는 것이 Dynamic DNS 입니다.


   본래 DNS(Domain Name System)은 IP를 대신해 도메인 네임을 이용하여 컴퓨터서비스(자원_에 접속할 수 있도록 하는 시스템입니다.  예를 들어 PC에서 http://funnylog.kr(도메인네임) 를  웹브라우져에 입력해서  접속을 시도하게 되면 접속과정에서 DNS 서버로 부터 도메인에 해당하는 IP를 넘겨받아 접속하게 됩니다. 그런데 이러한 질의 과정은 하나의 웹페이지를 접속한다고 했을때 최소 수차례에서 수십차례까지 요청(각 이미지, 스크립트 마다 매번)을 하게 됩니다.  따라서  DNS서버까지의 질의 과정을 최소화하기 캐쉬를 하게 되는데  각각의 도메인 네임은 저마다의 캐쉬시간을 지정하게 됩니다. 이를 TTL(Time To Live)라 하고 통상 24시간(86,400초) 정도를 지정하게 됩니다.  즉 한번 질의를 하고 나면  이시간 동안은 재질의가 필요없다는 뜻입니다. 


   따라서 이사이에  도메인네임과 IP매핑이 바뀌게 되면 변경이 반영되지 못할 수 있는데, Dynamic DNS는 이 시간을 최소로(3~5분정도) 줄인 것을 말합니다.  그렇게 해서  수시로 변경 될수있는 고정IP에 대해서   캐쉬시간을  최소로 줄여주거나  아예 매번 서버에 확인을 하도록 하여 IP가 바뀌더라도 금세 반영이 되도록 한것이죠. 이를 이용해서 가정용회선과 같은 고정IP가 아닌곳에도 사용하게 되는것입니다.  (다만 그만큼 서버에 대한 부담은 커지게 됩니다.)



2. Dynamic DNS적용하기 


그럼 Dynamic DNS (이하 DDNS)를 어떻게 적용할 수 있을까요?


 개인이 DDNS를 이용하려면 해당 서버를 제공하는  업체를 이용하면 됩니다. 유명한 업체로 www.dyndns.org가 있는데. 최근에는 유료로(.com) 전환되면서 더이상 무료로는 사용할 수 가 없게 되었습니다. (다만 기존에 등록된 도메인네임에 대해서는 계속 사용 가능합니다.)


지금 현재 시점에 dyndns.org 대신해서 사용할 만한  서비스로는 www.dnsdynamic.org 이 있습니다.


적용 순서

2.1 www.dnsdynamic.org 가입

- 가입은 이메일 주소와 사용할 비밀번호만 입력하면 됩니다.

- 그리고 입력한 이메일로 수신한 confirm메일을 확인하면 로그인이 가능합니다.





2.2 사용할 도메인 네임추가 

- 가입이 끝나고 나면 해당 이메일과 비밀번호로 로그인을 한뒤 [Add a new domain]으로 원하는 도메인을 추가합니다.



위 예에서는 fun2.dnsd.me  라는 도메인네임을 생성한 경우 입니다.


웹상에서 이후에도 현재 접속중인 회선의 공인IP 를 보여주고 설정하도록 해줍니다.  


하지만 이렇게 매번 공인IP 가 바뀔때마다 서버에 접속하여 변경을 하는 것은 번거럽습니다. 그래서 이를 대신해주는 프로그램  ddclient를 사용하면 편리합니다.


2.3 Dynamic DNS 자동갱신 스크립트 적용하기


ddclient를 이용하면 일정시간단위로 외부에서 바라보는 현재 공인 IP를 찾아서 업데이트를 할 수 있습니다.


그럼 우분투환경에서 적용해보겠습니다.


먼저 설치방법입니다.



$sudo apt-get  install ddclient


  

  이렇게 하면 ddclient를 자동으로 내려받아 설치하게 되고 설치과정에서 설정정보를 묻게 되는데

차례대로 입력을 해주거나,  빈칸으로 넘어간뒤(또는 ESC) 수동으로 설정파일을 만들어주거나 수정하면 됩니다.

설정 파일은  /etc/ddclient.conf 파일을 수정해서 다음과 같이 설정하면 됩니다.



# /etc/ddclient.conf

daemon=60           # 갱신 주기 60초

protocol=dyndns2    #  통신 방식 (고정)

use=web, web=myip.dnsdynamic.com     # 나의 공인 IP 알아내기  (고정)

server=www.dnsdynamic.org    #   서비스 업체 서버 (고정)

login=메일주소        #  로그인 ID

password='qlalfqjsgh'                # 비밀번호

fun2.dnsd.me                    #반영할 내 서버의 도메인네임


/etc/ddclient.conf 파일의 수정이 끝났으면  ddclient 를 다시 시작해주어야 합니다.



$sudo service restart ddclient



이렇게 한뒤   www.dnsdynamic.org  접속해서 임의이 다른 IP로 적용한뒤  ddclient.conf정한  갱신시간이 흐른뒤  실제 공인 IP로 맞게 바뀌는 지 확인을 합니다. 


 제대로 바뀐다면 정상설치된 것 입니다.


만일 동작이 안되는것 같으면 아래 명령순서대로 다시 시작해보고 


$sudo service ddclient stop

$pgrep -f ddclient   # 실행중인 pid 가 있으면

$sudo pkill ddclient     #종료

$sudo rm /var/cache/ddclient/ddclient.cache   #캐쉬제거

$sudo service ddclient start 


그래도 안되면  ddclient 종료 후  아래 명령으로 실행해서 



$sudo ddclient -daemon=0 -noquiet -debug -verbose



어떻게 동작하는지 세부적으로 확인 합니다.


여기까지 마쳤으면  나만의 도메인네임을 갖게 된것입니다. 



   이렇게 설정한  해당 도메인네임으로 특정 서비스를 사용하려면  실제 외부에 노출된 공유기에서 포트포워딩 설정을 해주어야 합니다.


   외부에서 공인IP로 접속을 시도하더라도 내부에 있는 서버는 이를 알 수 없기 때문입니다.  공유기(또는 라우터)에서 적절한 포워딩을 해주어야 합니다.


3. 공유기에서 포트포워딩 설정 하기


   여기에서는  현재 제가 사용중인 ipTime 공유기를 가지고 설명하겠습니다.  대부분의 다른 공유기들도 포트포워딩을 지원하고 있으며 설정방법역시 유사하기때문에 이글과 공유기 도움말을 참고하시면 충분히 설정이가능할것입니다.


3.1  서비스 포트 알기 

  서비스 포트라는 것은 외부에서 내부서버로 접속하는 프로그램이 사용하는 통신 포트를 말합니다.

  

 일반적으로 서비스 별로 사전에 약속된 포트 번호가 있고, 경우에 따라서는 이를 변경할 수 가 있습니다.


통상 다음과 같은 예를 볼 수 있습니다.


HTTP  80

SSH 22

TELNET  23


3.2 공유기에 포트포워딩 추가


그럼 공유기에 적용해보겠습니다.  아래 그림을 참고하세요


공유기설정하는 웹으로 접속합니다. (보통 192.168.1.1 일겁니다.)


접속을 하면 공유기 메뉴에서 고급설정에 포트포워딩이라고 있습니다.


클릭하면 아래 그림과 같은 화면에 나옵니다. 


여기에서는 SSH 22번포트를 적용하는 예 입니다.  


규칙이름 : 어떤 용도 명인지 넣습니다.

내부IP주소 : 해당 포트 연결시도시 넘겨받을 내부서버 ip입니다.

프토토콜 : SSH는 TCP 접속입니다.

외부포트 :  외부에서 SSH 접속시 사용할 포트 입니다. 

내부포트 : 내부 서버가 SSH용으로 사용하고 있는 포트 번호 입니다.


              

이렇게 입력이 끝나면 [추가]버튼을 누르고 저장하면 됩니다.


반영되었는지 확인을 하려면  


SSH 클라이언트 (Putty)에서  앞서 정한  Dynamic 도메인네임(예 fun2.dnsd.me)로 접속하면 됩니다.                          




이렇게 해서 접속이 되면 모든 적용이 완료 되었습니다.


마치겠습니다.


Posted by 퍼니로거 즐건록
IT2012.12.08 11:09

집에서 사용하는 공유기를 바꾼지도 4~5번정도 되는것 같네요.  각각의 나름의 이유로 변경을 하게 되었었는데 이번에는 5Ghz 주파수를 지원하는 공유기를 사용하고 싶어서 구입을 하게 되었습니다.(참고 구매링크)


   5Ghz 지원하는 공유기 가운데 유명한건  2011년도에 출시한 ipTIME의 N8004R모델이 있었지만 해당제품은 나름 공유기계의 하이엔드라서 가격이 약간더 비쌉니다. 아마도 그만큼 연결된 디바이스가 많아지더라도 성능이 좋을것으로 보입니다만 집에서 쓰는데는 식구대로 쓰는 스마트폰4개, PC 2대, 인터넷 전화기 1대 및 아직 없는 IPTV 정도까지만 생각할때 8~10대정도 쓴다고 보면 N904도 충분해 보였습니다.

 

아래는 에누리에서 비교해본 두 제품간 차이입니다. 각격은 N904모델이 2만원좀 넘게 저렴합니다.



(PC화면에서 클릭시 확대 됩니다.)


성능 측면에서는 N8004R이 리얼텍 RTL8198칩을 사용하면서 기가비트 LAN포트 제공, 하드웨어 방식 NAT(IP공유)  를 지원하고 있네요. 그외에는 펌에어적으로는 RTL8197D 칩을 사용하는 N904의 기능도 유사합니다.  그리고 결정적으로 N904도   4dBi 안테나를 각각 2.4Ghz, 5Ghz 2개씩  4개를 장착하고 있습니다.


기존에 사용하던 유무선공유기도 인터넷을 100Mbps 회선을 쓰고 있었기 때문에 유선 속도및 공유기능 안정성에 불만이 없었고 단지 무선속도에 대한 아쉬움만 있었습니다. 그래서 N904의 RTL8197D 성능도 충분하리라 믿고 무선 5Ghz 주파수만 생각했습니다.


그래서 구매해서 설치하자 마자 노트북과 스마트폰에서 속도측정을 해보았습니다.


우선 노트북은 아쉽게도 2.4Ghz만 지원하고 있어서 제대로된 속도 맛을 느끼지 못했고 최근 장만한 갤럭시 노트2를 부푼기대를 안고 측정해보았습니다.


그런데....  




  이런! 44Mbps 정도 밖에 안나옵니다. 몇번을 측정해봤지만 비슷한 수준입니다. 물론 이정도도 그전보다 향상된 속도이긴 하나 뭔가 아쉽습니다. 분명히 N8004R에서 다른분 사용기에서는 90메가 육박하는 속도 측정결과를 본적이있기 때문이었습니다.  뭐가 문제지? 공유기차이?  무선랜 설정의 문제인가? 스마트도 최신거고..  그런게 실망(?)스럽게 있었는데  며칠뒤 이유를 알게 되었습니다.  와이프가 스마트폰을 옵티머스 LTE2로 바꾸게 되면서 이유를 알게 된거죠.  


먼저 비교 사진부터 보시죠.


테스트는 동일한 공유기와 근접한 위치에서 연이어  검사를 한 결과 입니다.



좌측부터 갤럭시노트2, 옵티머스 LTE2 입니다.


바로 이겁니다!!  옵티머스 LTE2는 90메가를 찍어주는 것이었습니다.  그러고 보니 다른 분들 N8004R사용기에서도 90메가이상 나오는 경우는 모두 옵티머스 LTE2였습니다. 결국 스마트폰의 WiFi지원 칩셋의 차이인듯 합니다. 스마트폰의 와이파이 채널본딩 지원여부에 따라 다르다는 글들을 보게되었습니다. 






즉 무선공유기는 이를 지원해주고 있었는데 스마트폰에서도 이를 받쳐주지 못하면 결국 최대속도의 반정도 밖에 안되는 것이죠.


결국 더 최신폰인 삼성 갤럭시 노트2가 기대밖의 실망감으로 WiFi에서 한계(?)를 보여줬습니다. 쩝.

(갤럭시노트2에서  WiFi 연결 상태를 보면 연결모드는  WiFi 150 으로 연결되어있습니다.)


어째든 N904R의 5Ghz  무선 공유 성능은 기대한 만큼 보여준다는게 확인되어 기분이 좋더군요.


노트2에서만 테스트해봤을때는 공유기에서 무선랜 설정이 잘못되었나 싶었었기에  궁금하신 분들을 위해서    속도가 잘나오는 ipTIME 무선 설정상태도 공유해 봅니다. 




  특별한 것은 없고  무선랜 설정중 보안 암호화 방식에 따른 차이가 있을 수 있어 이부분만 캡쳐해서 보여드리면 인증방법은 WPAPSK/WPA2PSK  AES 암호화 방법으로  했습니다.  안전하면서도 빠른 속도를 보여 주는 설정입니다.  


정리하면 ipTIME의 N904모델은 5Ghz 지원 유무선공유기중 가격대비 성능면에서 가장 추천할 만한 최신의 제품이 아닌가 싶습니다.


Posted by 퍼니로거 즐건록