section

Trunk mezi ESXi a firewallem

12.03.2022 | Tag Sítě

V článku popíšu konfiguraci labové virtualizace, kterou jsme nedávno stavěli. Půjde o přímý spoj hypervizoru s firewallem přes několik VLAN pro různé subnety. A protože byla možnost, tentokrát bude ukázka z Palo Alto a Fortigate.

Napřed klasicky use case. Už nějakou dobu jsme přemýšleli nad postavením labové virtualizace, která by uspokojila všechny možné tužby admina – od provádění penetračních testů nad kopií produkce přes testování nového software po ladění alternativních konfigurací. Takové prostředí nemusí být robustní, nicméně musí být striktně izolované a za žádných okolností se nesmí potkat s produkcí. Požadavky na virtualizaci splní jeden železný server s VMware ESXi a interním úložištěm. Protože redundance není potřeba, nabízí se relativně přímočaré řešení – propojení ESXi napřímo s firewallem, který bude lab segmenty routovat a řídit politikami. Tímto způsobem se nám povedlo vyhnout nutnosti vytvářet dedikované VLAN na fyzické L2 infrastruktuře.

V rámci virtualizace se síťování řeší pomocí virtuálních switchů a jejich provazbení na fyzické interface serverů, kde ESXi je. Tyto virtuální switche se v základu chovají jako běžné L2 prvky, takže je možné zde vytvářet VLANy a server propojit do sítě trunkem. Námi použitá konfigurace pak bude v podstatě router na tyčce. Routovat bude firewall a routovat bude VLANy, které budou existovat na virtuálním switchi hypervizora. Viz nákres níže, tak bude výsledná síť vypadat (kdo viděl článek o Draw, tak už nákres zná :)).

LAB0

Jazykem VMware, ve virtualizaci bude jeden virtuální switch vSwitch0 se třemi port groupami. Groupa LAB1 s vlan 10 bude první testovací subnet, LAB2 s vlan 20 bude druhý. Oba budou sloužit pro budoucí virtuální stroje. Teoreticky stačí jeden subnet, ale druhý se může taky někdy hodit. Třetí port groupa LAB mng s vlan 30 je pro samotný nod, členem je VMkernel NIC s IP adresou 192.168.30.128/24, tedy adresou managementu virtualizace. Server má jeden fyzický interface vmnic0, virtuální switch je navazben na něj a všechny vlan směřují do něj.

Protistranou bude firewall, který zároveň bude mít roli L3 prvku. Fyzický interface serveru se spojí s fyzickým interface firewallu, rozděleným na tři subinterface podle zmíněných vlan. K tomu se vytvoří potřebné politiky na povolení management provozu a zamezení jakékoliv jiné komunikace.

Napřed firewall. Začneme Palo Alto, Fortigate bude jako varianta nakonec. Začala bych vytvořením dvou Layer 3 zón IT a LAB. IT zóna je pro admin PC, které se bude na labové prostředí připojovat. Zóna LAB bude obsahovat všechny tři labové subinterface s tím, že intrazone traffic bude blokován politikou.

LAB1

Dál se nastaví interface 1/2 pro IT PC. Bude to standardní L3 interface s IP adresou 192.168.15.1/24, která IT PC poslouží jako default gateway. Interface bude členem zóny IT a bude přidán k virtuálnímu routeru, který firewall používá k routování provozu.

LAB2
LAB3

Variantně je možné vytvořit administrativní profil povolující ping a nastavit ho na tento interface. Bude tak možné 192.168.15.1 pingnout a zkusit si tím konektivitu.

LAB5
LAB4

Interface 1/1 se pouze nastaví jako Layer 3 interface a potvrdí. Ve výpisu interface se tím aktivuje volba Add subinterface, kterou potřebujeme.

LAB6
LAB7

První subinterface bude pro LAB1, tedy VLAN 10 a subnet 192.168.10.0/24. Na číslu subinterface nezáleží tolik jako na tagu, který musí sedět s číslem vlan, ale většinou se obojí nastavuje stejně. Interface bude členem zóny LAB a bude opět přidán na virtuální router. Adresa interface bude 192.168.10.1/24.

LAB8
LAB9

Úplně stejně se nastaví další dva subinterface pro 20 a 30. Na konci by mělo vzniknout něco takového.

LAB10

V politikách se dá vyřádit podle vlastních požadavků. My máme standardně obě implicitní pravidla nastavená na drop, takže co není povoleno vlastní politikou, je zakázáno. Jedna politika pak povoluje komunikaci z IT PC na ESXi management a druhá povoluje komunikaci do prvního lab subnetu, kde se očekává RDP komunikace.

LAB11

Teď virtualizace. Konfigurace vlan a IP adresy management interface se dá udělat buďto rovnou z té žluto šedé konzole, případně z webui. Já jsem obojí nastavovala rovnou z konzole, server propojila s nakonfigurovaným firewallem a poté přes webui vytvořila další dvě port groupy.

LAB12
LAB13

vSwitch0 myslím existuje v základu, pokud není jiný požadavek, stačí ho tedy použít a navazbit na ně i port groupy LAB1 a LAB2. Portgroup LAB mng se vytvoří přejmenováním defaultu, VMkernel NIC už je jejím členem.

LAB14
LAB15
LAB16

Tím by měla vzniknout funkční labová infrastruktura, která umožní IT PC komunikovat na management hypervizoru a do prvního LAB subnetu pod určitými aplikacemi. Případné VM v LAB1 a LAB2 spolu (a ani nikam jinam) nemůžou komunikovat, pokud se pro to nevytvoří politika na firewallu.

Nakonec pro zajímavost stejná konfigurace firewallu, akorát na FortiGate platformě. Nejsem s tím pořád úplně kamarádka, ale bylo rozhodně fajn si obojí porovnat.

Interface nemusí být členem žádné zóny, použití zón jsou tedy dobrovolné. Nicméně aby to bylo stejné, tak jsem je vytvořila. Zóny i subinterface se vytvářejí pod Create New ve výpisu Interface.

LAB19

Oproti Palo Alto je většina konfigurace spojená s interface na jednom místě. V rámci tvorby interface je tedy možné rovnou nastavit DHCP či management služby. Dokonce se dá automaticky vyrobit objekt s adresací vytvářeného interface.

LAB20
LAB17

Už při vytváření zóny se určuje, zda bude komunikace v rámci této zóny povolena, nebo ne. I tady platí, že interface může být členem jen jedné zóny.

LAB21
LAB18

Hezká je možnost viditelného groupování politik podle zdrojového a cílového interface. Dá se to řídit přepnutím volby vpravo nad výpisem politik. Zde existuje jedna politika pro povolení komunikace z IT PC na management ESXi a zbytek je zakázán.

LAB23
LAB22

Konfigurace politik je z principu stejná na obou platformách. Co jsem však nevěděla je, že Fortigate má dva různé next gen módy a podle toho se pak konfigurují bezpečnostní funkce. Abych mohla nastavit přímo v politice aplikace místo portů, jako jsem zvyklá na Palu, musela jsem next gen mód přepnout z profile-based na policy-based. To jsem tedy zjistila až potom, co jsem dodělala původní konfiguraci, takže jen pro ukázku, jak to pak vypadá s aplikacemi místo portů.

LAB14
LAB25