Jsem zvedav na dalsi casti.
Osobne sem zacal po urcite zkusenosti firewalld vypinat, nebot jsem prisel na jednu nemilou vlastnost. Podku ma clovek napriklad "slozitejsi" konfiguraci typu:
zona public = vse co prijde z 10.0.0.0/8
zona trusted = vse co prijde z 10.1.0.0/24 (admini)
A pak clovek skonci u pojmenovavani zon 01trusted, 02public, atd...
Protoze bohuzel pokud jedna zona je podmnozinou te druhe, tak ten firewalld nema zadnou pridanou inteligenci ktery by ten odskok do chainu seradil dle nejmensi zony/site. Proste to seradi podle nazvu. A pak se snadno stane ze se do te zony kde je povoleno vice sluzeb, treba pro ty adminy (nebo cokoli jineho, treba replikace DB, ...), pakety vybec nedostanou :-(
To mi uz prislo jednodussi si psat ty pravidla do nftables rovnou nez premyslet nad spravnym pojmenovanim zon.
Jedny Vánoce jsem firewalld nasadil na domácím serveru, který má přístup do dvou lokálních sítí, sítě s VPNkou a ještě sítě v kanceláři přes tunel. Bohužel to CLI rozhraní a zóny jsou udělaný tak, že jsem si prakticky nikdy nebyl 100% jistý, co je vlastně povoleno. Po roce jsem to vzdal a napsal to v nftables. Už předtím jsem znal iptables, takže tam kde jsem s firewalld strávil dny mi nftables zabralo dvě hodiny.
Těším se na další díl, protože zrovna "tady mám sítě A a B a potřebuji mezi nimi povolit tento typ provozu." pro mě byl ve firewalld dost nepřekonatelný problém.
Naprosto souhlasím.
Navíc firewalld napráská do nft nebo iptables takové množství chainů a pravidel, že se v tom výsledně člověk nevyzná.
Osobně to okamžitě odstraňuju a dělám si pravidla v (dneska už třetím jaderném firewall "frameworku") nft.
V době iptables jsem používal 'ferm', který mi pomáhal generovat sady pravidel. V nft už existují pojmenované nebo anonymní množiny, takže např. povolení komunikace se sadou serverů je triviální:
# nft add rule input ip saddr {server-ip-1, server-ip-2} accept
Ehm.
S nft se napíše vše, co umí iptables, ebtables a ipset, ale v jednom rozhraní.
Navíc to umí více paralelně "pracujících" tabulek, takže např. fail2ban má svoji tabulku a neleze do "základního" firewallu a nedělá tam tak binec.
Tohle byl _jednoduchý_ příklad, abych použil nepojmenovanou množinu.
Zkuste si o tom něco přečíst, stojí to za to.
Máme ve firmě nasazeny jak firewalld tak klasické ipt/nft. Firewalld je ideální na běžné servery nebo jednodušší routery, kterých je, alespoň u nás, většina. Výhoda je v přehlednosti a rychlém deploymentu. Firewalld se dá i pěkně scriptovat a nasazovat pak jak na běžícím pásu. Pár komplikovanějších routerů nám běží na ipt/nft. Přepsání do firewalld by bylo sice asi bylo možné ale vzniklo by monstrum, které bych ani nepříteli nepřál spravovat.