안녕하세요?
집에서 놀고있는 라즈베리파이4와 WD 12TB 외장하드가 있어 뭘해볼까 하다가 OMV 설치해서 나스를 구성해봤습니다.
개념이 하나도 없는 초보이다보니 클리앙이나 여러 블로그 글들을 참고해서 했고.. 셀수없는 시행착오를 거쳤네요.
몇번을 썼다지웠다 초기화했다가 했는지 모르겠습니다 ㅎㅎ
처음에는 SMB로 맥과 윈도에서 접속해서 쓸 수 있는 파일서버 정도로만 생각을 했다가 워드프레스 올릴수 있는 웹서버도 같이 하면 좋겠다 생각을 했고, 맥 타임머신 백업드라이브로도 쓰면 좋겠다고 생각했고..
이런저런 블로그 찾다보니 nextcloud라고 거의 상용 클라우드에 맞먹는 기능까지 구현이 가능하다는 걸 알게되어서 결국에는 그렇게 구성을 하게되었네요.
잘 안쓰기는 해도 그래도 개인적으로 구입해놓은 도메인도 있고 그래서 최종적으로는 Nginx Proxy Manager를 통해 let's encrypt SSL 적용시켜 역방향 프록시도 설정하여 여러가지 서비스들을 서브도메인으로 연결까지 하는것을 성공했습니다.
- www.mydomain.com : 워드프레스 접속
- docker.mydomain.com : 도커 포테이너 접속
- cloud.mydomain.com : nextcloud 접속
- torrent.mydomain.com : transmission 접속
- npm.mydomain.com : nginx proxy manager 접속
- omv.mydomain.com : open media vault 접속
이렇게요..
이렇게 구성을 하긴 했는데 제가 워낙 초보이다보니 혹시 보안적으로 뭔가 구멍은 없는지 걱정이 조금 되긴합니다.
제가 보안을 위해 한 것이라고는
- ssh 접속 포트를 21에서 다른 숫자로 변경
- portainer, nextcloud, transmission, nginx proxy manager 의 접속 id와 비밀번호는 모두 다르게 설정
요 정도 했는데 혹시 추가적으로 설정해야 할 부분이 있을까요?
미리 답변 감사드립니다 ㅎㅎ
할 때는 엄청 복잡하고 헤맸었는데 다 하고 나니 엄청 뿌듯하네요.
아이클라우드 사진 한 6만장 옮기고 나니 이제 아이클라우드 해지를 해야하나싶습니다..ㅋㅋ
SSH는 포트 변경을 떠나 외부 노출 하지 마세요. 노출할 이유도 필요도 없습니다. Tailscale이나 PiVPN 하나 설정해두시고 VPN 접속해서 SSH 접속하시는걸 추천합니다.
다른 관리페이지 들도 접속 안되도록 막아야겠습니다
감사합니다!!
RPI에 설정하신것과 거의 동일하게 오래된 PC나 노트북으로 이전하시면 더 쾌적한 사용 가능하십니다.
스토리지가 12TB 정도면 Plex나 Jellyfin으로 미디어 서버 구성도 좋을 것 같습니다.
트랜스미션 사용하신다면 가급적으로 VPN 사용하시는게 좋을것도 같습니다.
오라클이나 외부 클라우드 서비스를 외국 리전으로 가입하셔서 Wireguard 서버 설치하시고 트랜스미션 네트워크를 Wireguard 네트워크를 사용하게 구성하시면 트랜스미션 콘테이너만 외국 클라우드 서버의 네트워크로 터널링되어 VPN 사용과 동일한 효과를 얻을 수 있습니다.
1. 외국 리전 클라우드 서버에 Wireguard 서버 설치
2. 집 서버 도커에 Wireguard 클라이트 모드로 설치 (네트워크는 독립적으로 구성)
3. 트랜스미션의 네트워크 모드를 컨테이너로 변경하고 네트워크를 Wireguard의 네트워크로 설정
집 서버에 wiregurd(클라이언트)와 Transmissiond을 한번에 설치하는 docker compose을 첨부합니다.
포테이너의 Stack에서 사용하심 됩니다.
services:
wireguard:
image: linuxserver/wireguard:latest
cap_add:
- NET_ADMIN
- SYS_MODULE
sysctls:
- net.ipv6.conf.all.disable_ipv6=0
- net.ipv4.conf.all.src_valid_mark=1
environment:
- PUID=1000
- PGID=100
- TZ=Asia/Seoul
ports:
- "9091:9091/tcp"
volumes:
- /usr/config/wireguard/wg0.conf:/config/wg0.conf => 설정 필요
- /lib/modules:/lib/modules
labels:
com.centurylinklabs.watchtower.enable: "false" => Watchtower 사용 안하신다면 삭제
restart: always
transmission:
image: linuxserver/transmission:latest
network_mode: "service:wireguard"
depends_on:
- wireguard
environment:
- PUID=65534
- PGID=100
- TZ=Asia/Seoul
- TRANSMISSION_WEB_HOME=/combustion-release/
volumes:
- /usr/config/transmission:/config ==> 설정 필요
- /srv/dev-disk-by-uuid-aef039f0-89ec-4e02-933a-1ed0e59c3ac1/media/transmission/downloads:/downloads ==> 설정 필요
- /srv/dev-disk-by-uuid-aef039f0-89ec-4e02-933a-1ed0e59c3ac1/media/transmission/watch:/watch ==> 설정 필요
labels:
com.centurylinklabs.watchtower.enable: "false" => Watchtower 사용 안하신다면 삭제
restart: always
이런 저런 서비스를 올려서 사용하려면..
이제 성능이 요구됩니다.
혼자 사용하지 않고 여러 사람이 사용해야 한다면
또 성능이 요구되죠..
성능은 되는데 내구성있게 3~5년 이상 사용하려면..
설계부터 냉각.. 다시 생각해야 합니다.
결국 그런 것입니다.