Performanse softverskih rutera VyOS, pfSense i Mikrotik
Kako modernizovati mrežu bez dodatnih troškova? U ovom članku fokusiraćemo se na konfiguraciju kućnih/poslovnih rutera pomoću alata otvorenog koda, a pritom održati performanse i pouzdanost tradicionalnih hardverskih rutera. U benchmark-u poredimo VyOS, pfSense i RouterOS u Proxmox virtuelnom okruženju.
Sadržaj
Uvod
U današnjem digitalnom svetu, mreže i virtuelizacija postaju ključni elementi za unapređenje performansi i skalabilnosti informacionih sistema. Mreže su osnovna infrastruktura za komunikaciju između računara i drugih uređaja širom sveta, i tokom vremena su se razvile iz lokalnih u globalne Internet mreže koje se neprestano razvijaju i usavršavaju.
Virtuelizacija je tehnologija koja omogućava kreiranje virtuelnih verzija računara, mreža i drugih resursa. Ova inovacija je promenila način na koji organizacije upravljaju svojim infrastrukturama i resursima. Virtuelizacija omogućava efikasniju upotrebu resursa, smanjenje operativnih troškova, pojednostavljeno upravljanje i veću prilagodljivost.
Pojam umrežavanja u virtuelizovanom okruženju obuhvata kombinaciju ovih ključnih elemenata, omogućavajući organizacijama da optimizuju svoje mreže kroz virtuelne tehnologije. U ovom članku bavićemo se različitim softverskim ruterima, njihovim konfiguracijama i uporednim analizama na virtuelnom okruženju Proxmox VE .
Hardverski i softverski ruteri
Ruteri su kritične komponente mrežne infrastrukture koje omogućavaju rutiranje paketa između segmenata mreže. Podelićemo rutere na dva tipa, od kojih svaki ima svoje karakteristike, prednosti i mane.
Hardverski ruter je fizički uređaj sastavljen od posebno dizajniranih hardverskih komponenti kao što su procesori, memorijski moduli, mrežne kartice i specijalni čipovi za rukovanje paketima. Oni nude visoke performanse i mogu se koristiti u velikim mrežama sa visokom propusnošću. Hardverski ruteri često podržavaju različite mrežne protokole i mogu se skalirati da podrže veliki broj mrežnih veza istovremeno.
Softverski ruter je, s druge strane, implementiran kao standardni program koji radi na standardnom računarskom sistemu. Koristi računarske resurse kao što su procesor, memorija i mrežne kartice da emulira funkcionalnost rutera. Softverski ruter se može postaviti na postojećem računaru ili virtuelnoj mašini, omogućavajući fleksibilnost i prilagodljivost. Pružaju sličnu funkcionalnost kao i hardverski ruteri, uključujući rutiranje, filtriranje mrežnog saobraćaja, podršku za različite protokole i bezbednosne funkcije.
Glavna razlika između hardverskih i softverskih rutera leži u njihovim fizičkim karakteristikama i implementaciji. Uzimajući u obzir razlike i karakteristike, organizacije mogu izabrati pravi tip rutera na osnovu svojih potreba i zahteva mrežne infrastrukture.
Pregled korišćenih softverkih rutera
U ovom istraživanju koristili smo tri softverska rutera koji su instalirani na Proxmox virtuelnom okruženju:
- VyOS (v.1.3.3) – vyos-konfiguracija
- PfSense (v.2.6.0) – pfsense-konfiguracija
- MikroTik RouterOS (v.7.9.1)
VyOS – VyOS je open-source ruter platforma bazirana na Debian Linux-u. Ova platforma nudi bogate mogućnosti za rutiranje, VPN, firewall i QoS (Quality of Service). VyOS je poznat po svojoj pouzdanosti i skalabilnosti, čineći ga popularnim izborom za mala i srednja preduzeća.
PfSense – pfSense je takođe open-source ruter platforma, bazirana na FreeBSD operativnom sistemu. PfSense se ističe po svojim snažnim firewall mogućnostima i VPN podršci. Takođe nudi širok spektar dodataka i podršku za višestruke internet konekcije, čineći ga idealnim za upotrebu u manjim mrežama.
MikroTik RouterOS – je operativni sistem razvijen od strane kompanije MikroTik za njihove mrežne uređaje. Ovaj operativni sistem omogućava napredne funkcionalnosti kao što su rutiranje, upravljanje širokopojasnim vezama i druge mogućnosti za konfiguraciju i optimizaciju mreža. RouterOS je čest izbor među internet provajderima i većim organizacijama zbog svoje fleksibilnosti i naprednih mogućnosti za upravljanje mrežnim saobraćajem.
Poređenje performansi pomenutih softverskih rutera omogućava nam da procenimo prednosti i nedostatke svake opcije na osnovu specifičnih potreba i zahteva. Svaki ruter ima svoje karakteristike, mogućnosti i pristup konfiguraciji (komandna linija, veb pregledač, drugačija sintaksa). Zbog toga je važno uzeti u obzir ove faktore pri izboru najpogodnijeg rutera za specifične svrhe. Treba uzeti u obzir da kod softverskih rutera količina memorije može značajno da utiče na funkcionisanje. Takođe, cena uređaja na koji su instalirani softverski ruteri može da varira u zavisnosti od komponenti računara.
Proxmox virtuelno okruženje
Proxmox VE (Virtual Environment) je kompletna open-soruce platforma za upravljanje serverima za virtuelizaciju. Ona integriše KVM hipervizor i Linux kontejnere (LXC) i softverski definisane funkcije skladištenja i umrežavanja, sve na istoj platformi. Sa integrisanim veb korisničkim interfejsom može se sa lakoćom upravljati virtuelnim mašinama i kontejnerima, visokom dostupnošću za klastere ili integrisanim alatima za oporavak od otkaza.
Konfiguracije rutera u Proxmox VE
Konfiguracija za merenje performansi u Proxmox virtuelnom okruženju je veoma važna da bi se obezbedili pouzdani i nepristrasni rezultati merenja. Postoji nekoliko važnih faktora koje treba uzeti u obzir prilikom konfigurisanja.
- Resursi virtuelne mašine: Pravilna alokacija CPU, RAM-a i diska za virtuelne mašine je od suštinskog značaja za dobijanje pouzdanih performansi. Treba prilagoditi resurse prema potrebama aplikacija u virtuelnom okruženju.
- Virtuelni mrežni interfejs: Pravilna konfiguracija virtuelnog mrežnog interfejsa igra ključnu ulogu u merenju performansi rutiranja. Postavljanjem virtuelnog mrežnog interfejsa u ovakvom režimu omogućava se direktna veza sa fizičkim mrežnim kontrolerima hosta, što rezultira povećanom propusnošću podataka.
- Mrežna podešavanja: Pravilno podešavanje MTU (maksimalna jedinica prenosa) za virtuelne mrežne interfejse doprinosi efikasnosti prenosa podataka.
- Praćenje učinka: Korišćenje alata za praćenje performansi u Proxmox-u omogućava nadgledanje CPU, memorije, mreže i drugih resursa tokom testiranja.
- Stres testiranje: Upotreba alata poput iperf i netperf za simulaciju realnih mrežnih opterećenja i merenje performansi rutera u različitim scenarijima.
- Optimizacija host sistema: Pored konfigurisanja virtuelnog okruženja, takođe je važno optimizovati host sistem kroz podešavanje kernel parametara, mrežnih postavki i upravljanje resursima radi poboljšanja ukupnih performansi sistema.
Postavke testova
Da bismo uporedili rutere i njihovo ponašanje u različitim okolnostima, pratili smo sledeće karakteristike: propusnu moć, vreme ponovnog pokretanja i iskorišćenost resursa.
Iperf test je alatka za merenje propusnog opsega mreže koja se koristi za testiranje brzine prenosa podataka između dva računara na mreži. To je softverski alat otvorenog koda koji omogućava generisanje saobraćaja i merenje brzine prenosa podataka, kašnjenja i gubitka paketa. Može se izvršavati bilo na lokalnoj mreži, bilo preko Interneta. Za testiranje, jedan računar se koristi kao izvor (server), a drugi kao odredište (klijent). Izvor generiše saobraćaj do odredišta, a alat meri brzinu prenosa podataka tokom tog procesa. Iperf koristi TCP ili UDP protokol za generisanje saobraćaja, u zavisnosti od izabranog režima.
Kao što možemo da vidimo, MikroTik ruter se ponovo budi za samo 15 sekundi, dok pfSense-u treba skoro 70 sekundi.
Sve virtuelne mašine na kojima su podignuti ruteri imaju identične resurse. U sledećoj tabeli možemo da vidimo dodeljene resurse za sve tri virtuelne mašine.
Resurs | Virtuelna mašina |
CPU | 2 jezgra |
RAM | 2GB |
HDD | 16GB |
Prvi test je vreme pokretanja. Simuliran je prekid rada rutera komandom za restart. Cilj testa je da se odredi vreme ponovnog pokretanja rutera bez bilo kakve interakcije nad mašinom.
Konfiguracije rutera možemo pronaći na Github repositorijumu dodatim u literaturi.
Testovi brzine rutiranja
Osnovni test
Ideja za testiranje softverskih rutera je bila da imamo jedan računar koji preko rutera izlazi na Internet. Na ruteru koji smo ipitivali konfigurisan je NAT (eng. Network Address Translation) pa je adresa računara na internetu maskirana adresom rutera. Iperf3 server je podignut na ruteru koji se nalazi van naše mreže, na drugom čvoru Proxmox klastera. Na taj način smo pratili performanse testiranog rutera. Na slici možemo da vidimo da su ruteri postavljeni parelelno, sa istim unutrašnjim i spoljnim interfejsima i za vreme testa neophodno je da samo jedan od njih bude uključen.
Ruter | CPU | RAM | Download | Upload | Iperf3 |
pfSense | 8% | 1.4Gi | 99 Mbps | 135 Mbps | 941 Mbits/s |
VyOS | 3.5% | 768Mi | 112 Mbps | 129 Mbps | 944 Mbits/s |
MikroTik RouterOS | 22% | 144Mi | 125 Mbps | 122 Mbps | 942 Mbits/s |
Kao što se vidi na osnovu podataka iz tabele, sva tri rutera obezbeđuju približno iste rezultate za preuzimanje i otpremanje sadržaja.
Iperf3 test je započet sa pretpostavkom da će se vrednosti brzine razlikovati od rutera do rutera, ali iz tabele vidimo da to nije bio slučaj. Ustanovili smo da veza između našeg rutera koji je testiran i rutera koji je pokretao iperf3 server prolazi kroz fizički svič koji je ograničen na 1 Gbps, pa zbog toga nismo mogli verodostojno da završimo test u ovoj arhitekturi mreže. Bez obzira na to, ovaj test je koristan da se vidi iskorišćenost ostalih resursa na ruterima za vreme opterećenja.
Da li su komponente na istom ili na različitim Proxmox čvorovima?
Na slici možemo da vidimo jednu „P“ arhitekturu mreže gde su svi virtuelni uređaji na istom čvoru (eng. node) Proxmox klastera. Ideja je da se testira komunikacija između dve virtuelne mašine (ubuntu1, ubuntu2) koje su povezani preko VyOS rutera bez izlaska na fizički 1 Gbit svič. Takođe, na istoj arhitekturi urađen je test kada su ruteri na različitim čvorovima Proxmox klastera, tj. povezani su fizičkim 1 Gbit svičem, kako bismo uporedili rezultate iperf3 testa.
Izvor | Odredište | Iperf3 (isti Proxmox čvor) | Iperf3 (različiti Proxmox čvorovi) |
Ubuntu1 | localhost | 11.6 Gbits/s | 11.5 Gbits/s |
Ubuntu1 | VyOS1 (eth0) | 9.2 Gbits/s | 8.5 Gbits/s |
Ubuntu1 | VyOS1 (eth1) | 9.9 Gbits/s | 8.3 Gbits/s |
Ubuntu1 | VyOS2 (eth0) | 2.4 Gbits/s | 942 Mbits/s |
Ubuntu1 | VyOS2 (eth1) | 2.4 Gbits/s | 941 Mbits/s |
Ubuntu1 | Ubuntu2 | 1 Gbits/s | 943 Mbits/s |
Kada se ruteri nalaze na istom čvoru brzina prenosa podataka između dva rutera se značajno razlikuje u odnosu na brzinu prenosa podataka kada su ruteri na različitim čvorovima. Prikaz možemo videti i na dijagramu gde se jasno uočava pad u brzini kako se povećava broj koraka u komunikaciji.
IPSec test
Pored ovih testova sproveden je i test gde smo merili performanse uspostavljene IPSec veza između dva rutera. Test je izvršen na VyOS i pfSense. Zbog tehničkih problema, MikroTik nije uspeo da proradi. Ispostalja se da na Proxmox VE može da dođe do neočekivanog ponašanja virtuelne mašine i da dobro konfigurisana mašina jednostavno ne radi regularno ili ne radi uopšte. Sličan problem smo imali za vreme izvršavanja osnovnog testa sa klijent instancom, kada nije hteo iz nekog razloga da se poveže sa svojim ruterom. U tom slučaju podigli smo novu virtuelnu mašinu na kojoj nije bilo problema.
Ruter | CPU | RAM | Iperf3 |
pfSense1 | 22% | 1.25Gi | 140 Mbits/s |
pfSense2 | 22% | 1.25Gi | 138 Mbits/s |
VyOS1 | 25% | 650Mi | 175 Mbits/s |
VyOS2 | 25% | 650Mi | 167 Mbits/s |
Na osnovu podataka iz tabele, možemo da vidimo da ruteri imaju gotovo identičnu iskorišćenost resursa. Možemo da primetimo da kod pfSense imamo nešto veću iskorišćenost memorije, dok kod VyOS rutera imamo nešto veći protok na iperf3 testu, pre svega zahvaljujuću prednostima Linux jezgra u odnosu na BSD na ovom polju.
Zaključak
Istražili smo mogućnost upotrebe softverskih rutera kao zamenu za hardverske rutere u virtuelnom okruženju, sa posebnim fokusom na VyOS, pfSense i MikroTik RouterOS. Rezultati su potvrdili da softverski ruteri pružaju solidne performanse, uz značajne prednosti u prilagodljivosti i konfiguraciji. Analizirane su performanse rutera u različitim scenarijima, uključujući testove propusnosti i iskorišćenosti resursa, što je ukazalo na njihovu sposobnost da se nose sa zahtevima modernog umrežavanja.
Uz ove rezultate, zaključujemo da softverski ruteri predstavljaju zanimljivu opciju za organizacije koje žele da optimizuju svoje mreže kroz virtuelne tehnologije, pružajući visoke performanse, prilagodljivost i ekonomičnost u konfiguraciji i upravljanju mrežama.
Reference
- pfSense: https://docs.netgate.com/pfsense/en/latest/general/index.html
- MikroTik: https://help.mikrotik.com/docs/display/ROS/Getting+started
- VyOS: https://docs.vyos.io/en/latest/
- Univerzitetki informatički centar: https://unic.kg.ac.rs/
- Proxmox: https://pve.proxmox.com/pve-docs/
- Računarske mreže, Tanenbaum, 2012. (5. izdanje)
- Konfiguracija testiranih rutera: https://github.com/tomislavbakic/virtual-networking