카테고리 없음

[개인 서버 운영] | 라즈베리파이 이해하기

soidev 2025. 9. 29. 21:02

1. 라즈베리파이(Raspberry Pi)란?

 

라즈베리파이는 신용카드 크기의 작은 컴퓨터지만, 일반 PC처럼 운영체제를 설치하고 프로그램을 실행할 수 있다.

저렴한 가격과 작은 크기 때문에 개인 서버, IoT 기기, 홈서버 등 다양한 용도로 활용된다.

즉, 집에서도 라즈베리파이를 서버처럼 켜두고, 외부에서 접속해 서비스를 운영할 수 있다.


2. 라즈베리파이를 서버로 사용하기

라즈베리파이를 서버로 활용한다는 것은, 다른 컴퓨터나 스마트폰 등에서 접속해서 정보를 주고받는 역할을 맡긴다는 뜻이다.

서버 역할을 하는 라즈베리파이는 항상 켜져 있어야 하며, 외부에서 접근 가능한 환경을 만들어야 한다.

그럼 외부에서 어떻게 접속할 수 있는지 네트워크 구조를 이해해야 한다.

 


3. 내부망과 외부망 이해하기

  3-1. 내부망(Private Network)

  • 집이나 사무실에서 여러 장치가 연결되는 네트워크
  • 내부 장치끼리는 서로 접속이 가능하지만, 외부 인터넷에서는 바로 접근할 수 없다.
  • 예시: 172.30.1.37 같은 IP
  • ipconfig 명령어를 통해 확인할 수 있는 IP가 바로 내부망 IP다.

  3-2. 공유기와 ISP

  • 외부 인터넷과 연결되는 장치는 **공유기(Gateway)**를 통해 연결된다.
  • ISP(예: KT, SKT, LG)는 공유기에 Public IP를 부여한다.
  • 공유기는 내부 장치들에게 Private IP를 할당하고, 외부 요청은 포트포워딩을 통해 특정 장치로 전달한다.
  • 내부망 IP는 다른 집에서도 똑같이 쓸 수 있지만, 공유기 뒤에 있기 때문에 충돌이 없다.

  3-3. 기지국 = 거대한 공유기

  • 우리가 흔히 말하는 기지국은 통신사에서 여러 공유기를 관리하는 장치다.
  • 기지국을 통해 다른 공유기나 장치와 통신이 가능하다.

4. 라즈베리파이를 외부에서 접속하기

집 안에서 라즈베리파이를 켰다고 해서 외부에서 바로 접속할 수 있는 것은 아니다.

외부 접속을 위해서는 포트포워딩과 DDNS 설정이 필요하다.

4-1. 포트포워딩(Port Forwarding)

  • 공유기는 내부망과 외부망을 구분하기 때문에, 외부에서 들어오는 요청이 라즈베리파이까지 도달하지 못한다.
  • 포트포워딩은 외부에서 들어오는 특정 포트를 라즈베리파이 내부 IP와 포트로 연결해주는 기능이다.
  • 예시: 외부에서 5022번 포트로 접속 → 공유기가 이를 라즈베리파이 SSH 포트로 전달 → 접속 가능

4-2. 도메인 연결과 유동 IP

  • 대부분 가정용 인터넷은 유동 IP를 사용한다.
  • 즉, 집의 공인 IP는 시간이 지나면 바뀌므로 도메인 연결만으로는 접속 불가
  • 해결책: DDNS(Dynamic Domain Name Service)
    • 스크립트나 프로그램으로 5분마다 현재 Public IP를 확인
    • 도메인에 IP를 자동으로 업데이트
    • 이렇게 하면 유동 IP 환경에서도 도메인으로 라즈베리파이에 접속 가능
    • 단점: IP 변경 시 평균 2~3분 정도 접속 불가 가능

5. 웹서버 포트와 HTTPS

  • 기본 HTTP 포트: 80번, HTTPS 포트: 443번
  • 포트포워딩을 설정할 때, 서버가 사용하는 포트와 공유기의 포트가 일치해야 외부에서 정상 접속 가능
  • 포트 충돌이나 설정 오류 시, 웹서버가 돌아도 접속이 되지 않거나 HTTP만 가능할 수 있다.
  • 필요하면 HTTPS를 위해 인증서 설치 후 443번 포트를 연결해야 한다.
[외부 인터넷] (도메인: www.내도메인.com)
        │
        │  요청
        ▼
   ┌─────────────┐
   │   DNS 서버   │  ← 도메인 요청 시 현재 Public IP 확인
   └─────────────┘
        │
        │
        ▼
   ┌─────────────┐
   │   ISP 기지국  │  ← 통신사에서 제공하는 Public IP
   └─────────────┘
        │
        │
        ▼
   ┌─────────────┐
   │ 공유기(Gateway) │  ← 포트포워딩 설정 필요
   │ Public IP     │
   │ (유동 IP)     │
   └─────────────┘
        │
        │  포트포워딩: 외부 5022 → 라즈베리파이 22
        ▼
   ┌─────────────┐
   │ 라즈베리파이    │  ← 내부망 IP: 172.30.1.37
   │ 서버 역할      │
   │ SSH/웹서버 실행 │
   └─────────────┘
        │
        ▼
   [내부 장치들]  ← 라즈베리파이와 같은 내부망 장치들은 직접 접속 가능

 

구조 설명

  1. 외부 인터넷에서 도메인으로 접속하면, ISP 기지국 → 공유기 순서로 요청이 전달된다.
  2. 공유기에서 포트포워딩 설정을 통해 요청을 라즈베리파이로 보낸다.
  3. 라즈베리파이는 내부망 IP를 가지고 있으며, SSH나 웹서버 등 요청을 처리한다.
  4. 내부 장치끼리는 공유기 없이도 서로 접속 가능하다.