886 단어
4 분
라즈베리파이 초기 설치하기
2025-04-30
2025-05-22
태그 없음
WARNING

이 글은 Raspberry Pi 3B+ 이상 모델에서 사용할 수 있는 64비트 운영체제 (ARM64)를 대상으로 합니다.

홈서버 라즈베리파이를 다시 설치할때 기존 세팅방법을 참조하기 위해 기록하는 게시물 입니다.

OS 설치 과정#

  1. 라즈베리파이 홈페이지에서 imager 프로그램을 다운로드 받아 설치합니다
    이 글을 작성하는 시점에는 imager_1.8.5.exe 가 최신 버전 입니다

  2. Raspberry Pi Imager 프로그램을 실행합니다.

  3. 라즈베리파이 (Raspberry Pi) 디바이스 에서 자신이 설치하려고 하는 라즈베리파이 단말기를 선택합니다.

  4. 운영체제에서 자신이 설치하려는 OS 를 선택할 수 있습니다.
    최소 구성으로 시작하려면 Raspberry Pi OS (other) 에서 Raspberry Pi Lite (64-bit) 를 선택합니다. OS 설치 전 Micro SD 를 청소하려면 먼저 Erase 를 선택해 한번 실행합니다.

  5. 라즈베리파이OS 를 설치할 Micro SD 카드를 저장소 에서 선택합니다.

  6. 다음을 선택하면 OS 커스터마이징 설정을 적용하시겠습니까? 를 확인합니다.
    일반 탭에서 미리 사용자 계정과 지역/시간대를 설정할 수 있습니다.
    서비스 탭에서 SSH 사용을 허용해야 원격으로 접속할 수 있습니다.

공유기 설정#

라즈베리파이의 아이피가 주기적으로 변경되는것을 사전에 방지하기 위해 공유기의 DHCP 서버에서 라즈베리파이의 MAC Address 를 확인 후 고정해줍니다.

아이피를 고정하지 않을 경우 SSH/FTP/Database 등 라즈베리파이의 아이피를 사용하는 모든 아이피를 수정해야 할 수 있습니다.

OS 초기 설정#

업데이트#

  1. raspi-config 업데이트
$ sudo raspi-config
> 8 | Update
  1. 패키지 업데이트
$ sudo apt update
$ sudo apt full-upgrade -y
  1. 재부팅
$ sudo reboot

지역 설정#

  1. 언어 및 지역 설정
$ sudo raspi-config
> 5 | Localisation Options | Configure language and regional settings
> L1 | Locale | Configure language and regional settings
 - en.GB.UTF-8 UTF-8
 - en.US.UTF-8 UTF-8
 - ko_KR.UTF-8 UTF-8
> OK
> ko_KR.UTF-8 UTF-8
> Finish
  1. 시간대 설정
$ sudo raspi-config
> 5 | Localisation Options | Configure language and regional settings
> L2 | Timezone | Configure time zone
> Asia
> Seoul (Asia / Seoul)
> OK
> Finish

파일 시스템 확장#

Micro SD 의 모든 용량을 사용하기 위해서는 Expand Filesystem 설정이 필요합니다

$ sudo raspi-config
> 6 | Advanced Options | Configure advanced settings
> A1 | Expand Filesystem | Ensures that all of the SD card is available
> OK
> Finish
> Yes (Would you like to reboot now?)

보안 옵션#

SSH 접속 포트 변경

$ sudo nano /etc/ssh/sshd_config
# Port 22 항목 변경, 저장

$ sudo nano /etc/services
# ssh  22/tcp 항목 변경, 저장

$ sudo reboot

ufw 설치

$ sudo apt install openssh-server -y
$ sudo apt install ufw -y
$ sudo ufw default deny incoming
$ sudo ufw allow ssh
$ sudo ufw limit ssh/tcp
$ sudo ufw logging on
$ sudo ufw enable

fail2ban 으로 무차별 대입 차단

$ sudo apt install fail2ban -y

$ sudo nano /etc/fail2ban/jail.conf
# bantime = -1
# findtime = 1d
# maxretry = 5
# 변경, 저장

$ sudo systemctl restart fail2ban

sudo 명령어 비밀번호 요청

$ sudo nano /etc/sudoers.d/010_pi-nopasswd
# NOPASSWD 를 PASSWD 로 변경, 저장

Docker 설치#

  1. 도커 설치
$ sudo curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh ./get-docker.sh
$ sudo rm get-docker.sh
  1. 도커 권한 부여
$ sudo usermod -aG docker $USER
$ newgrp docker
$ docker ps -a
  1. portainer 컨테이너 실행
$ docker network create --gateway 172.18.0.1 --subnet 172.18.0.0/16 bridge_static

$ sudo docker volume create portainer_data

$ sudo docker run -d -p 9000:9000 --name=portainer --restart=always --network bridge_static --ip 172.18.0.2 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce

portainer.io