Hlavní navigace

Firewall pfSense: Load Balancing

24. 7. 2018
Doba čtení: 1 minuta

Sdílet

V dnešním díle si povíme jak je možné použití firewall pfSense pro vyrovnávání zátěže. Popíšeme si postup jednoduché konfigurace s použitím dvou web serverů. Dále si povíme, jaké existují i jiné možnosti LB s použitím rozšiřujících balíčků.

Nejprve by bylo vhodné připomenout, k čemu technika zvaná Load Balancing slouží. Jedná se rozkládání zátěže např. provozu httpd web serveru mezi více zdrojů, přesněji serverů.

Load Balancing – součást systému

Základní instalace pfSense disponuje jednoduchou funkcionalitou Load Balancer. Technicky se o rozkládání stará služba relayd, která je součástí FreeBSD. Původ tohoto daemona je v projektu OpenBSD.

Konfigurace

Nastavení se provádí v menu Services / Load Ballancer, kde jsou dvě záložky Pools a Virtual Servers. Editací Pools nastavíme IPv4 adresy předinstalovaných webserverů a určíme, na jaký port má být provoz rozkládán. Dále definujeme, jakým způsobem si má pfSense monitorovat dostupnost jednotlivých nodů web serveru, použijeme ICMP.

V záložce Virtual servers definujeme IPv4 adresu, ze které se bude rozkládat provoz na nastavené Pools. Nastavení je velmi jednoduché. Další podrobnosti konfigurace naleznete v dokumentaci.

Pro fungování je nutné povolit patřičnou komunikaci na WAN interface. Pro zjednodušení pravidla si nadefinujeme Alias obsahující seznam IPv4 adres. Samotné jednořádkové pravidlo povoluje protokol TCP na seznam adres ip_LB na port 80.

Sledování stavu

V pfSense je možné sledovat stav Load Balancingu v menu Status / Load Balancer / Virtual Servers. Dále pak existuje stejnojmenný widget pro zobrazení v dashboardu. Pokud jeden z nodů vypneme, nebo na něm jen stopneme službu httpd, pfSense tuto aktivitu detekuje a dále službu zajišťuje jen jeden node. Ve statusu nedostupný node zčervená.

Pro test funkčnosti v tomto malém prostředí, postačí výchozí webová stránka v CentOS. Při přístupech na stránku můžeme nahlédnout do logu web serveru a pozorovat jednotlivé rozkládané hity.

Alternativy LB

Pokud nám z nějakého důvodu nevyhovuje vestavěná funkcionalita relayd, máme možnost nainstalovat balíček HAProxy, jehož možnosti jsou mnohem širší.

Autor článku

Pracuje jako IT konzultant ve společnosti Datasys. Vystudoval VOŠ Liberec, obor Počítačové systémy. Ve svém oboru prosazuje otevřená řešení IT infrastruktury.