상세 컨텐츠

본문 제목

라즈베리파이 외부 접속

기술이 된 상상

by Indigo_Pure 2017. 12. 31. 00:19

본문

728x90
반응형

라즈베리파이 외부 접속


목적

 : 외부에서 접속 가능한 웹페이지 만들기

    • 라즈베리파이 OS 설치
    • 라즈베리파이에 웹서버 실행(NodeJS)
    • OS 접속을 위한 방화벽 해제
    • 외부 접속을 위한 포트포워딩




1. 라즈베리파이 OS 설치


라즈베리파이에 라즈비안을 설치하였습니다다른 OS 존재하니 여러 조건을 고려해보시고 선택하세요.

라즈비안 설치 방법 : 악보쓰는 프로그래머 님의 블로그

라즈비안 공식 다운로드[라즈비안 다운로드]



2. 방화벽 설정


라즈비안은 데비안 기반의 운영체제입니다. iptables 사용하지만 설정  적용하기가 어려울  있기 때문에 ufw 사용했습니다.

ufw 이용한 방화벽 해제 명령

ssh 사용을 위한 22 포트 허가


sudo ufw allow 22


웹서버 사용을 위해 7000 포트를 허가하겠습니다.

sudo ufw allow 7000


방화벽 설정 확인 명령을 통해 변경되어진 규칙을 확인할 있습니다.

sudo ufw status


참조

UFW (Uncomplicated Firewall)으로 Linux 시스템에서 방화벽을 보다 쉽게 관리할 있는 관리도구입니다.



3. 텔넷으로 방화벽 설정 확인


telnet 명령을 통해 포트가 열려있는 것을 확인할 있습니다.

telnet [ip] [port]


내부망에서 접속한다면 내부망 IP주소와 연결 설정한 port번호를 입력합니다.

telnet 123.123.123.123 22


위 명령어를 입력하여 돌아오는 값을 통해 서버의 상태를 파악할 있습니다.

방화벽이 열리지 않은 상태

Trying 123.123.123.123...

telnet: connect to address 123.123.123.123: Connection timed out

telnet: Unable to connect to remote host: Connection timed out


프로세스가 실행되고 있지 않은 상태

Trying 123.123.123.123...

telnet: connect to address 123.123.123.123: Connection refused

telnet: Unable to connect to remote host


정상적으로 연결되고 프로세스가 실행된 상태

Connected to 123.123.123.123

Escape character is '^]'.


telnet 명령 반환값에 관한 참조 블로그


4. 서버 띄우기 (NodeJS)


자세한 내용은 생활코딩 NodeJS 강좌를 통해 학습하실 수 있습니다. (생활코딩 NodeJS 강좌)


const http = require('http');


const hostname = '123.123.123.123';

const port = 7000;


const server = http.createServer((req, res) => {

  res.statusCode = 200;

  res.setHeader('Content-Type', 'text/plain');

  res.end('Hello World\n');

});


server.listen(port, hostname, () => {

  console.log(`Server running at http://${hostname}:${port}/`);

});


hostnameport  알맞게 변경하여 js파일로 저장하여 프로세스를 실행시킵니다.



5. 공유기 포트포워딩 (LG U+ 공유기 설정)


공유기에 따라 UI설정 화면이 다르기 때문에 간단하게 설명하고 LG U+ 공유기 설정은 적절한 포스팅 링크 참조하시면 됩니다.

공유기마다 외부에서 접속 가능한 IP주소가 있습니다외부 IP주소라는 이름으로 화면에 표시됩니다

포트포워딩 설정에 외부IP 주소의 포트와 연결한 내부IP 포트(방화벽 해제된 포트) 연결하여 줍니다.



6. 외부 접속 여부 확인


이제 웹브라우저를 사용하여 외부 IP주소:포트를 통해 내부 라즈베리파이 웹서버 페이지에 접속이 가능해졌습니다
22
포트를 외부 IP주소:포트에 포트포워딩을 하면 주소를 통해 외부에서 터미널로 ssh 접속도 가능합니다.



결론


모든 절차가 무사히 완료되면 외부에서 접속 가능한 웹페이지가 생성됩니다.

이제 기본페이지에 여러 가지 페이지와 기능을 추가할 있습니다.


728x90
반응형

'기술이 된 상상' 카테고리의 다른 글

[HTML] HTML5 Specification  (0) 2019.06.11
[Javascript] VueJS Filter  (0) 2018.09.19
Javascript Front Framework 비교  (0) 2018.06.12
자바스크립트 객체 종류와 생성 시기  (0) 2017.08.24
jQuery Performance 향상 방법  (0) 2017.08.23

관련글 더보기