본문 바로가기
아두이노/윈도우 절전모드 해제기

#5 설치 - 공유기 DDNS/포트포워딩

by songbum 2024. 2. 17.

지금까지는 테스트를 위해 사무실 안에서만 접속을 했기 때문에 공유기로 부터 할당 받은 내부 IP 인 192.168.0.10 로 아두이노 기기에 접근이 가능했다.  내가 원하는 건 사무실 밖에서 이 아두이노 기기에 접근하는 건데, 사무실 밖에서는 이 내부 IP 로 바로 접근하는 것이 불가능하다.  대신 공유기를 거쳐 아두이노 기기의  내부 IP 에 접근할 수 있다.

 

위 그림을 기준으로 우측의 '집 PC' 에서 중앙의 '공유기' 를 거쳐 좌측의 '아두이노 기기' 에 접근해야 한다.

 

공유기에 접근하려면 이 공유기의 외부 IP 인 203.1.257.56 로 접근해야 하는데, 이 외부 IP 라는 것은 유동적인거라서 공유기를 껏다 켜거나 인터넷 서비스 회사의 사정으로 인해 다른 IP 로 바뀔 수 있다.  공유기의 외부 IP 를 확인하려면 사무실 PC 에서 공유기에 접속해야만 하기 때문에, 사무실 밖에 있는 동안 외부 IP 가 갑자기 바뀌면 사무실 공유기에 접속할 수 없게 된다.  그래서 외부 IP 가 바뀌더라도 항상 공유기에 접근할 수 있도록 하려면 DDNS 기술을 이용해야 한다.

 

DDNS 를 사용하려면 사무실 PC 에서 공유기 관리 웹사이트에 접속해야 한다.  설정 방법은 공유기 제작 업체 별로 조금씩 다를텐데, 내가 사용하는 iptime 공유기는 관리 웹사이트(http://192.168.0.1) 에 로그인 한 후, '관리 도구' -> '고급 설정' -> '특수 기능' -> 'DDNS 설정' 에서 임의의 아이디를 등록하면 된다.

 

테스트로 songbum 이라고 등록했는데, 이건 나중에라도 삭제하고 다시 생성할 수 있다.  이렇게 songbum.iptime.org 라는 도메인이 생성됐고, 이를 사용하면 언제 어디에서나 내 공유기로 접근이 가능해진다.

 

 

다음 단계는, 공유기에 도착한 내 접근을 아두이노 기기로 전달해주는 것이다.  

 

공유기는 자신에게 도착한 접근을 사무실 네트워크 안에 있는 여러 기기들(사무실 PC, 아두이노 기기 등) 중 하나로 전달해야 하는데, 어느 기기로 전달할지를 미리 규칙으로 정해 공유기에 저장해놔야 한다.  이렇게 공유기에 규칙을 저장하기 위해서는 포트포워딩 이라는 기술을 사용한다.

 

위 그림을 기준으로 외부에서 공유기에 접근할 때 1000 번 포트로 하면 내부 IP 가 192.168.0.5 인 사무실 PC 1 로 전달해주고, 1100 번 포트로 하면 내부 IP 가 192.168.0.6 인 아두이노 기기로 전달해준다는 규칙을 정하는 것이다.  포트 번호를 알려주는 방법은 songbum.iptime.org 도메인으로 접속할 때 뒤에 콜론과 포트 번호를 덧붙이면 된다.

songbum.iptime.org:1000  => 192.168.0.5 인 사무실 PC 1 로 전달
songbum.iptime.org:1100  => 192.168.0.6 인 아두이노 기기로 전달

 

규칙을 정할 때 한가지 더 고려할 사항이 있다.  공유기로 부터 접근을 전달 받는 기기(사무실 PC, 아두이노 기기 등) 에는 여러가지 프로그램이 설치돼 동작중일 수 있는데, 그 중 어느 프로그램으로 전달할지를 정해놔야 한다.  예를 들어 사무실 PC 1 에는 윈도우 내장 원격 데스크톱 프로그램이 설치돼 있어 사무실 외부에서도 PC 를 제어할 수 있는데, 이 프로그램은 포트번호 3389 를 사용해 접속하도록 만들어져 있다.  따라서 포트포워딩 규칙을 정할 때는 전달받을 프로그램의 포트번호도 함께 정해놔야 한다.

songbum.iptime.org:1000  => 192.168.0.5 인 사무실 PC 1 의 3389 포트로 전달

 

아두이노 기기에는 지난 번에 내가 작성한 웹서버 프로그램이 작동중인데, 이 웹서버 프로그램은 포트번호 80 을 사용해 접속하도록 돼 있다.  따라서 사무실 외부에서 이 아두이노 기기에 접속할 때는 아래와 같이 규칙을 정해야 한다.

songbum.iptime.org:1100  => 192.168.0.10 인 아두이노 기기 의 80 포트로 전달

 

DDNS 와 마찬가지로 포트포워딩을 사용하려면 사무실 PC 에서 공유기 관리 웹사이트에 접속해야 한다.  관리 웹사이트(http://192.168.0.1) 에 로그인 한 후, '관리 도구' -> '고급 설정' -> 'NAT/라우터 관리' -> '포트포워드 설정' 에서 등록한다.

 

바로 위에서 정한 규칙 대로 외부 포트 1100 으로 들어오는 접속은 내부 IP 192.168.0.10 기기의 80 번 포트 번호로 전달하도록 아래와 같이 입력하고 적용 버튼을 클릭한다.

 

사무실 PC 1 에 윈도우 내장 원격 데스크톱 프로그램을 사용해 접속하기 위한 설정은 아래와 같다.

 

 

마지막으로 하나 더 체크할 것이 있다.  사무실 네트워크에 있는 아두이노 기기는 현재 내부 IP 가 192.168.0.10 인데, 이건 처음 연결했을 때 공유기에서 자동으로 할당해 준 IP 이다.  이후로는 웬만해서는 바뀌지 않지만 가끔 공유기를 껏다 켜거나 하면 새로운 내부 IP 로 할당을 해주는 경우가 생긴다.  이렇게 되면 공유기에 저장해 놓은 포트포워딩 규칙이 무력화돼 버리면서 다시 사무실 밖에서의 접근이 불가능하게 된다. 

 

이를 막기위해 아두이노 기기나 사무실 PC 1 등 포트포워딩 규칙에서 사용되는 것들은 할당 받았던 내부 IP 가 바뀌지 않고 계속 사용할 수 있도록 해야 한다.

 

이것도 마찬가지로 사무실 PC 에서 공유기 관리 웹사이트에 접속해서 설정해야 한다.  관리 웹사이트(http://192.168.0.1) 에 로그인 한 후, '관리 도구' -> '고급 설정' -> '네트워크 관리' -> 'DHCP 서버 설정' 에서 등록한다.

 

화면 하단의 입력 창에 사무실 PC 1 의 내부 IP 를 입력하고 '수동 등록' 버튼을 클릭하면 된다.

 

 

 

이제 사무실 PC 를 절전 모드로 바꾼 뒤, 집에 가서 윈도우 내장 원격 데스크톱 프로그램으로 songbum.iptime.org:1000 에 접속을 시도해봤다.  예상대로 절전 모드에 진입한 PC 에는 접속이 안 됐다.

 

그래서 웹브라우저를 열고 http://songbum.iptime.org:1100 으로 접속했고, 아래와 같은 메세지를 받았다.

 

잠시 후에 다시 윈도우 내장 원격 데스크톱 프로그램으로 songbum.iptime.org:1000 에 다시 접속하니 이번에는 성공했다.  이제 사무실 PC 가 절전 모드에 진입하더라도 아무 문제 없이 다시 원격으로 접속해 업무를 처리할 수 있게 됐다.

 

'아두이노 > 윈도우 절전모드 해제기' 카테고리의 다른 글

#4 제작  (0) 2024.02.15
#3 기획 및 검토 - 아두이노 Pro Micro  (0) 2024.02.11
#2 기획 및 검토 - 웹서버  (0) 2024.02.09
#1 기획 및 검토 - ESP-01  (0) 2024.02.01