본문 바로가기

IT 정보/Mobile, Cloud

DDNS 로 나스 외부접속이 되지 않을때

반응형
가끔 아래와 같은 질문글이 올라옵니다.

나스를 외부에서 사용하려는데 DDNS로 연결이 되지 않습니다.

뭐가 답일까요? 이걸 이런 질문으로 바꿔보겠습니다.

집에 들어가려는데 못 들어가고 있습니다. 어떻게 해야 할까요?

뭐가 답일까요?
열쇠, 도어락키(비번)가 없어서? 차비가 없어서? 길을 잃어서? 나 몰래 이사가서? 화난 가족, 빚쟁이가 기다리고 있어서? 등등......

의사한테 가서 배가 아파요! 라고만 하나요?
뭐 물론 그래도 되긴하죠. 대신 각종 검사로 수십만원 이상의 비용이 나올 뿐. 증상만 제대로 말했으면 몇천원에 처방전 하나 받는 것일수도 있는데.
그런데 오프라인도 아니고 게시판에 저렇게 한다면?

나스의 서비스를 이용하면
어떤 기기(모바일 기기, PC(윈도우, 리눅스, ...) 등) 로
어떤 프로그램(브라우저, 파일질라, es탐색기 등등)을 사용하고 
어떤 프로토콜(SMB, FTP, Webdav, ...) 을 이용해서
어떤 주소 어떤 포트 어떤 id/pw 로 접속 시도를 하면
어떤 결과(에러)가 나옵니다. 하다못해 모래시계라도...

이런 정보를 알아야 어떤 문제인지 접근을 시도 할 수 있겠죠.




나스를 사용하려면 주소 + 포트 로 접속을 하게 됩니다.
주소는 (내부에선 나스의 내부ip) 나스가 연결된 곳의 모뎀이 갖고 있는 공인ip(사용하기 쉽게 DDNS를 등록)이고
포트는 내가 원하는 서비스가 사용하는 포트(기본은 http-80, ftp-21 등)입니다.

DDNS와 포트포워딩이 무엇인지는 아래 글을 참고하세요.

  • DDNS 확인

1. DDNS 등록 상황이 정상인지 공유기 or 나스의 DDNS 설정에서 확인합니다.
2. 공유기의 포트포워딩 설정이 내가 원하는대로 정확히 되어 있는지 확인합니다.
3. DDNS 가 정상인지 확인합니다.
아래 그림처럼 ping ddns 주소를 실행하면 해당 주소의 ping 정보를 확인 할 수 있습니다.
출력되는 공인ip와 나스가 있는 곳의 공유기의 공인ip(외부ip주소)가 같은지 확인합니다.
만약 다르다면 해당 DDNS 서버에 내ip가 정확하게 등록/갱신이 되지 않은 것입니다. 실제 주소가 틀리므로 당연히 접속 안되죠.
두 ip가 동일하고 아래와 같은 정상적인 결과값이 나온다면 DDNS는 정상입니다.



만약 아래 그림과 같은 결과값이 나온다면...
1) 호스트를 찾을 수 없습니다. - 해당 주소가 없다는 얘기입니다. 
   DDNS 등록이 잘 못 되었거나 해당 DDNS 서버가 죽어있을수도...
2) 요청 시간이 만료되었습니다.
 - 공유기 등에서 ping 에 응답 못하게 설정한 경우 
 - 공유기가 죽었거나 인터넷이 끊겨 있는 등의 경우


  • 포트포워딩 확인

위의 DDNS(공인ip)는 모뎀(에 연결된 공유기) 까지만 오는 것이고
나스로 연결되게 하기 위해서는 포트포워딩 설정에 의해 특정 내부ip로 해당 포트의 요청을 포워딩(전달)합니다.
공유기의 포트포워딩 설정이 제대로 되어 있는지 거기에 설정한 외부포트로 내가 접속을 시도 한 것인지 확인합니다.


위의 그림에서 내부ip는 NAS의 내부ip이고 외부포트는 외부에서 DDNS:포트로 적는 것이고 내부 포트는 나스의 포트입니다.
나스의 FTP 내부 포트가 21이고 외부포트가 9121인데 만약 외부에서 ftp://ddns:21 로 접속하면 당연히 접속 안됩니다. ftp://ddns:9121 로 접속해야 합니다.

  • 실제 확인
DDNS 도 정상이고 포트포워딩 설정도 정상인데 서비스에 접속이 안된다.
우선 해당 서비스가 실행 중이 아니라면 응답을 못하므로 접속이 안됩니다. 해당 서비스가 정상적으로 실행 중인지 확인하세요.
나스와 공유기의 시스템 로그 들도 확인해 보세요. 특별한 로그가 있는지를.

그리고 통신사에 의해서 해당 포트가 막혀 있다면 그 포트로는 나스를 사용 할 수 없습니다.
포트포워딩 확인을 할 수 있는 사이트를 이용하시던가 telnet이나 포트 체크하는 프로그램으로 확인해보세요.

telnet 은 윈도우에 기본 설치는 아니고 제어판의 프로그램 추가/제어 에 있는 Windows 기능 사용/사용 안함 에서 텔넷 클라이언트를 체크 하시면 됩니다.

명령어는 command 창에 telnet 주소 포트 입니다.
주소는 내부에서는 내부ip, 외부에서는 공인ip or DDNS
예1) telnet 192.168.0.200 21 <== 엔터
220 ipTIME_FTPD 1.3.4d Server (NAS2-C93273) [192.168.0.200] EUC-KR

예2) telnet 192.168.0.200 9021 <== 엔터
연결 대상 192.168.0.200...호스트에 연결할 수 없습니다. 포트 9021: 연결하지 못했습니다.

예1)은 해당 포트의 서비스가 수행중이어서 정상적인 경우입니다.
예2)는 해당 포트로는 수행숭인 서비스가 없어서 연결이 안되거나 포트가 막혀 있는 것입니다.

만약 포트가 통신사에 의해 막혀있다면 외부포트를 저처럼 9000번대 등의 포트로 바꿔서 시도해보세요.

  • 에러메시지 확인
왠만한 프로그램에서는 오류가 발생했을 경우 에러 로그를 보여줍니다.
파일질라 프로그램으로 FTP 접속시 오류가 발생한다면 로그창에 에러메시지가 표시되어 있습니다.
해당 에러메시지를 보고 그에 맞는 조치를 하시면 됩니다. 질문시에도 이 에러메시지를 첨부하면 도움 받기 쉽습니다.


반응형