Czym jest Network Load Balancing (NLB)?
Network Load Balancing (NLB) to wbudowana funkcja systemu Windows Server, która umożliwia rozłożenie ruchu sieciowego TCP/IP na kilka serwerów tworzących jeden klaster wirtualny. Klienci łączą się z jednym adresem IP klastra, a NLB automatycznie kieruje żądania do dostępnych węzłów — zapewniając wysoką dostępność (HA) i skalowalność aplikacji serwerowych.
NLB działa na warstwie 4 modelu OSI (transportowej) i obsługuje protokoły TCP oraz UDP. W odróżnieniu od sprzętowych load balancerów, nie wymaga żadnego dodatkowego sprzętu — wystarczy rola systemowa dostępna w każdej edycji Windows Server (Standard i Datacenter).
Funkcja jest dostępna w systemach od Windows Server 2003 aż do najnowszego Windows Server 2025. Obsługuje do 32 węzłów w jednym klastrze i automatycznie wykrywa awarie hostów — przenosząc ruch na sprawne serwery w ciągu około 10 sekund.
Zastosowania NLB — kiedy warto go używać?
NLB najlepiej sprawdza się w scenariuszach, gdzie aplikacja jest bezstanowa (stateless) — czyli nie przechowuje sesji użytkownika na konkretnym serwerze. Oto najczęstsze przypadki użycia:
| Scenariusz | Opis | Wymagane komponenty |
|---|
| Web farmy IIS | Witryna firmowa lub aplikacja webowa obsługiwana przez 2-8 serwerów IIS | IIS, NLB, wspólny storage na pliki |
| VPN Gateway | Bramka VPN z redundancją | RRAS, NLB, certyfikaty SSL |
| RDS Gateway / Web Access | Równoważenie dostępu do usług pulpitu zdalnego | RDS, NLB, licencje RDS CAL |
| Serwery FTP | Farma serwerów plików obsługująca duży ruch | IIS FTP, NLB, folder DFS |
| Reverse Proxy / WAP | Web Application Proxy z wysoką dostępnością dla ADFS | WAP, ADFS, NLB, certyfikaty |
| Serwery DNS | Równoważenie zapytań DNS między wieloma serwerami | DNS Server, NLB |
Ważne: NLB nie nadaje się do aplikacji stanowych (stateful) takich jak bazy danych SQL Server, Exchange Server czy Active Directory. Do tych scenariuszy użyj Failover Clustering lub SQL Server Always On.
Architektura klastra NLB — jak to działa?
Klaster NLB składa się z 2 do 32 hostów (węzłów), które współdzielą jeden lub więcej wirtualnych adresów IP (VIP). Klienci łączą się z VIP-em, a NLB na każdym hoście decyduje, czy dany pakiet powinien zostać obsłużony lokalnie, czy odrzucony.
Kluczowe elementy architektury
- Cluster IP (VIP) — wspólny adres IP, pod którym klaster jest widoczny w sieci. Wymaga wpisu DNS.
- Dedicated IP (DIP) — indywidualny adres IP każdego hosta, używany do zarządzania i komunikacji między węzłami.
- Sterownik NLB (nlb.sys) — filtr NDIS zainstalowany na karcie sieciowej, przechwytujący ruch i podejmujący decyzje o dystrybucji.
- Heartbeat — pakiety wymieniane między hostami co 1-2 sekundy, pozwalające wykryć awarię węzła.
- Convergence — proces zbieżności, podczas którego hosty negocjują podział ruchu po zmianie składu klastra.
Mechanizm działania jest prosty: każdy host w klastrze otrzymuje każdy pakiet przychodzący na VIP. Sterownik NLB na podstawie algorytmu hashowania (bazującego na adresie IP klienta i porcie) decyduje, czy dany host powinien obsłużyć ten pakiet. Dzięki temu nie ma centralnego punktu awarii — każdy host podejmuje decyzję niezależnie.
Unicast vs Multicast vs IGMP Multicast — tryby operacji
Wybór trybu operacji to jedna z najważniejszych decyzji przy konfiguracji NLB. Każdy tryb ma swoje zalety i ograniczenia:
| Cecha | Unicast | Multicast | IGMP Multicast |
|---|
| Adres MAC | Wspólny MAC na wszystkich hostach | Dodatkowy multicastowy MAC — oryginalny zachowany | Jak Multicast + rejestracja IGMP na switchu |
| Komunikacja między hostami | Wymaga drugiej karty sieciowej | Możliwa na tej samej karcie | Możliwa na tej samej karcie |
| Switch flooding | Tak | Tak | Nie — IGMP ogranicza ruch do portów z hostami |
| Wsparcie routerów | Pełne — standardowy ARP | Wymaga statycznego ARP na routerze | Wymaga switchów i routerów wspierających IGMP |
| Najlepsze zastosowanie | Proste środowiska, hosty z 2+ NIC | Środowiska z jedną kartą sieciową | Duże środowiska, sieci ze wsparciem IGMP |
Zalecenie: W środowiskach wirtualnych (Hyper-V, VMware) zalecamy tryb Multicast, ponieważ unicast powoduje utratę komunikacji między maszynami wirtualnymi na tym samym hoście fizycznym.
Konfiguracja NLB krok po kroku
Poniżej przedstawiamy kompletną instrukcję konfiguracji klastra NLB na Windows Server 2022 — zarówno przez GUI (Server Manager), jak i PowerShell.
Wymagania wstępne
- Minimum 2 serwery z Windows Server (Standard lub Datacenter)
- Wszystkie hosty w tej samej podsieci
- Statyczne adresy IP na kartach sieciowych używanych przez NLB (DHCP jest automatycznie wyłączany)
- Wpis DNS dla adresu IP klastra (VIP)
- Odpowiednie licencje CAL Windows Server dla wszystkich łączących się klientów
Krok 1: Instalacja roli NLB
Metoda GUI (Server Manager):
- Otwórz Server Manager → kliknij Add Roles and Features
- W sekcji Features zaznacz Network Load Balancing
- Kliknij Install — restart serwera nie jest wymagany
Metoda PowerShell (zalecana):
Install-WindowsFeature NLB -IncludeManagementTools
# Wykonaj na WSZYSTKICH serwerach, ktore beda czescia klastra
Krok 2: Tworzenie klastra NLB
Metoda GUI:
- Otwórz Server Manager → Tools → Network Load Balancing Manager
- Kliknij prawym na Network Load Balancing Clusters → New Cluster
- Wpisz nazwę lub IP pierwszego hosta → kliknij Connect
- Wybierz interfejs sieciowy → Next
- Ustaw Priority (Unique Host ID) = 1 dla pierwszego hosta
- Na ekranie Cluster IP kliknij Add i wpisz wirtualny adres IP klastra
- Ustaw Full Internet Name (np. webfarm.firma.pl) i wybierz tryb operacji (Multicast)
- Skonfiguruj Port Rules (domyślnie: 0-65535, wszystkie porty)
- Kliknij Finish
Metoda PowerShell:
# Tworzenie nowego klastra NLB
New-NlbCluster -InterfaceName "Ethernet" -ClusterName "WebFarm" -ClusterPrimaryIP "192.168.1.100" -SubnetMask "255.255.255.0" -OperationMode "Multicast"
# Dodawanie drugiego hosta do klastra
Add-NlbClusterNode -InterfaceName "Ethernet" -NewNodeName "Server02" -NewNodeInterface "Ethernet"
# Sprawdzenie stanu klastra
Get-NlbCluster | Get-NlbClusterNode
Krok 3: Konfiguracja reguł portów (Port Rules)
Reguły portów określają, które porty i protokoły mają być równoważone. Domyślna reguła obejmuje wszystkie porty — w produkcji warto ją zawęzić:
# Usuniecie domyslnej reguly (wszystkie porty)
Get-NlbClusterPortRule | Remove-NlbClusterPortRule -Force
# Regula dla HTTP/HTTPS (porty 80 i 443)
Add-NlbClusterPortRule -StartPort 80 -EndPort 80 -Protocol "TCP" -Mode "Multiple" -Affinity "Single" -EqualLoad
Add-NlbClusterPortRule -StartPort 443 -EndPort 443 -Protocol "TCP" -Mode "Multiple" -Affinity "Single" -EqualLoad
# Blokada niechcianego portu (np. Telnet)
Add-NlbClusterPortRule -StartPort 23 -EndPort 23 -Protocol "Both" -Mode "Disabled"
Tryby filtrowania (Affinity)
| Affinity | Opis | Kiedy używać |
|---|
| None | Każde żądanie może trafić na inny host | Aplikacje w pełni bezstanowe, maksymalne rozłożenie obciążenia |
| Single | Żądania z jednego IP klienta trafiają do jednego hosta | Aplikacje z sesjami (domyślne i zalecane) |
| Network (Class C) | Żądania z tej samej podsieci /24 trafiają do jednego hosta | Klienci za proxy/NAT w tej samej podsieci |
NLB vs Failover Clustering — porównanie technologii HA
Windows Server oferuje dwie główne technologie wysokiej dostępności. Ich wybór zależy od typu aplikacji:
| Cecha | NLB | Failover Clustering |
|---|
| Typ aplikacji | Bezstanowe (web, FTP, VPN) | Stanowe (SQL, Exchange, Hyper-V) |
| Model działania | Active-Active (wszystkie węzły obsługują ruch) | Active-Passive (failover po awarii) |
| Maks. węzłów | 32 | 64 |
| Wspólny storage | Nie wymagany | Wymagany (SAN, S2D, iSCSI) |
| Active Directory | Nie wymagany | Wymagany (obiekt CNO) |
| Warstwa OSI | L4 (transportowa) | Aplikacja (usługa klastrowa) |
| Edycja Windows Server | Standard i Datacenter | Standard i Datacenter |
| Czas przełączania | ~10 sekund (convergence) | Sekundy-minuty (zależy od usługi) |
Pro tip: NLB i Failover Clustering mogą współistnieć na różnych serwerach w organizacji — np. NLB dla web farmy i Failover Clustering dla bazy danych SQL Server. Jednak nigdy nie uruchamiaj obu na tym samym serwerze — Microsoft oficjalnie tego nie wspiera.
Monitorowanie i rozwiązywanie problemów
Skuteczne zarządzanie klastrem NLB wymaga monitorowania stanu węzłów i analizy logów. Oto najważniejsze narzędzia i komendy:
Sprawdzanie stanu klastra (PowerShell)
# Status wszystkich wezlow
Get-NlbClusterNode | Format-Table Name, State, StatusCode
# Szczegoly klastra
Get-NlbCluster | Format-List *
# Reguly portow
Get-NlbClusterPortRule | Format-Table StartPort, EndPort, Protocol, Mode, Affinity
# Drainstop - zatrzymanie hosta z dokoczeniem aktywnych sesji
Stop-NlbClusterNode -HostName "Server01" -Drain
# Ponowne uruchomienie hosta w klastrze
Start-NlbClusterNode -HostName "Server01"
Dziennik zdarzeń (Event Log)
NLB rejestruje wszystkie zdarzenia w Event Viewer → System log, zródło: NLB. Kluczowe zdarzenia do monitorowania:
- Event ID 16 — host dołączył do klastra (convergence zakończona)
- Event ID 17 — convergence rozpoczęta (host dodany lub usunięty)
- Event ID 20 — host został wykluczony z klastra (awaria heartbeat)
- Event ID 33 — NLB nie może przypisać adresu MAC (problem z trybem unicast)
Typowe problemy i rozwiązania
| Problem | Przyczyna | Rozwiązanie |
|---|
| Hosty nie widzą się nawzajem | Tryb Unicast na jednej karcie sieciowej | Przełącz na Multicast lub dodaj drugą kartę sieciową |
| Ciągła convergence | Firewall blokuje heartbeat (port 1717/2504 UDP) | Otwórz porty heartbeat w Windows Firewall |
| Ruch trafia tylko na jeden host | Affinity ustawione na Single + klienci za NAT | Zmień Affinity na None lub Network |
| Switch flooding w sieci | Tryb Multicast bez IGMP | Włącz IGMP Multicast lub skonfiguruj statyczny ARP |
Najlepsze praktyki wdrożenia NLB
- Używaj dedykowanej karty sieciowej — w trybie Unicast karta NLB nie służy do komunikacji między hostami. Druga karta (management NIC) to standard w produkcji.
- Statyczne adresy IP — NLB wyłącza DHCP. Upewnij się, że wszystkie hosty mają statyczne IP przed konfiguracją.
- Testuj failover regularnie — używaj
Stop-NlbClusterNode -Drain do symulacji awarii w kontrolowany sposób. - Monitoruj Event Log — skonfiguruj alerty na zdarzenia ID 17 i 20 w systemie monitoringu.
- Dokumentuj konfigurację — zapisuj VIP, tryb, reguły portów i affinity.
- Nie mieszaj NLB z Failover Clustering na tym samym serwerze.
- Skonfiguruj DNS Round Robin jako dodatkową warstwę — VIP w DNS + TTL 300s.
- Aktualizuj hosty po kolei (rolling update) —
Stop-NlbClusterNode -Drain, aktualizacja, Start-NlbClusterNode.
Nowoczesne alternatywy dla NLB
NLB to sprawdzona technologia, ale w 2026 roku istnieją nowoczesniejsze rozwiązania — szczególnie jeśli infrastruktura jest hybrydowa lub chmurowa:
| Rozwiązanie | Typ | Zalety | Kiedy wybrać zamiast NLB |
|---|
| Azure Load Balancer | Chmurowy L4 | Skalowalność, health probes, diagnostyka | Środowiska Azure / hybrydowe |
| Azure Application Gateway | Chmurowy L7 | SSL offloading, WAF, routing URL | Aplikacje webowe w Azure |
| HAProxy | Open-source L4/L7 | Wysoka wydajność, elastyczność, darmowy | Linux/Windows, wymagana kontrola L7 |
| Nginx Plus | Komercyjny L7 | Reverse proxy, caching, health checks | Zaawansowane scenariusze webowe |
| Windows Server SLB (SDN) | Systemowy L3/L4 | NAT, nie-TCP, SDN integracja | Środowiska SDN / Azure Stack HCI |
| Kemp LoadMaster | Sprzętowy/wirtualny L4-L7 | Enterprise features, GEO-load balancing | Duże organizacje, globalna infrastruktura |
Podsumowanie: NLB pozostaje doskonałym wyborem dla prostych scenariuszy on-premises — web farmy IIS, bramki VPN, RDS Gateway. Jest darmowy, łatwy w konfiguracji i nie wymaga dodatkowego sprzętu. Jeśli jednak potrzebujesz równoważenia L7 (routingu opartego na URL), SSL offloadingu lub integracji z chmurą — rozważ HAProxy lub Azure Load Balancer.
Często zadawane pytania (FAQ)
Czy NLB wymaga dodatkowej licencji?
Nie. NLB jest wbudowaną funkcją Windows Server, dostępną zarówno w edycji Standard, jak i Datacenter. Jedyne wymagane licencje to licencje CAL Windows Server dla klientów łączących się z klastrem oraz licencje na sam system Windows Server na każdym hoście.
Ile serwerów mogę dodać do klastra NLB?
Maksymalnie 32 hosty w jednym klastrze NLB. W praktyce większość wdrożeń używa 2-4 węzłów. Dodanie nowego hosta nie wymaga przestoju — klaster automatycznie przeprowadza convergence.
Czy mogę używać NLB z Hyper-V?
Tak, ale z uwagami: używaj trybu Multicast (nie Unicast), włącz MAC Spoofing na wirtualnym przełączniku Hyper-V i upewnij się, że maszyny wirtualne mają statyczne adresy IP. Więcej o konfiguracji Hyper-V w naszym przewodniku po Hyper-V na Windows Server.
Jaka jest różnica między NLB a DNS Round Robin?
DNS Round Robin to prosta rotacja rekordów A — DNS serwer zwraca kolejno różne IP. Nie monitoruje zdrowia serwerów — jeśli jeden padnie, klienci nadal mogą otrzymać jego IP. NLB natomiast wykrywa awarie (heartbeat) i automatycznie wyklucza niedziałający host. NLB i DNS Round Robin mogą być używane razem dla dodatkowej redundancji.
Czy NLB obsługuje IPv6?
Tak, od Windows Server 2008 R2 NLB wspiera zarówno IPv4, jak i IPv6. Możesz dodać adresy IPv6 jako Cluster IP i konfigurować reguły portów dla ruchu IPv6.
Podsumowanie
Network Load Balancing to potężna, darmowa technologia wbudowana w Windows Server, która zapewnia wysoką dostępność i skalowalność aplikacji bezstanowych. Idealna do web farm IIS, bramek VPN, serwerów FTP i RDS Gateway — nie wymaga dodatkowego sprzętu ani oprogramowania.
Kluczowe wnioski z tego przewodnika:
- NLB = load balancing L4 dla aplikacji bezstanowych; Failover Clustering = failover dla aplikacji stanowych
- Wybierz Multicast w środowiskach wirtualnych, Unicast z dwiema kartami w fizycznych
- Affinity Single to bezpieczny domyślny — zmień na None tylko dla w pełni bezstanowych aplikacji
- Regularnie testuj failover za pomocą
Stop-NlbClusterNode -Drain - Rozważ nowoczesne alternatywy (HAProxy, Azure LB) dla scenariuszy L7 lub chmurowych
Potrzebujesz licencji Windows Server do klastra NLB?
W KluczeSoft znajdziesz oryginalne licencje Windows Server 2022 i 2025 w najlepszych cenach — z natychmiastową dostawą klucza.
Windows Server 2025 Licencje CAL
Najczesciej zadawane pytania
Ile licencji CAL potrzebuję?
Tyle ile masz użytkowników (User CAL) lub urządzeń (Device CAL) łączących się z serwerem — zależy od modelu licencjonowania.
Czym się różni Windows Server Standard od Datacenter?
Datacenter pozwala na nieograniczoną liczbę maszyn wirtualnych. Standard obejmuje maksymalnie 2 VM na licencję.
Czy Windows Server wymaga osobnych licencji dostępowych?
Tak, oprócz licencji serwerowej potrzebujesz licencji CAL (Client Access License) dla każdego użytkownika lub urządzenia.
Dodaj komentarz