본문 바로가기
프로그래밍/라즈베리파이

라즈베리파이3 외부접속(DDNS, 포트포워딩)

by TcTT 2017. 3. 28.
반응형

라즈베리파이3 외부접속위한 포스팅이다.


대부분의 개발환경은 로컬이지만 라즈베리를 포트포워딩하여 외부에서 접속하고, 외부에서 개발할 수 있도록 하려고한다.


외부에서 접속하기위해선 포트포워딩이 필수개념이며, 추가적으로 DDNS 를 사용하면 편리하게 관리할 수 있다.


우선 포트포워딩의 기본 개념이다.




공유기에 적혀있는 61.43.52.108 이 공인 IP번호이다.

공인 IP는 언제 어디서든 인터넷에 연결되어있다면 접속할 수 있는 ip이며

PC에 적혀있는 192.168.0.10 ~ 30 의 아이피로는 외부에서 접속 할 수 없다.

접속하기위해선 공유기 (공인ip)에서 포트포워딩 기능을 사용해 PC(사설ip)로 접속 해야한다.

하지만 로컬상 192.168.0.10 ~ 30 접속하기 위해선 공유기에 물리적으로 연결되어 있다면 PC 끼리는 서로 접속이 가능하다.


현재 외부에서 접속하기위해서는 iptime에서 지원하는 포트포워딩 기능을 사용할 예정이다.



나는 ipTime 사의 N604S 공유기를 사용했다.

혹시 공유기 설정창에 들어가는법을 모른다면

대부분의 사용자는 192.168.0.1 로 셋팅되어있을거고,

만약 사용자가 설정을 바꿨다면, 현재 공유기에 연결된 게이트웨이로 들어가면된다.


관리도구에 들어오면

기본 설정 - 시스템 요약 정보에 들어가면


인터넷 정보 탭에 외부 IP 주소 가 위에서 설명한 공인 IP 주소라고 할 수 있다.

하단에 기타 정보에 원격 관리 정보가 공유기 관리메뉴에 들어올 수 있는 포트 번호이다.

얼추 감이 올수도있지만 좀더 자세한 설명은 예재를 통해 설명 해본다.

우선 원격지에서 공유기 설정에 접근하는 설정을 한다.

고급설정 - 보안기능 - 공유기 접속 관리에 들어간다.

외부 접속 보안 탭에

원격 관리 포트 사용에 체크한뒤

사용할 포트번호를 선택후 적용한다.

적용 후에는 우측상단에 저장버튼을 클릭한다.

저장을하지않아 적용이 안될 수 있다.


설정을 마치면 공인아이피:관리포트 입력시 공유기 설정창으로 들어갈수있다.

EX)  61.43.52.108:1234  형식으로 사용하면된다.


위의 형식은 전세계 어디서 PC or 어느 핸드폰이든 접속이 가능하다.

누구든 접속가능하니 관리메뉴 접근전에 ID / PW 확인은 필수로 지정해야한다



공인 IP는 대부분 고정이지만 낮은확률로 IP가 변경될 수 있다.

IP 변경되면 원격지에서 공인IP를 알수 있는방법이 없기때문에 DDNS 기능을 사용한다.

DDNS란 공인IP주소는 외우기도 어려우니 숫자를 -> 문자로 바꾸는 기능입니다.


인터넷창에  58.123.220.99  입력 시 구글로 이동되고,

www.google.com 입력 시에도 마찬가지고 구글로 이동됩니다.


각설하고 DDNS 설정법입니다.



서비스 공급자는 IPTIME에서 지원하는 ip TIME DDNS 선택

호스트이름은 원하는 이름으로합니다. 

호스트 이름은 xxxxxxx.iptime.org 로 끝나야합니다.

사용자 ID 는 E-mail 로 하여 패스워드 분실 시 임시 비밀번호를 받을 수 있습니다.

사용자 암호도 지정해주고 추가 버튼 클릭하고,

잠시뒤에 갱신 버튼을 누르면 접속상태가 정상 등록으로 나옵니다.


간간히 접속상태가 클라이언트 접속 차단됨 으로 나타날 수 있는데

이부분은 공유기 펌웨어 업데이트하면 문제가 해결된다.



정상 등록되면 

호스트이름:관리포트 입력하면 공유기 설정창으로 진입 할 수 있습니다.

EX)RYTEST112233.iptime.org:1234



포트 포워딩에대해 알아보자

우선 설정법이다. 

공유기 설정에 들어가 아래 경로로 들어간다.


고급설정 - NAT/라우터 관리 - 포트포워드 설정 에들어가면 위와같은 화면이 나타난다.

나는 미리 설정을 해뒀기에 포트가있지만 설정하지않았다면 빈칸으로 있을거다.


규칙이름 : 새로만들 규칙의 이름 (영문으로 아무거나 하면 됩니다.)

내부 IP 주소 : 사설IP(192.168.100.XXX)를 제어할 IP주소

프로토콜 : TCP / UDP 여러가지 있지만 대부분 TCP를 사용합니다.

외부포트 : 외부에서 접속할때 사용하는포트   EX) 핸드폰 -> 공유기 접속

내부 포트 : 내부에서 사용할 포트 EX) 공유기 -> PC 접속


포트포워딩에대한 개념이 잡혔으면 개떡같은 설명이 얼추 이해가 될거다;;




이제 자신의 라즈베리에 맞는 내부포트 외부포트를 맞추주면된다..


이제 원격 데스크톱 연결로 라즈베리에 연결해보자.


$ sudo apt-get upgrade    => 를 입력하여 라즈베리를 업그레이드한다.  업그레이드가 완료되면

$ sudo apt-get install tightvncserver   =>  xrdp서버를통해 원격접속할때 커넥팅오류가 발생하면 보통 설치한다..  그러므로 미리 설치한다

$ sudo apt-get install xrdp    => 를 입력하여 xrdp 서버를 설치한다.


설치가되면 자동으로 xrdp 서버가 실행된다.. xrdp 서버의 기본포트는 3389번이다.


설치가 완료되었다면 외부에서 라즈베리에 접속해보자

사용되는 툴은 윈도우에 기본적으로 설치되어있는 원격 데스크톱 연결을 사용한다.


RYPASISSH란 규칙이름의 포트포워딩은

DDNS주소:10010 으로접속시에

라즈베리파이ip(192.168.100.103)에 3389번에 포트로 연결을 시켜준다는 뜻이다.


EX)    RYTEST112233.iptime.org:10010 접속하면

     192.168.100.103:3389 로 접속이 되는것이다!

      물론  공인아이피주소:10010 을사용해도 

      192.168.100.103:3389 로 접속이된다!


만약 id / pw 를 요구한다면  pi / raspberry  이다.  

기본 패스워드니 꼭 비밀번호를 바꾸고 사용해야한다!





반응형

'프로그래밍 > 라즈베리파이' 카테고리의 다른 글

라즈베리파이 3 전력부족  (0) 2017.03.31
라즈베리파이 GPIO 제어  (0) 2017.03.30
라즈베리파이 3 SSH, VNC  (0) 2017.03.28
라즈베리파이 OS 설치  (0) 2017.03.28
라즈베리파이 libpam-chksshpwd  (0) 2017.03.27