Nawigacja bloga

Najnowsze posty

Certyfikaty SSL na Windows Server — IIS + Let's Encrypt [2026]
Certyfikaty SSL na Windows Server — IIS + Let's Encrypt [2026]
5 wyświetlenia 0 Lubię

W 2026 roku strona bez HTTPS to nie tylko brak kłódki w przeglądarce — to utrata pozycji w Google, ostrzeżenia dla...

Czytaj więcej
DHCP i DNS na Windows Server — konfiguracja od zera [2026]
DHCP i DNS na Windows Server — konfiguracja od zera [2026]
6 wyświetlenia 0 Lubię

DHCP i DNS to dwie usługi sieciowe, bez których żadna firmowa infrastruktura oparta na Windows Server nie może...

Czytaj więcej
Print Server na Windows Server — drukarki w firmie [2026]
Print Server na Windows Server — drukarki w firmie [2026]
6 wyświetlenia 0 Lubię

Masz 5 lub więcej drukarek w firmie i ręcznie instalujesz sterowniki na każdym komputerze? Każda wymiana urządzenia...

Czytaj więcej
Windows Admin Center — zarządzanie serwerami [2026]
Windows Admin Center — zarządzanie serwerami [2026]
5 wyświetlenia 0 Lubię

Przez ponad dekadę zarządzanie Windows Server oznaczało żonglowanie: Server Manager na stacji roboczej, kilka okienek...

Czytaj więcej
Storage Spaces Direct (S2D) — tanie macierze [Poradnik 2026]
Storage Spaces Direct (S2D) — tanie macierze [Poradnik 2026]
7 wyświetlenia 0 Lubię

Tradycyjna macierz SAN kosztuje 50–200 tys. zł. Storage Spaces Direct daje porównywalną wydajność za ułamek tej ceny...

Czytaj więcej

Network Load Balancing (NLB) na Windows Server — wysoka dostępność usług

98 Odsłony 0 Polubiony
 

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:

ScenariuszOpisWymagane komponenty
Web farmy IISWitryna firmowa lub aplikacja webowa obsługiwana przez 2-8 serwerów IISIIS, NLB, wspólny storage na pliki
VPN GatewayBramka VPN z redundancjąRRAS, NLB, certyfikaty SSL
RDS Gateway / Web AccessRównoważenie dostępu do usług pulpitu zdalnegoRDS, NLB, licencje RDS CAL
Serwery FTPFarma serwerów plików obsługująca duży ruchIIS FTP, NLB, folder DFS
Reverse Proxy / WAPWeb Application Proxy z wysoką dostępnością dla ADFSWAP, ADFS, NLB, certyfikaty
Serwery DNSRównoważenie zapytań DNS między wieloma serweramiDNS 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:

CechaUnicastMulticastIGMP Multicast
Adres MACWspólny MAC na wszystkich hostachDodatkowy multicastowy MAC — oryginalny zachowanyJak Multicast + rejestracja IGMP na switchu
Komunikacja między hostamiWymaga drugiej karty sieciowejMożliwa na tej samej karcieMożliwa na tej samej karcie
Switch floodingTakTakNie — IGMP ogranicza ruch do portów z hostami
Wsparcie routerówPełne — standardowy ARPWymaga statycznego ARP na routerzeWymaga switchów i routerów wspierających IGMP
Najlepsze zastosowanieProste ś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):

  1. Otwórz Server Manager → kliknij Add Roles and Features
  2. W sekcji Features zaznacz Network Load Balancing
  3. 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:

  1. Otwórz Server ManagerToolsNetwork Load Balancing Manager
  2. Kliknij prawym na Network Load Balancing ClustersNew Cluster
  3. Wpisz nazwę lub IP pierwszego hosta → kliknij Connect
  4. Wybierz interfejs sieciowy → Next
  5. Ustaw Priority (Unique Host ID) = 1 dla pierwszego hosta
  6. Na ekranie Cluster IP kliknij Add i wpisz wirtualny adres IP klastra
  7. Ustaw Full Internet Name (np. webfarm.firma.pl) i wybierz tryb operacji (Multicast)
  8. Skonfiguruj Port Rules (domyślnie: 0-65535, wszystkie porty)
  9. 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)

AffinityOpisKiedy używać
NoneKażde żądanie może trafić na inny hostAplikacje w pełni bezstanowe, maksymalne rozłożenie obciążenia
SingleŻądania z jednego IP klienta trafiają do jednego hostaAplikacje z sesjami (domyślne i zalecane)
Network (Class C)Żądania z tej samej podsieci /24 trafiają do jednego hostaKlienci 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:

CechaNLBFailover Clustering
Typ aplikacjiBezstanowe (web, FTP, VPN)Stanowe (SQL, Exchange, Hyper-V)
Model działaniaActive-Active (wszystkie węzły obsługują ruch)Active-Passive (failover po awarii)
Maks. węzłów3264
Wspólny storageNie wymaganyWymagany (SAN, S2D, iSCSI)
Active DirectoryNie wymaganyWymagany (obiekt CNO)
Warstwa OSIL4 (transportowa)Aplikacja (usługa klastrowa)
Edycja Windows ServerStandard i DatacenterStandard 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 ViewerSystem 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

ProblemPrzyczynaRozwiązanie
Hosty nie widzą się nawzajemTryb Unicast na jednej karcie sieciowejPrzełącz na Multicast lub dodaj drugą kartę sieciową
Ciągła convergenceFirewall blokuje heartbeat (port 1717/2504 UDP)Otwórz porty heartbeat w Windows Firewall
Ruch trafia tylko na jeden hostAffinity ustawione na Single + klienci za NATZmień Affinity na None lub Network
Switch flooding w sieciTryb Multicast bez IGMPWłącz IGMP Multicast lub skonfiguruj statyczny ARP

Najlepsze praktyki wdrożenia NLB

  1. 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.
  2. Statyczne adresy IP — NLB wyłącza DHCP. Upewnij się, że wszystkie hosty mają statyczne IP przed konfiguracją.
  3. Testuj failover regularnie — używaj Stop-NlbClusterNode -Drain do symulacji awarii w kontrolowany sposób.
  4. Monitoruj Event Log — skonfiguruj alerty na zdarzenia ID 17 i 20 w systemie monitoringu.
  5. Dokumentuj konfigurację — zapisuj VIP, tryb, reguły portów i affinity.
  6. Nie mieszaj NLB z Failover Clustering na tym samym serwerze.
  7. Skonfiguruj DNS Round Robin jako dodatkową warstwę — VIP w DNS + TTL 300s.
  8. 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ązanieTypZaletyKiedy wybrać zamiast NLB
Azure Load BalancerChmurowy L4Skalowalność, health probes, diagnostykaŚrodowiska Azure / hybrydowe
Azure Application GatewayChmurowy L7SSL offloading, WAF, routing URLAplikacje webowe w Azure
HAProxyOpen-source L4/L7Wysoka wydajność, elastyczność, darmowyLinux/Windows, wymagana kontrola L7
Nginx PlusKomercyjny L7Reverse proxy, caching, health checksZaawansowane scenariusze webowe
Windows Server SLB (SDN)Systemowy L3/L4NAT, nie-TCP, SDN integracjaŚrodowiska SDN / Azure Stack HCI
Kemp LoadMasterSprzętowy/wirtualny L4-L7Enterprise features, GEO-load balancingDuż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

Polecane produkty

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.

 
Czy ten wpis na blogu był dla Ciebie pomocny?

Dodaj komentarz

Kod zabezpieczający
z VAT
🛒 Do koszyka