Hlavní navigace

Firewall pfSense: Load Balancing

Lukáš Malý

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ů.

Doba čtení: 1 minuta

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ší.

Našli jste v článku chybu?