홈서버/NAS 활용하기 (OpenMediaVault, Pi-hole, Home Assistant)

2024. 12. 29. 16:27기타정보

지난 게시글에서 홈 서버의 정의와 필요성에 대해 살펴보았다. 홈 서버는 NAS, VPN, IoT 기기 사용 등 다양한 용도를 위해 사용될 수 있다. 이번 게시글에서는 홈서버/NAS를 부품 단계에서 맞추는 것부터 시작해, 다양한 운영체제를 올려 활용하는 방법을 개괄적으로 소개한다. 대강의 내용만 담고 있기 때문에 운영체제 별 자세한 내용과 사용법은 검색을 활용하길 권해드린다.

 

홈서버 맞추기

AMD 애슬론 200GE(좌)와 인텔 프로세서 N100이 탑재된 FIREBAT 사의 미니 PC

기왕이면 200GE나 N100등의 저전력 프로세서를 달아주는 편이 알맞으나, 4스레드 정도의 프로세서 중 가장 싸게 구할 수 있는 것을 아무거나 달아주면 된다. 4스레드 정도면 초심자의 홈서버에 필요한 대부분의 기능을 담당할 수 있다. 필자의 경우 라이젠 2200G를 매우 싸게 구할 수 있는 기회를 얻어 이것을 사용했다. 가장 추천하는 것은 N100이 탑재된 미니PC이다. 알리익스프레스에 20만원 내외 가격에 SSD까지 들어 있는 구성이 많다. 다만 중국 직구 특성상 시간이 오래 걸린다는 단점이 있다.  성능은 중요한 것이 아니니 각자 가용 가능한 범위 내에서 싸게 구하면 될 듯 하다. 

필자의 경우 ASRock Deskmini X300과 녹투아 NH-l9i 쿨러를 친구로부터 싸게 넘겨받아 이것을 사용했다. SSD보다 HDD를 (고장 전조증상 등 및 2TB 이상에서의 가성비 등의 이유로) 더 사용하고 싶다면 미니타워 컴퓨터 신품을 맞추는 것도 방법이다. 프로세서는 3만원 미만으로 따로 구한다는 가정 하에 다나와에서 다른 부품을 구해 총합 25만원 안짝으로 맞출 수 있다.

 

프록스목스 설치하기

프록스목스는 '가상화 관리를 위한 오픈소스 서버 소프트웨어'인데, 쉽게 말해 컴퓨터를 코어(스레드)단위로 쪼개 각각 다른 기기처럼 이용할 수 있게 해 주는 신통방통한 물건이다. 이곳에서 프록스목스 이미지를 내려받아 BalenaEtcher등을 이용하여 USB에 굽는다. 홈서버 본체를 모니터와 랜선에 연결한다. USB를 연결하고 부팅함과 동시에 F2나 DEL을 연타하여 UEFI로 진입, 부팅순서를 USB가 가장 먼저 오도록 조정한 뒤 재부팅하여 프록스목스 설치를 시작한다.

위와 같이 까만 창이 뜬다면 설치가 완료된 것으로, 모니터를 분리해도 된다. 노트북이나 컴퓨터에서 위 화면에 나오는 주소를 인터넷 브라우저에 입력해서 프록스목스 GUI에 접속한다.

 

오픈미디어볼트

1. 오픈미디어볼트 다운로드 페이지에 접속하여 Stable 다운로드 버튼의 링크를 딴 뒤 프록스목스의 local (pve) → ISO images → Download from URL에 붙여넣기하여 오픈미디어볼트 이미지를 받아준다.

2. 새로운 VM(가상기기)을 만들고 아까 받은 오픈미디어볼트 이미지를 ISO image로 선택해 준다. 코어는 1코어, 램은 2048이나 4096을 할당하고 오픈미디어볼트를 설치한다.

3. 설치가 끝난 뒤 뜨는 검은 화면에서 보통 192.168.0.XX로 뜨는 주소가 오픈미디어볼트 GUI에 접속하는 주소이다. 인터넷 브라우저에 입력한 뒤 접속한다. 초기 아이디와 비번은 admin/openmediavault이다.

4. 우측 상단의 사람모양 user settings에 들어가 비밀번호를 바꿔준다.

5. Users에 들어가 새로운 사용자 계정을 만들어준다.

프록스목스의 오픈미디어볼트 VM 콘솔 창으로 돌아와 다음을 입력한다.

wget -O - https://github.com/OpenMediaVault-Plugin-Developers/packages/raw/master/install | bash

6. 파일 시스템을 만들고 Shared Folder를 만든다. Shared Folder에서 사용자에게 읽기/쓰기 권한을 부여해주어야 한다.

7. SMB/CIFS에서 설정하여 공유 드라이브를 만들어준다. ACL이나 Permission 등을 Inherit 해 주는 옵션에 체크해야 한다.

8. 컴퓨터나 노트북에서 내 PC → 점 3개 → 네트워크 드라이브 연결을 통해 네트워크 드라이브를 연결해준다.

9. VPN을 구축하고 싶다면 플러그인에서 wireguard를 설치한다. 다만 통신사 공유기를 사용하고 있다면 그냥 Wireguard를 지원하는 공유기를 한대 사는 것이 편하다.

10. 도커를 사용할 생각이 있다면 Service → Compose → Files → Add → Add from example에서 portainer 컨테이너를 설치한다. 오픈미디어볼트 주소 뒤에 :9000을 붙여 접속하면 포테이너 GUI에 접속할 수 있다.

 

Pi-hole 설치하기

Pi-hole은 개인 DNS 서버를 설치하고 광고 사이트를 차단시키는 방법으로 광고를 제거하는 오픈소스 프로젝트이다. 이름에서도 알 수 있듯 원래 라즈베리파이 용으로 제안된 프로젝트였으나 홈서버에서도 사용이 가능하다. 프록스목스에서 pve → shell에 들어가 다음 명령어를 복붙하고 실행한다. 창을 끄지 않고 기다리면 정상적으로 Pi-hole이 깔린다. Unbound 관련한 질문이 나오면 N을 입력하고 엔터를 쳐 준다. 설치하는 도중 Pi-hole의 아이피주소가 나온다.

bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/pihole.sh)"

192.168.0.1을 치고 들어가 공유기 설정 페이지로 접근한다. DNS 설정을 수동으로 체크하고 Secondary는 비우고 Primary만 Pi-hole의 아이피주소로 설정해준다.

아이피타임 공유기의 경우

스마트폰과 컴퓨터의 전원을 껐다 켠 뒤 cnn.com따위의 사이트에 접속하여 광고가 잘 차단되고 있는지를 확인해 보자.

 

Home Assistant

홈 어시스턴트는 자택 자동화에 사용되는 오픈 소스 소프트웨어이다. 지그비 등의 IoT 장치를 사용하고 관리하기 위해서 필요하다. 프록스목스에서 pve → shell에 들어가 다음 명령어를 복붙하고 실행한다. 

bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/vm/haos-vm.sh)"