홈랩(1)
우선 집에 5대의 서버와 개발용 노트북 4대로 홈랩을 테스트 중인데 1. 메인서버 1대 2. 워크스테이션 2대 3. 리버스 프록시서버 1대 4. proxmox 서버 1대 5. 개발용 노트북 4대 서버 및 워크스테이션 운영체제는 우분투서버 24.04.3 LTS 3대 우분투 데스크탑기반 워크스테이션 2대 아이피타임 공유기를 통해 192.168.10.1 로 셋팅함 우선 전제적인 네트워크 구성도를 만들어보자.
안녕 꼮꼬마! 홈랩 구성 멋지네—지금 가진 장비랑 OS 정보를 바탕으로 전반적인 네트워크 구성도와 권장 IP/역할 분배, 네트워크 설계 포인트, 보안/운영 팁까지 정리해줄게. 바로 따라할 수 있게 구체적으로 적을게 🙂
요약 네트워크 토폴로지 (간단한 설명)
- 인터넷 ←→ ipTIME 공유기 (192.168.10.1) ←→ 스위치 ←→ 서버군/워크스테이션/노트북
- 내부망은 단일 서브넷(192.168.10.0/24)으로 시작하되, 필요 시 VLAN 분리 권장 (관리/서비스/개발/게스트)
- 리버스 프록시 서버가 외부 트래픽(도메인 기반)을 받아 내부 서비스로 라우팅
- Proxmox는 가상화/컨테이너 호스트로서 내부 VM/LXC를 운영(백업·스냅샷 관리)
- 메인서버는 핵심 서비스(예: DB, 파일스토리지, 핵심 API 등) 운영 또는 k3s 마스터 역할 가능
권장 IP/호스트 네이밍 (정적 할당 권장)
- Gateway/Router: 192.168.10.1 (ipTIME)
- 리버스 프록시: 192.168.10.10 — hostname: proxy.local (Traefik/Nginx)
- 메인서버: 192.168.10.11 — hostname: mainserver.local
- Proxmox 서버: 192.168.10.12 — hostname: proxmox.local
- 워크스테이션1: 192.168.10.21 — hostname: ws-dev1.local (Ubuntu Desktop 기반)
- 워크스테이션2: 192.168.10.22 — hostname: ws-dev2.local (Ubuntu Desktop 기반)
- 개발용 노트북(4대): 192.168.10.101–104 — hostnames: dev01–dev04.local (DHCP 예약 또는 고정)
- 관리용 NAS/백업(추후 추가 시): 192.168.10.20 — nas.local
(원하면 고정 IP 대신 DHCP + MAC 기반 예약으로 관리해도 좋아. Proxmox/메인서버/프록시는 무조건 정적 권장)
서브넷/네트워크 설계 제안
- 기본: 192.168.10.0/24 (관리가 단순하고 초기에 편함)
- 권장 VLAN 분리 (나중에 스위치가 VLAN 지원하면 적용)
- VLAN 10 (관리): 서버, Proxmox, NAS (192.168.10.0/25)
- VLAN 20 (서비스): 리버스 프록시, 메인서비스(192.168.10.128/26)
- VLAN 30 (개발): 개발 노트북/워크스테이션 (별도 서브넷으로 분리 가능)
- VLAN 99 (게스트): 방문자 Wi‑Fi
VLAN은 초기엔 없어도 되지만, 보안과 트래픽 분리를 위해 장기적으로 권장해.
라우팅/포트포워딩 및 외부 접근
- 공유기에서 외부 포트 → 리버스 프록시(192.168.10.10)로 포워딩
- HTTP(80) → proxy:80, HTTPS(443) → proxy:443
- SSH(22)는 외부 포트포워딩 비추천(대신 VPN 사용). 외부 SSH 필요 시 포트 변경 + 키 기반 인증 + fail2ban 사용.
- 리버스 프록시에서 도메인별로 내부 서비스로 라우팅(예: nextcloud.example.com → 192.168.10.11:포트)
- 내부에서만 접근하는 서비스는 프록시를 통하지 않고 직접 내부 IP로 접근시킬 수 있음 (관리 편의성 고려)
DNS 및 인증서
- 로컬 DNS(권장): Pi-hole 또는 dnsmasq를 내부 DNS로 운영해 내부 호스트 이름 해석 및 광고 차단
- 외부 도메인: 도메인 DNS A 레코드를 공유기 공인 IP로 설정 → 공유기에서 리버스 프록시로 포트포워딩
- TLS: 리버스 프록시에서 Let’s Encrypt 자동 발급/갱신(예: Traefik + cert-manager 또는 nginx + certbot)
Proxmox 구성 권장 (192.168.10.12)
- Proxmox 호스트는 물리 네트워크에 직접 연결. LXC 컨테이너와 VM 혼용 가능.
- 백업 정책: 매일 VM 스냅샷(주요 서비스), 주기적 offsite 백업(NAS 또는 클라우드).
- Proxmox 네트워크: 브리지형 vmbr0(192.168.10.12)로 NAT 없이 내부 IP 직접 부여.
리버스 프록시(192.168.10.10) 세부 권장
- 소프트웨어: Traefik 추천(자동 TLS, Kubernetes/Proxmox 연동 쉬움) 또는 Nginx
- 설정 포인트:
- 도메인 기반 라우팅 규칙 작성
- 내부 서비스로의 WebSocket, HTTP/2 등 프록시 헤더 처리
- 인증서 자동 갱신 및 ACME 설정
- 대시보드 및 접근제어 경로는 내부망에서만 허용
보안 권장사항
- SSH: 키 기반 인증만 허용, 루트 직접 로그인 금지, 포트 변경 또는 내부망 전용으로 제한
- VPN: WireGuard 권장 — 외부에서 홈랩 접속할 때 VPN으로 내부망 접속 후 필요한 서비스 이용
- 방화벽: 각 서버에서 ufw 또는 nftables로 기본 포트 차단, 필요 포트만 허용
- 계정/비밀번호: 관리자 계정은 2FA(가능한 서비스에 대해), 비밀번호 매니저(Bitwarden 셀프호스트 추천) 사용
- 업데이트: 정기적인 보안 패치 적용 스케줄(예: 주 1회 점검 또는 자동 보안 업데이트 테스트)
운영·모니터링
- 모니터링 기본: Prometheus + Grafana(리소스/서비스 상태)
- 로그집계: Loki or ELK 스택 / Vector/Fluentd로 중앙 수집
- 알람: Alertmanager로 임계치(디스크, CPU, 서비스 다운) 알림 설정(이메일, 슬랙, 텔레그램 등)
- 백업 점검: 복원 테스트(분기별) 필수
예시 네트워크 흐름 (간단한 텍스트 다이어그램)
인터넷
↓
ipTIME 공유기 (192.168.10.1) — 포워딩 80/443 → 192.168.10.10 (proxy)
├─ 192.168.10.10 proxy (Traefik) → 내부 서비스 라우팅
├─ 192.168.10.11 mainserver (DB/Nextcloud 등)
├─ 192.168.10.12 proxmox (VM/LXC)
├─ 192.168.10.21 ws-dev1
├─ 192.168.10.22 ws-dev2
└─ 192.168.10.101~104 dev01~dev04
실전에서 바로 쓸 수 있는 체크리스트 (초기 설정 단계)
- 각 서버에 정적 IP 설정 (Netplan 설정 또는 DHCP 예약)
- 리버스 프록시 설치 및 테스트(로컬 도메인으로 라우팅 확인)
- Proxmox에서 기본 VM/LXC 생성, 네트워크 브리지 확인
- SSH 키 배포 및 루트접속 차단, ufw 기본 규칙 설정
- 내부 DNS(선택) 설치 및 호스트네임 등록
- WireGuard 설치 후 로컬 접속 테스트(외부에서 VPN으로 접속 확인)
- 간단한 모니터링(Grafana 대시보드, Prometheus node_exporter) 설치
- 백업 스케줄(스냅샷/원격 복제) 설정 및 복원 검증
꼮꼬마, 이 정도면 현재 장비로 바로 네트워크 설계하고 셋업 시작할 수 있어. 원하면 다음 단계로:
- 내가 netplan 예시 파일 / Traefik 기본 설정 파일 / Proxmox 네트워크 설정 예시를 만들어줄게.
- 또는 VLAN 설정 없이 단순 구성으로 바로 적용 가능한 각 서버의 구체적 네트워크 설정(명령어 포함)도 제공할게.
어떤 걸 먼저 받을래? netplan 예시? Traefik 라우팅 예시? 아니면 WireGuard 구성 파일 템플릿? ㅎㅎ
