주뇽's 저장소
3. 포트포워딩을 이용하여 외부 접속 본문
실시간 웹캠을 스트리밍 영상을 외부에서 확인
포트포워딩
가족들이 같이 사는 큰 집이 있다. 이 집은 "우리집"이라는 주소를 가지고 있으며, 집에는 여러 개의 방이 있다. 각 방에는 각기 다른 가족들이 살고 있다.
이때, "우리집"에는 우편함이 하나 뿐이고 모든 우편물은 이 우편함에 배달된다. 따라서 모든 가족들이 받은 우편물은 이 우편함에서 확인할 수 있다.
각 가족들은 서로의 우편물을 확인할 수 없으며, 각자의 우편물만 확인할 수 있다. 이런 상황에서 각 가족들이 자신들의 방에 배달되는 별도의 우편함이 있으면 어떨까?
포트 포워딩은 이와 비슷하다. 가족들이 각자의 방(기기)에서 필요한 데이터(우편물)을 받을 수 있도록 각자의 포트(우편함)를 갖게 해준다.
- "우리집" 주소: 라우터의 공인 IP 주소
- 방(가족들의 각 기기): 내부 기기들(컴퓨터, 스마트폰 등)
- 우편함(포트 포워딩 설정): 각 기기들에게 특정 포트로 들어오는 데이터를 전달하는 역할을 한다.
- 우편물(데이터): 외부에서 들어오는 데이터(인터넷에서의 요청 등)
포트 포워딩을 통해 가족들은 각자의 방(기기)에서 자신들만의 우편물(데이터)을 확인할 수 있게 되며, 각자 필요한 서비스를 동시에 이용할 수 있다. 이렇게 각기 다른 포트를 사용하여 데이터를 각 기기로 전달하면 더 많은 기기들이 서로 다른 서비스를 이용할 수 있다.
Step0. 자신의 공유기 관리자 접속
- 자신의 IP 주소 확인
ifconfig | grep inet
자신의 IP주소 맨 뒤 번호를 1로 바꾼 후 인터넷에서 IP주소 검색
ex) 192.168.0.63 ⇒ 192.168.0.1로 바꾸고 인터넷 주소창에서 검색
#— 공유기마다 방법이 약간의 차이가 있으며 해당 글은 iptime을 기준으로 작성
Step1. DDNS 설정(선택)
선택사항이며 DDNS(동적 DNS)는 동적인 IP 주소를 가진 네트워크 기기를 동적으로 연결하고, 정적인 도메인 이름을 할당하여 쉽게 접근할 수 있게 해주는 서비스이다. 예를 들어, 가정에서 IP 주소가 동적으로 변경되는 라우터가 있다고 가정해보자 이 라우터에 CCTV가 연결되어 있다. 일반적인 IP 주소를 이용하여 CCTV에 접속하려면 IP 주소가 변경될 때마다 매번 새로운 IP 주소를 입력해야한다. 하지만 DDNS를 사용하면, 라우터와 CCTV의 동적인 IP 주소를 정적인 도메인 이름(예: mycctv.ddns.net)과 매핑하여, 도메인 이름만 입력하면 언제나 CCTV에 접속할 수 있게 된다.
- 관리도구 클릭
DDNS 등록
- 호스트이름 : mycctv(자신이 원하는 정적 도메인 이름)
- 사용자 ID : 이메일 주소
- 보안 문자 : 우측 보안 문자
DDNS 등록 확인
- 위처럼 나오면 된다!
Step2. 포트포워딩 설정
- 포트포워드 설정 접속
외부 포트 ⇒ 내부 포트 설정
규칙이름 : 자신이 원하는 이름
현재 접속된 IP 주소 체크
외부 포트 : 외부에서 연결할 포트 8070 ~ 8080 으로 설정
내부 포트 : 외부 포트를 내부 포트로 매핑 8080 ~ 8080
—# 8070 ~ 8080 사이에 포트로 접속하면 모두 8080으로 매핑
Step3. 외부에서 접속
플라스크 웹 서버 활성화
python3 stream.py
DDNS를 이용하여 외부에서 접속
같은 인터넷이 아닌 다른 인터넷에서 주소창에 자신이 설정한 DDNS:8080 으로 접속
- ex) mytest.iptime.org:8080
잘 나온다!!
'IOT (Arduino)' 카테고리의 다른 글
Edge Computing 이란? (0) | 2023.09.05 |
---|---|
2. 웹캠 스트리밍 with Flask (2) | 2023.08.04 |
1. 라즈베리파이 OpenCV 설치 (0) | 2023.08.03 |