Początek Link to heading
Od jakiegoś czasu mam marzenie o własnej, domowej „serwerowni” (homelab). Kilka razy tworzyłem listę zakupów do takiej serwerowni, ale za każdym razem po podsumowaniu kosztów porzucałem ten pomysł. Ale w jakimś momencie zacząłem bardziej angażować się w ten temat. I wpadłem na pomysł, że opiszę ten cały proces i będę miał changelog zmian które robię.
Na początku moja domowa sieć wyglądała następująco:
- Orange Funbox 3.0 (dostawca internetu oraz wifi hotspot)
- Raspberry Pi Zero W (PiHole + cloudflared DoH)
- Raspberry Pi 4 (głównie aplikacje pod smart home oraz kilka innych docker kontenerów)
Jest to prosty i bardzo szybki konfig. Funbox darmowy od Orange, a raspberry pi mi pozostało po jakimś projekcie. To co mi brakowało w funbox to brak możliwości zmiany serwera DNS (a jest to niezbędne dla PiHole). Więc musiałem korzystać z DHCP w PiHole. Wszystko niby było ok, ale coraz częściej brakowało mi możliwości większej konfiguracji sieci.
Czym jest PiHole? Jest to aplikacja, która pozwała blokować zapytanie do określonych domen. Głowne jej zastosowania to blokowanie reklam. Ale w ten sam sposób blokują się niektóre z analityk (np Google Analitics) poprzez zablokowania wysyłki zapytań na serwer oraz blokadę pobierania skryptu przez stronę. Głowna różnica od wtyczek typu AdBlock jest tym że te wtyczki działają tylko w przeglądarce w której są zainstalowane. A PiHole pozwała na blokowanie w całej sieci domowej.
Czemu oddzielne urządzenie pod PiHole? Ponieważ Raspberry Pi 4 bardzo, ale to bardzo często „psuje”. Tzn jest to mój domowy playground gdzie testuje różne rzeczy i co jakiś czas albo coś zepsuje w konfiguracji albo jeszcze coś. Więc PiHole wylądował na oddzielnym Raspberry Pi Zero W.
Lokalny backup Link to heading
Synology DS220+
W pewnym momencie życia postanowiłem że bardzo potrzebuje NAS. Po kilku dniach sprawdzenia co jest dostępne wybór padł na Synology DS220+. Posiada dwie kieszenie na dyski, dość fajny system operacyjny, dość mocny CPU oraz możliwość rozbudowy pamięci RAM. Wiedziałem że jest możliwość instalacji docker na nim, więc chciałem być pewny że będzie to możliwe.
PS: Wcześniej wszystkie pliki trzymałem na komputerze, miałem dysk zewnętrzny na który robiłem kopię raz na jakiś czas oraz backup na Backblaze.
Ponieważ NAS posiada dwie kieszenie na dyski kupiłem 2 HDD od Seagate na 2TB. I zrobiłem SHR RAID (jest to podobny RAID to RAID-1). Ale NAS to nie jest backup, więc. Za pomocą aplikacji Hyper Backup codziennie automatycznie tworzy się backup dysków do Backblaze. Dodatkowo co jakiś czas podłączam HDD przez USB i robię kopię wszystkich danych. Na szczęście jestem w tej kategorii osób które „jeszcze nie robią backup” i nie chciałbym przechodzić do „osoby które już robią backup”. Więc może to i overkill, ale wole tak niż stracić dane.
Rok roku temu moja domowa sieć wyglądała następująco:
- Orange Funbox 3.0
- Raspberry Pi Zero W
- Raspberry Pi 4
- NAS (śmietnik plików)
Ponieważ Synology ma możliwość na uruchomienie kontenerów docker to postanowiłem skorzystać z tego i przenieść niektóre kontenery z Raspberry Pi 4. Tak do NAS trafiły: Home Assistant oraz HomeBridge. Czyli to co zawsze powinno znajdować się w domu i działać. PiHole dalej pozostał na oddzielnym urządzeniu. Ponieważ zapewnia on dostęp do internetu, i nie chciałem żeby to zależało od tego czy akurat w tym momencie jest update Synology.
Wiem jak bardzo HDD nie lubią gdy nagłe znika prąd, dodatkowo RAID też tego może nie znieść. Więc zacząłem szukać małego UPS którego starczyłoby na kilka godzin bez prądu. Wybór padł na CyberPower 360W. Wystarcza go na kilka godzin żeby podtrzymać pracę NAS, Orange Funbox oraz Raspberry Pi. A do tego jest mały i tani.
Cloud gateway Link to heading
Unifi Express
O Ubiquiti słyszałem głównie z filmików na YouTube kiedy oglądałem jak wyglądają domowe sieci twórców. Widziałem że UDM Pro to bardzo fajne urządzenie które pozwała zbudować sieć w sposób jaki tylko się chce. Dodatkowo posiada kilka funkcji, które zwiększają bezpieczeństwo sieci. Jednakże, te możliwości mają swoją cenę. Na ten moment UDM Pro kosztuje 1800zł. Może dla kogoś kto zajmuje się sieciami to nie jest duży koszt. Ale płacić 1800zł za „router” który do tego nie ma nawet WiFi…nie, dziękuję. Dodatkowo UDM Pro jest tylko w wersji rack (znaczy że zaprojektowany do tego żeby znajdować się w szafie serwerowej). Była też wersja (UDM) którą można postawić pod telewizorem, ale z tego co słyszałem to jest ona bardzo głośnia i do tego nie tańsza. I tak ten temat wracał co kilka miesięcy żeby znów być porzucony. Internet działa - działa. Po co płacić kilka tysięcy zł za to co w sumie i tak nic nie zmieni? Ale jednak chciałem bardziej rozbudować sieć…
I tak jednego wieczoru zobaczyłem filmik na YouTube o nowym urządzeniu: Unifi Express. Malutki i bardzo ładny „Cloud Gateway” od Ubiquiti, a do tego w dość „przystępnej” cenie: ~140 euro. Był to koniec 2023 roku, i chciałem zacząć nowy rok z nową zabawką. Tak gdzieś w okolicach sylwestra zakupiłem Unifi Express. I od tego momentu zacząłem swoją przygodę z budową domowej sieci.
Krótko o tym czym jest Unifi Express. To bardzo mały router który posiada niektóre funkcję starszych „braci”. Dla mnie najważniejszym było zacząć zabawę z czymś co nie jest tylko routerem. Unifi Express ma spore możliwości ogranizacji sieci. Pozwała tworzyć wirtualne sieci lokalnie (VLANS), skonfigurować reguły sieciowe i podstawowe funkcje bezpieczeństwa. Dodatkowo można stworzyć do 3 sieci wifi i przypisać ich do VLANS. To pozwala na stworzenie lepszej sieci domowej niż jedno WiFi do którego podłączone są wszystkie urządzenia. A mam ich dość sporo, ponieważ w wolnej chwili bawię się w „smart home”.
Tak zmieniła się sieć:
- Orange Funxbox
- Unifi Express (WiFi + firewall)
- Raspberry Pi 4 (pihole + cloudflared oraz docker)
- NAS
W międzyczasie Raspberry Pi Zero zostało zastąpione przez Raspberry Pi 4. Ponieważ przestałem tak często „psuć” Raspberry Pi 4 i już nie widziałem potrzeby trzymać dwa rpi w tym samym czasie jak jeden i tak stoi prawię pusty. I to pozwoliło trochę zmniejszyć ilość urządzeń.
Organizacja sieci Link to heading
Unifi dashboard
Wracamy do sieci. Po obejrzeniu kilku filmików oraz przeczytaniu kilku artykułów o tym jak organizować sieć domową już wiedziałem jak powinna wyglądać moja sieć domowa:
- default: główna sieć do której są podłączone najważniejsze urządzenia: komputery, NAS, komórka, Raspberry Pi. Brak jakichkolwiek ograniczeń.
- IoT: czyli wszystko co potrzebuje dostępu do internetu ale nie jest ważne: drukarka, czujniki, aqara gateway, telewizor, etc. Ta sieć jest dość ograniczona. Ta sieć nie ma dostępu do innych sieci (jedynym wyjątkiem jest dostęp do PiHole bo chcę mieć zablokowaną reklamę na telewizorze). Czyli urządzenia mogą się łączyć tylko z urządzeniami w tej sieci oraz mają dostęp do internetu.
- guest: tak jak nazwa wskazuje to jest sieć dla gości oraz tymczasowych urządzeń. Ma takie same ograniczenia jak IoT oraz ograniczoną prędkość (nie wiem po co, ale z tym mi się spokojniej śpi).
Na tym etapie wszystkie urządzenia były połączone przez WiFi. Następnym krokiem było kupienie switcha żeby urządzenia które są blisko Unifi Express mogły być połączone przez ethernet. Wybór padł na Ubiquiti Lite 8 PoE. Jest to dość drogi switch (kosztował mnie ~500zł). Jego plusem jest posiadania 4 portów PoE (zasilanie przez kabel ethernet) co pozwoli w przyszłości zasilić niektóre urządzenia (np Raspberry Pi lub kamery Ubiquiti). W ten sposób w telewizorze, PS 5, Raspberry Pi oraz NAS zostały wyłączone WiFi.
PS: jest to mój pierwszy artykuł oraz pierwsza część z serii. Homelab już jest bardziej rozbudowany (mini PC z proxmox oraz UDP Pro) co daje mi nadzieje że powstaną kolejne części z tej serii. Prośba wszystkie pytania i uwagi kierować na email: [email protected].