DIY x86 gateway v2

Két évvel ezelőtt íródott bejegyzésem folytatása, melyben lényegében ugyanazt a felépítést (router, tűzfal, gateway, VPN-szerver stb.) próbálom bemutatni egy más absztrakciós szintről. – írta: haddent, 4 éve

Kontraszt

Anno 2018
Ahogy a bevezetőben is említettem, van egy hasonló írásom 2 évvel ezelőttről. A mostani ugyan gyakorlatilag nem épül rá, teljesen nulláról indul, viszont úgy gondolom, hogy hasznos lehet hálózati alapozás tekintetében először CLI- és kernelközeli irányból megközelíteni a témát, tehát amolyan elméleti alapozásnak továbbra is ajánlanám.

Jelen írásban szeretnék a teljesítményre, az összehasonlításra és a némileg komolyabb konfigokra koncentrálni, ezért némileg haladó tempóban alapvető Linux / bash / networking tudást feltételezek.

Szeretném először kicsit összegezni, hogy miről is lesz szó, miből fog állni és a választásaimat is indokolni, így remélhetőleg segíteni fog másoknak is a döntésben.

Virtualizáció
Szó lesz a virtualizációról, hiszen nálam virtuális gép formájában fut a történet. Nem kifejezetten erre a témára lesz kihegyezve a cikk, de tulajdonképpen a legfontosabb részeket érinteni fogom. Természetesen natív bare-metal installáláshoz is használható lesz útmutatóként, csak egyértelműen ki kell hagyni a megfelelő részeket, ez esetben egyszerűsödik a történet.
Természetesen egy percig sem volt kérdéses, hogy KVM-mel fogom megvalósítani a virtualizációt. Más szóba sem jöhetett, hiszen kizárólag egy UNIX-alapú rendszer vehető komolyan (szerintem), és itt (is) messze a leghatékonyabb, egyszerűbb és elegánsabb megoldás a KVM. Miért is próbálkoznánk Virtualbox-szal vagy VMWare-rel, amikor van egy ezeknél komolyabb, gyorsabb, nagyobb tudású teljesen free és open source alternatíva a kezünkben?

Hypervisor disztró
A hoszt gép OS-ét is jól kell megválasztanunk, hiszen mindennek az alapja lesz a továbbiakban. Igazából teljesen free és open source-ként a Proxmox-on kívül mást nem ismerek, ez viszont saját absztrakciókkal él a KVM fölött, nem a libvirt könyvtárakat használja, számomra nem elég "vanilla" (alap, gyári, érintetlen), ezért továbbra is az Arch Linux mellett döntöttem.

FW disztró
A tűzfal disztró kiválasztásánál már nagyobb dilemmában voltam. Több verziót is megvizsgáltam, kipróbáltam, végül a jó öreg pfSense-re esett a választás. A teljesség igénye nélkül néhány említésre méltó rendszer pro és kontra:

pfSense
[+] Meglehetősen nagy múltú, széles körben támogatott, sok csomaggal rendelkező rendszer. BSD-alapú, mely (bpf) sokak szerint hatékonyabb a Linuxnál (iptables). Saját méréseim alapján is ez bizonyosodott be. Kiemelkedő teljesítmény, nagyszerűen felépített, logikus, egyszerű, de esztétikus kezelőfelület, pont elegendő és kielégítő paraméterezési lehetőségekkel.
[-] Nincs igazi CLI konzol. Természetesen a fájlrendszert elérjük SSH-n és a konfig fájlt kézzel szerkeszthetjük, újratölthetjük, de én erősen hiányolok egy EdgeOS / VyOS-szintű CLI-t. Mellette szól, hogy rendkívül stabil, megbízható és komoly webes felülettel rendelkezik és természetesen teljes hozzáférésünk van a fájlrendszerhez, így minden megoldható, csak kevésbé elegáns ilyen értelemben.

OpnSense
[+] A pfSense forkja, így lényegében majdnem minden elmondható róla, ami a pfSense-ről, csak kisebb mértékben. Elvileg modernebb és agilisebb, a felülete pedig felhasználóbarátabb. Részemről logikátlanabbnak találtam a felépítését. Pontosan ugyanannyira jó választás, de én a pfSense-re szavazok.
[-] Nem meglepő módon szintén a CLI hiánya.

ClearOS
[+] Linux (CentOS)-alapú (ezért sokak és saját magam számára ismerősebb felépítésű), komoly fizetős, enterprise támogatás, modern csilli-villi felület, rengeteg csomag.
[-] Tesztjeim alapján szánalmas teljesítményt nyújt a mezőny többi tagjához képest. A GUI-t túl akarták egyszerűsíteni, és ezért (szerintem) alapbeállítások viszont úgy el vannak dugva vagy nem is léteznek, esetleg külön csomagban telepítendők, hogy az ellenkező hatást érték el vele. A csomagok nagy része (elő)fizetős.

VyOS
[+] Linux (Debian)-alapú, valószínűleg a legismerősebb felépítésű mindenki számára. Nagyon komoly, internetszolgáltatói helyeken is használják a fizetős, enterprise verziót. Kimagasló, szinte pfSense-szintű NAT teljesítmény azonos beállítások és hardver esetén. Iszonyatosan jól kidolgozott, okos, könnyen kezelhető CLI interfész, beépített ellenőrzésekkel. Nagyon okos rolling image-alapú disztró, ami azt jelenti, hogy egyszerre több verzió image-e és konfigja is lehet, 1-1 parancs kiadásával át lehet állni és bootolni egy másikba, nagyon stabil és megbízható felépítés.
[-] Ezt kicsit igazságtalan megemlíteni, hiszen saját bevallásuk szerint is inkább routingra használatos, mint tűzfalként és mindenesnek, de jelen esetben ez kissé negatív, hiszen kevesebb finom, elborult apróság található benne, kissé nyers, pl. az IPv6 dual stack PPPoE nem támogatott, csak DNS forwardingot tud, szervert nem (természetesen itt is hozzáférünk a fájlrendszerhez, tehát semmi nem akadályoz, de hivatalosan nem támogatott, így imageváltáskor megy a kukába). És hát itt sajnos semmi GUI nem áll rendelkezésre. Ugyan nagyszerű a CLI, de pl. több ezer szabály, több tíz VLAN és néhány VPN esetén nem biztos, hogy könnyen kiigazodik rajta az ember, jó lenne szépen csoportosítani, szeparálni és emberközeli módon áttekinteni, mint pl. pfSense esetén a dolgokat.
[0] Plusz infóként megemlítem, hogy az EdgeRouterek oprendszere, az EdgeOS is a Vyos/Vyatta forkja hasonlóan kiváló CLI-vel, viszont ők mellécsaptak egy meglehetősen jó webes felületet is.

Untangle
[+] Komoly enterprise háttér, jó támogatás, Linux-alapú
[-] Nagyon a fizetős végfelhasználókra van kihegyezve, nem teljesen nyílt forráskódú, sok a nem sztenderd UNIX csomag és program, nem kiemelkedő teljesítmény, számomra logikátlan GUI.

A cikk még nem ért véget, kérlek, lapozz!

Előzmények