V predošlom blogu som spomenul, že na nové pripojenie technológiou GPON som definitívne prešiel 04.09.2020. Router RB450, ktorý som používal doposiaľ je nedostačujúci, pretože už pri dátovom toku 70 Mbps sa vyťaženosť CPU pohybovala na úrovni 90-100%, nehovoriac o tom, že viac ako 70 Mbps tento router nezvládol.
Najprv som uvažoval, že pôjdem do kvalitnejšej novšej gigabitovej verzie RB450 a to konkrétne RB450Gx4, ktorá ma výkonný štvorjadrový procesor ARM a 1 GB RAM pamäte. Konfiguráciu by som len vyexportoval zo starého RB450 a naimportoval do nového. Cena nového RB450Gx4 sa pohybovala na úrovni 70-80€. Možno si ešte niekto spomenie, keď som pred viac ako rokom písal o základnej doske Odroid H2, ktorá ma veľmi zaujala a nakoniec som si ju kúpil. Pôvodne som tuto dosku chcel použiť namiesto starého servera, ktorý beží na Asrock Q1900 DC-ITX. Doposiaľ som tak neurobil, lebo na Asrocku všetko funguje ako hodinky. Čiže na Odroid H2 už viac ako rok sadal prach. GPON pripojenie som mal už viac ako 1 mesiac a stále som bežal na starom routery RB450 a aj napriek tomu, že mám objednaný internet 250/25 Mbps, využiteľných bolo len 70 Mbps. Niektorí bystrejší možno postrehli, prečo sa tu oháňam nejakou základnou doskou Odroid H2, keď potrebujem riešiť router. Ja som si však povedal, nech sa rozhodnem ako sa rozhodnem, tak router bude postavený na linuxe, alebo freebsd. Ako je známe, tak Router Boardy používajú ROS (Router OS), ktorý stojí na linuxe. Ďalšou alternatívou by mohol byť OpenWRT, ktorý je postavený taktiež na linuxe. Poslednou možnosťou by bol pfSense, ktorý stoji na FreeBSD (FreeBSD, ale vychádza z UNIXu) . Nakoniec som vybral pfSense a postavený bude na železe, Odroid H2. V podstate každý zo spomínaných OS (ROS, OpenWRT, pfSense) bol vytvorený aj pre platformu X86, ale ja som si vybral pfSense. Už v milosti som používal m0n0wall z ktorého neskôr vyšiel pfSense a dnes sa pfSense forkuje z ktorého vyšiel opnsense. Uvažoval som aj nad opensense, ale pfSense je asi viac zavedený a predpokladám, že bude aj o niečo stabilnejší (opensense ma dashboard prispôsobený pre rok 2020, zatiaľ čo web rozhranie pfSense je na úrovni roku 2010, čo mi vôbec neprekáža).
Odroid H2 má 2 sieťové karty čo je podmienkou pre router, alebo sieťový firewall. Problém je ale v tom, že Odroid H2 ma sieťové čipy postavené na Realtek RTL8111G. FreeBSD si s Realtekom veľmi nerozumie a vždy odporúča čipy od Intelu. Pri zhromažďovaní informácii ohľadom nasadenia FreeBSD som sa v rôznych diskusiách stretol s tým, že užívatelia pfSense mali s Realtekom problémy.
Už niekoľko rokov prevádzkujem na MB Asrock Proxmox, ktorý ma tak isto sieťový čip RTL8111GR a nikdy som nezaznamenal žiadny problém. Proxmox však stoji na Debiane, zatiaľ čo pfSense stoji na FreeBSD. |
Keďže za vyskúšanie nič nedám, rozhodol som sa, že na Odroid H2 nainštalujem Proxmox Virtual Enviroment 6.x a prvú VM ktorú vytvorím bude určená pre OS pfSense. Pri konfigurácii siete som pre obe karty použil paravirtualizovaný ovládač VirtIO a tak Realtek nebude priamo komunikovať s pfSense. Zdá sa, že toto riešenie funguje dobre. Od kedy som nasadil do produkcie pfSense, tak uptime je viac ako 2 týždne a ja som nezaznamenal žiadny problém. Chcem to nechať ešte ďalšie 2 týždne a možno skúsim nejaké záťažové testy. Na nasledujúcom screenshote je dashboard pfSense, ktorý zobrazuje rôzne informácie ohľadom behu celého systému. Upozorňujem, že IP adresy a ID sú prekryté červeným pásikom.

Záver
Virtualizácia routerov a firewallov v dnešnej dobe nie je nič neobvyklé, ale je potrebné mať aspoň predstavu ako to funguje. Pri takejto konfigurácii som ušetril jedno zariadenie (router) ktorý virtualizujem. Tým pádom nešetrím len na elektrickej energii . ale ušetril som aj na routery (HW), ktorý by ma vyšiel na cca 70-80€. Ale zase taká virtualizácia má aj svoje nevýhody. Ak sa pokazí HW (či už sa bude jednať o poruchu na RAM, SSD, MB) tak kolabuje celá sieť vrátane routera, KVM či kontajnerov a padá celý internet. Z hľadiska SSD je to poriešené aspoň RAID 1.
Niekedy nabudúce popíšem podrobný postup inštalácie pfSense do KVM aj so screenshotmi, ktoré tak nerád vytváram.