- 집 중앙 옷장에 25U StarTech 랙을 두고 Cat6, 광섬유, 방화벽, 스위치, 서버, UPS를 모아 집 전체 네트워크의 배선과 전원을 한곳에서 관리함
- 주 회선은 AT&T Fiber 1Gb 대칭형, 백업은 월 $50의 Verizon 5G이며, pfSense Gateway Group으로 장애 시 인터넷 경로를 전환함
- 내부망은 pfSense 방화벽, Dell·Cisco 스위치, 10Gb SFP+ 백본, VLAN, PoE를 조합해 카메라·AP·서버·NAS 트래픽을 나눠 처리함
- ESXi 7.0 U3 호스트 3대, TrueNAS NAS, JBOD 디스크 셸프, Blue Iris NVR 위에서 HomeAssistant, 백업, 모니터링, 블로그, PLEX 등 여러 서비스를 집에서 운영함
- 차고 랙까지 광섬유로 연결하고 UPS, 발전기, GPS NTP, ADS-B, WeatherFlow 수신기를 더해 정전과 회선 장애까지 고려한 가정용 인프라를 구축함
중앙 랙과 집 전체 배선
- 집 안 랙은 중앙 옷장에 있으며, 다락으로 이어지는 2ft x 2ft 공간 덕분에 네트워크 케이블을 올리기 쉬움
- 랙은 25U 조절식 StarTech Rack이고, 상단에는 네트워크 장비와 패치 패널이 배치됨
- 최상단에는 Monoprice keystone patch panel 2개가 있음
- 대부분 Cat6 keystone jack으로 채워져 있음
- 일부는 긴 광섬유 구간을 위한 LC-LC keystone jack임
- 연결은 집 안 카메라, AP, 네트워크 잭 등으로 이어짐
- keystone patch panel은 전체 패널을 움직이지 않고 잭을 추가·제거할 수 있어 다른 연결을 망가뜨릴 가능성이 낮음
- 케이블 관리는 Amazon의 일반 1U 케이블 관리 장치와 Monoprice SlimRun Cat6a 케이블로 처리함
이중 인터넷과 pfSense 방화벽
- 패치 패널 아래에는 pfSense를 실행하는 1U Supermicro 서버가 있음
- Intel Pentium Gold G5500
- ECC RAM 8GB
- 온보드 Intel NIC 4개
- LAN과 VLAN용 Mellanox Connect-X3 10Gb NIC
- LAN과 VLAN에 10Gb 연결을 쓰는 이유는 방화벽에서 VLAN 간 라우팅을 수행하고, 1Gb 대칭형 인터넷 때문에 스위치로 가는 1Gb 링크를 쉽게 포화시킬 수 있었기 때문임
- 인터넷 회선은 두 개임
- AT&T Fiber: 1Gb 대칭형, 데이터 제한 없음, 주 회선
- Verizon Gateway: 약 300Mb/s 다운로드와 20Mb/s 업로드, 월 $50, 약정 없음, 데이터 제한 없음, 백업 회선
- 두 회선은 pfSense의 Gateway Group에 들어가며, 평소에는 AT&T Fiber를 쓰고 장애 시 Verizon을 사용함
- AT&T 연결은 inbound connection을 위해 passthrough mode로 구성함
- Verizon 연결은 IP가 자주 바뀌고 pfSense가 걸릴 때가 있어 기본 구성으로 둠
- pfSense는 내부 IP를 받음
- Verizon 회선에서 inbound connection은 중요하지 않지만, 원격 접속 VPN과 일부 보안 장비 연결은 필요함
- NAT 우회를 위해 Linode VPS와 site-to-site WireGuard VPN을 구성함
- 로컬 pfSense가 클라이언트이고 VPS가 서버라 NAT를 사실상 우회함
- CGNAT 환경에서도 유용함
- VPS에서는 forwarding을 켜 로컬 네트워크에 접근함
- NGINX Proxy Manager가 특정 포트를 집 네트워크까지 전달함
- 집에서 어떤 게이트웨이를 쓰든 같은 IP 또는 DNS 레코드로 접속할 수 있음
- 집에서 호스팅하는 블로그도 이 방식과 연결됨
스위치, VLAN, 무선 네트워크
- 메인 1Gb 스위치는 Dell X1052P이며, 집 안 대부분의 1Gb 연결과 PoE를 처리함
- PoE와 PoE+를 지원함
- AP, 소형 네트워크 장비, 다수의 IP 카메라에 전원을 공급함
- 파란색 연결은 별도 VLAN에 묶인 집 IP 카메라들임
- 메인 10Gb 스위치와는 20Gb LACP trunk로 연결됨
- 4개의 10Gb 연결, PoE+, 슬라이딩 레일, 양호한 팬 품질은 장점임
- CLI 설정이 없고 웹 인터페이스가 매우 나쁜 점은 큰 단점임
- Cisco SG300-28은 Dell X1052P의 1Gb 포트가 부족해 추가한 스위치임
- IPMI, 프린터 같은 저대역폭 장비가 연결됨
- Dell 스위치와 단일 1Gb 링크로 연결됨
- Verizon Gateway의 두 번째 포트를 별도 VLAN에 연결해 pfSense를 우회하고 Verizon 인터넷에 직접 붙을 수 있음
- RIPE Atlas probe와 외부 연결 테스트, DNS·방화벽 규칙 배제 테스트에 유용함
- 메인 10Gb 스위치는 Cisco SX350-24F임
- 24포트 10Gb SFP+ 스위치이며, 그중 4개는 copper combo port임
- NAS에는 dual 10Gb 연결이 들어감
- ESXi 서버 1대, 데스크톱 PC 2대, 방화벽 uplink, 차고 랙, Dell 스위치 LACP trunk가 연결됨
- WiiTek transceiver를 사용해 HTPC에 2.5Gb 연결을 제공함
- 스위치 자체는 1Gb와 10Gb만 지원하지만 transceiver가 multigig 연결을 처리함
- WiFi는 집과 차고에 Ruckus AP 4대를 배치함
- 집 천장에는 R510이 설치됨
- 차고 외부에는 R320이 설치되어 있으며, 실외용 AP는 아니지만 3년 넘게 정상 동작함
- Ruckus AP는 Ubiquiti AP보다 외형은 덜 좋지만 훨씬 잘 동작한다고 평가함
- Unleashed mode를 사용해 한 AP가 전체 AP의 컨트롤러 역할을 하며 별도 컨트롤러가 필요 없음
서버, 스토리지, 로컬 서비스
- 네트워크 장비 아래에는 저전력 장비용 선반과 VMware ESXi 호스트 3대가 있음
- 상단 선반에는 소형 허브, 시간 서버, RIPE Atlas Probe가 모여 있음
- Hubitat Hub
- GPS/PPS 시간 소스를 쓰는 Raspberry Pi 3B+ NTP 서버
- Verizon 회선에 직접 연결된 새 RIPE Atlas Probe
- GPS NTP를 실행하는 Raspberry Pi Zero W
- AT&T 회선에 연결된 구형 RIPE Atlas Probe
- Hubitat Hub는 거의 HomeAssistant VM으로 대체됨
- 현재는 Z-Wave와 Zigbee 장치를 연결하는 용도로 남아 있음
- 연기 감지기와 누수 감지기처럼 아직 필요한 장비가 있음
- RIPE Atlas Probe는 인터넷 측정에 기여하는 장비로 사용됨
- GPS 기반 NTP 서버는 인터넷이 없어도 네트워크 장비에 매우 정확한 시간을 제공함
- 하나는 Dell 스위치에, 하나는 Cisco 스위치에 연결됨
- 관련 글: GPS Raspberry Pi NTP Server
- ESXi 호스트는 모두 ESXi 7.0 U3를 실행함
- 6.7에서 7.0으로 옮길 때 버그가 많았기 때문에 8.0으로는 아직 전환하지 않음
- 실행 서비스에는 Veeam Backup, Borg Backup, Arq Backup, HomeAssistant, HomeBridge, NGINX Proxy Manager, vCenter, Rekor Scout/OpenALPR, Grafana, InfluxDB, LibreNMS, VDI VM, 테스트 VM, Windows Domain Lab, Portainer, Kiwix, NextCloud, Mealie, Navidrone, Solarr, PLEX, public SFTP Server, Netbox, qBitTorrent, Prowlarr, 블로그 등이 포함됨
- ESXi 호스트 구성은 세 가지임
- ASUS PN50: AMD Ryzen 4800U 8코어 16스레드, DDR4 64GB, 2TB NVMe, 내장 NIC가 ESXi에서 지원되지 않아 1Gb Intel M.2 NIC를 사용함
- Lenovo M73 Tiny: i5-4750T, RAM 16GB, 1TB SATA SSD, 가벼운 VM용이며 NIC가 VMware 8.0에서 더 이상 지원되지 않아 교체 필요함
- Lenovo M720q Tiny: i7-8700T, RAM 64GB, 2TB NVMe, Intel X520 dual 10Gb NIC, 네트워크 집약 VM을 담당함
- 2U Supermicro chassis 3대가 스토리지와 NVR 역할을 함
- 첫 번째는 12 x 8TB SAS 디스크가 들어간 JBOD 디스크 셸프이며, NAS에 연결된 메인 미디어 저장소임
- 전원은 SuperMicro CSE-PTJBOD-CB2 대신 PSU connector를 paperclip으로 점퍼해 24/7/365 켜두는 방식임
- 두 번째는 TrueNAS NAS이며 Xeon E3-1270 V5, ECC RAM 64GB, dual port 25Gb NIC, 여러 HBA를 사용함
- LSI 9207-8e는 12 x 8TB SAS 디스크에 연결되고, LSI 9300은 중요한 데이터용 6 x 4TB SAS striped mirror에 연결됨
- Intel S3700 DC 800GB Enterprise SSD 2개는 Metadata storage, 즉 Fusion Pool로 사용됨
- 관련 글: My Data Backup Plan - 2021
- 세 번째 서버는 Blue Iris NVR임
- 8-bay Supermicro chassis
- i7 8700K, DDR4 16GB, NVIDIA Tesla P4, LSI 9207-8i
- 약 48TB 녹화 스토리지
- 로컬 AI로 집 안 부지에 사람이 걷는 상황 등을 감지함
- Intel i350-T4 quad port gigabit NIC를 사용하며, 한 포트는 LAN, 한 포트는 CCTV VLAN에 연결됨
- CCTV VLAN은 다른 네트워크와 인터넷에서 완전히 방화벽으로 분리되어 있음
- 소비자용 보드라 원격 관리가 없는 NVR에는 TinyPilot 장비를 붙여 BIOS 수준 원격 제어를 제공함
전원, 냉각, 차고 랙과 외부 센서
- 메인 랙 하단에는 CyberPower PDU15M2F10R Metered PDU와 APC SRT3000RMXLA double conversion/online UPS가 있음
- UPS는 30A 120V 콘센트에서 전원을 받음
- 큰 주황색 전원 케이블은 벽 안으로 들어가 책상, 아내의 책상, TV 위치 2곳 등 집 안 다른 구역에 UPS 전원을 공급함
- 여러 UPS의 배터리를 따로 관리하지 않고 단일 UPS로 주요 장비를 보호하는 구성임
- 관련 글: Home Server Room Power Upgrade + Multi-room UPS, UPS Upgrade - APC SRT3000RMXLA Double Conversion
- 장비와 디스크가 늘면서 방이 너무 더워져 AC Infinity Fan을 추가함
- 팬은 공기를 뒤쪽 빈 옷장으로 배출함
- 온도 프로브와 컨트롤러는 랙 앞쪽에 설치됨
- Vertiv/Giest Watchdog 15-P는 PoE 전원 환경 모니터임
- 온도 또는 습도가 특정 기준을 넘으면 알림을 보낼 수 있음
- 높은 온도와 낮은 습도에 대해 알림을 설정함
- SNMP를 지원해 모니터링 솔루션으로 데이터를 가져올 수 있음
- 차고에는 단일모드 광섬유(SMF)가 관로를 통해 이어짐
- 집과 차고 사이에는 AT&T Fiber도 함께 지나감
- 80ft 오크나무 아래를 지나는 얇은 광섬유와 뇌우가 많은 환경 때문에 Verizon 백업 인터넷을 둠
- 차고 랙은 무료로 얻은 12U 랙이며, 깊이 있는 장비 기준으로는 하단 1U를 쓰기 어려워 실제로 11U에 가까움
- Cisco WS-C2960S-48LPD-L 스위치가 있으며, 48 x PoE+ 1Gb 포트와 2 x 10Gb SFP+ 포트를 제공함
- APC Surge Protector PDU와 백업 TrueNAS 서버가 있음
- 백업 TrueNAS는 폐부품 기반이며, 4 x 8TB SAS 디스크를 RAIDZ2로 구성함
- 주 NAS에서 복제된 snapshot을 받는 것만 담당함
- 관련 글: Deploying a TrueNAS Backup Server to my hot Texas Garage
- 차고 랙에도 TinyPilot, GPS 기반 Raspberry Pi NTP, UPS가 있음
- UPS는 SMT1000RM2U이며 이 작은 랙과 장비에서 최대 약 20% 부하로 동작함
- 전원 inlet을 통해 IoTaWatt Energy monitor와 standby generator 안의 Raspberry Pi에도 UPS 전원을 공급함
- 관련 글: Power Monitoring Setup (IoTaWatt + Grafana), Generac Maintenance, Oil Report and more Genmon Changes
- 차고 서까래에는 ADS-B 안테나가 있고, SDR이 붙은 Raspberry Pi로 항공기 ADS-B 데이터를 FlightAware, FlightRadar24, ADSB-X 등으로 전송함
- 안테나는 밖에 설치하면 더 좋으며, 향후 프로젝트로 계획 중임
- 차고 랙에는 WeatherFlow Tempest Receiver도 있음
- 뒤뜰 높은 기둥에 설치된 Weather Station과 연결됨
- MQTT로 데이터를 인터넷 없이 로컬 HomeAssistant에 넣어 센서 기반 자동화에 사용할 수 있음
- 집 외부에는 발전기 ATS와 전기 패널이 있음
- 발전기는 27kW이며 집 전체에 전원을 공급함
- 발전기 기동과 전환에 약 10초가 걸려 UPS는 최대 10초 정도만 버티면 됨
- 향후 프로젝트로 Meshtastic LoRa T-Beam을 영구 설치해 인터넷 없이 암호화 mesh 통신을 구현하려 함
- 집에 하나, 몸에 하나를 두고 기본 안테나와 높이 이점 없이 약 2마일 통신함
- 더 좋은 안테나를 높게 설치하면 인터넷 없이 동네 전체에서 통신할 수 있을 것으로 봄
- 현재 하나는 repeater로 책상 위에 있으며 WiFi로 네트워크에 연결됨