이번에 새롭게 웹 프로젝트를 시작하려 하니 서버가 마음에 걸렸다.
nCloud나 AWS나 몇몇 선택지가 있긴 했지만 가격이 아무래도 마음에 좀 걸렸었다... 그러던 중 집에 굴러다니던 라즈베리파이 몇개가 생각났고 이걸 활용해서 웹서버를 만들면 비용적으로 많이 저렴할 것 같아 공부하고 시도하게 되었다.
(실제로 라즈베리파이를 24시간 내내 돌리면 한달에 200~500원정도 나온다고 한다 ㅋ.ㅋ)...
자 이제 시작해보자!
우선 어느정도 배경지식을 살짝 알고가면 좋을 것 같다.
우리집 안의 라우터(공유기)를 활용하여 집안의 노트북,컴퓨터를 활용하여 라즈베리파이를 원격접속해 본 경험은 있었다. 하지만 내가 원하는건 라즈베리파이를 웹 서버로 사용하는 것이기에 이를 외부 IP로 내보내는 과정이 필요했다.
따라서 내가 해야하는일은 총 3개가 있었다.
1. 라즈베리파이의 내부 IP 고정하기
2. IP포트포워딩 하기
3. 라즈베리파이 mysql 및 nodejs 등등 설치하고 테스트하기
내부 IP 고정
먼저 내부 IP를 고정시켜줘야 한다. 라즈베리파이를 킨 후, 커맨드로
ifconfig
를 입력하면 현재 IP주소가 뜬다. 해당 IP는 고정시켜주지않으면 라우터가 종종 유동적으로 바꿔준다. 따라서 이를 확실히 하기 위해서 이를 고정시켜줘야 한다.
해당 방법은 라즈베리파이를 랜선으로 연결하였는지 무선으로 연결하였는지에 따른데 필자는 무선으로 연결했다.
우선 본인의 공유기 관리사이트에 접속해야 한다. 필자는 SKT였다. 다른 통신사도 UI만 다르지 방법 자체는 비슷하다.
해당 공유기가 연결된 컴퓨터에서
ipconfig
를 친후 기본 게이트웨이 주소를 확인한다. 그리고 해당 주소를 인터넷에 입력하면 관리자 페이지로 이동할 수 있다.
만약 허브 등을 이용해서 사용하고 있다면 해당 방법으로는 접속할 수 없다고 하며 이를 검색해주는 도구를 이용해야 한다고 한다.
https://dazemonkey.tistory.com/179
이제 공유기 본체를 가보자. 공유기 본체 뒷면을 보면 다음과 같이 써져있을 것이다.
여기서 빨간색으로 가린 유선MAC 뒷자리 6자리가 비밀번호의 일부이다.
기본적으로
아이디 : admin
비밀번호 : "유선MAC뒷자리6개"_admin
이다 (_admin 을 붙여야함)
대소문자도 구분하니 유의하도록 하자.
비밀번호를 바꾸라고 나오는데 나중에 까먹을까봐 굳이 바꾸진 않았다 ㅋㅋ
고급설정 - 네트워크관리 - LAN 연결설정 에 들어가면 고정 IP를 설정할 수 있는 부분이 나온다.
여기서 IP는 라즈베리파이의 IP를, MAC주소 또한 라즈베리파이의 MAC주소를 가져오면 된다. 두 정보 모두 라즈베리파이에서
ifconfig
를 눌러서 확인할 수 있다. ether 이후에 나오는 값이 MAC주소이다. (참고로 대문자로 입력해야 된다.)
위 방법까지 마쳤다면 내부IP를 고정하여 설정해준 것이다.
해당 IP를 이용하면 같은 망 이내의 사용자(컴퓨터,노트북 등)에서는 라즈베리파이에 원격접속이 가능하다. 하지만 우리가 원하는건 다른 망의 사용자와도 컨택이 되어야 하므로 포트포워딩이 필요하다.
포트포워드
고급설정 - NAT/라우터 관리 - 포트포워드
외부포트는 외부에서 접속할 때 사용할 포트이며
포워드 IP주소는 방금 고정한 내부 IP주소를 적으면 된다.
내부포트로는 실제로 접속한후 접속할 포트를 적으면 된다.
예를 들어 putty를 통해 원격접속을 한다고 생각해보자.
외부포트 10000 - 10000
포워딩 IP주소 192.168.35.10
내부포트 22-22
로 설정 해볼 수 있을 것이다. (putty를 사용할 것이기에 내부포트는 22로 설정 그 외 나머지는 자유롭게 설정할 수 있다.)
이제 라즈베리파이에서도 설정을 해보자. putty를 한번 사용해보기로 했기 때문에 권한을 열어줘야 한다.
아래 화면처럼 기본설정에 들어가준 후
ssh를 열어주자.
이제 접속해보자!
먼저 IP주소를 알아야 하는데 이는 아까 들어갔던 공유기 관리자 페이지에서 확인할 수 있다.
기본 설정 - 인터넷 연결정보에 들어가면 Ipv4주소 칸에서 내 주소를 확인할 수 있다.
이제 putty를 키고 IP에는 위에 적은 외부IP주소를 입력하고 Port를 10000으로 설정하면 원격접속이 잘 된 것이다.
이제 우리는 어디서든 집에있는 라즈베리파이에 접속할 수 있게 되었다.
'프로젝트 > 소규모프로젝트들' 카테고리의 다른 글
라즈베리파이로 웹 서버 만들기 (3) - 배포하기 (0) | 2023.01.27 |
---|---|
라즈베리파이로 웹 서버 만들기 (2) - 라파 DB 서버로 사용하기 (1) | 2023.01.24 |
mdx Editor만들기 (마크다운 에디터) (1) | 2022.11.27 |
JS_리액트_TodoList (0) | 2021.12.27 |
MFC를 이용한 디지털신호처리 프로그램 (0) | 2021.12.15 |