RFC 3022: NAT – Ako funguje preklad adries v praxi

V síťových kurzech jako CCNA či CCNP se určitě setkáte s pojmem NAT – Network Address Translation. Tento protokol umožňuje více zařízením v soukromé síti používat jednu veřejnou IPv4 adresu – bezpečně a efektivně. Dokument RFC 3022 popisuje tzv. „Traditional NAT“, včetně portové verze (NAPT/PAT) spolu s detaily o korekci kontrolních součtů. V tomto rozšířeném průvodci si krok za krokem rozebereme statický NAT, dynamický NAT i PAT, ukážeme debug výstupy a Cisco konfigurace – abyste vše zvládli v praxi i v labu.

Co je RFC 3022 a proč je důležité?

RFC 3022 (leden 2001) navazuje na předchozí RFC 1631 a definuje tzv. „traditional NAT“, tedy základní překlad mezi soukromými a veřejnými IP adresami. Obsahuje také rozšíření o porty (NAPT), což umožňuje simultánní překlad stovek interních klientů na jedinou veřejnou IP.

Hlavním účelem NAT je šetřit vzácné veřejné IPv4 adresy, a zároveň poskytovat základní vrstvu izolace mezi interní a externí sítí. Podle oficiálního abstraktu RFC 3022 umožňuje NAT „many-to-one mapping of private to public addresses and ports“.

Typy NAT dle RFC 3022

Detaily Traditional NAT a NAPT

Traditional NAT překládá pouze IP adresu a upravuje kontrolní součty přenášených paketů. NAPT navíc mění portová čísla v TCP/UDP hlavičkách, čímž umožňuje many-to-one překlad – protože kombinace IP + port definuje unikátní spojení.

Příklad výpočtu: Při odchozím paketu je upravena i transportní checksum – router přepočítá checksum po přepsání zdrojové IP a portu.

Typická NAT konfigurace na Cisco

!-- Statický NAT (interní server):
ip nat inside source static 192.168.1.10 203.0.113.10

!-- Dynamický NAT s pool:
ip nat pool DYN_POOL 203.0.113.20 203.0.113.30 prefix-length 24
access-list 100 permit 192.168.1.0 0.0.0.255
ip nat inside source list 100 pool DYN_POOL

!-- PAT (NAPT) – nejčastěji používané:
access-list 101 permit 192.168.1.0 0.0.0.255
ip nat inside source list 101 interface GigabitEthernet0/1 overload

Pomocí debug příkazů sledujeme NAT překlady:

debug ip nat translation
debug ip packet detail
show ip nat translations

Omezení a úskalí Traditional NAT

Praktické scénáře

Scénář 1: Server dostupný z internetu

Interní server 192.168.1.10 má být dosažitelný z internetu.
Aplikujeme statický NAT na 203.0.113.10 → umožní příchozí spojení.

Scénář 2: Mnoho klientů na internetu

Domácí síť 192.168.1.0/24 → PAT
každý klient může současně surfovat,
externí spojení funguje díky unikátním portům.

Debug NAT – co sledovat?

FAQ – Často kladené otázky

  1. Mění NAT vždy porty?
    Ne – statický NAT mění pouze adresu, ale PAT (NAPT) mění i porty kvůli multiplexu.
  2. Proč zpětné spojení přes NAT nefunguje?
    Nesprávné směrování nebo neexistující session mapping – vše musí jít přes stejný NAT router.
  3. Funguje NAT i pro IPv6?
    Ne – IPv6 používá jiné koncepty (např. NAT66 není běžný). IPv6 preferuje end-to-end konektivitu.
  4. Kdy použít statický, dynamický NAT a PAT?
    Statický – pro servery, Dynamický – pro skupiny, PAT – pro běžný přístup více klientů na internet.
  5. Je NAT firewall?
    Ne – NAT pouze „skrývá“ IP adresy, ale nefiltruje provoz. O to se stará firewall.

Top 5 zajímavých faktů o NAT dle RFC 3022

  1. NAPT umožňuje stovkám zařízení používat jednu veřejnou IP – zásadní úspora adres.
  2. RFC 3022 opravuje chyby v checksum přepočtech – zajišťuje stabilitu překladů.
  3. Traditional NAT je jednosměrný – překlady vznikají při odchozím spojení.
  4. Kontrolní součty na transportní vrstvě se přepočítávají – aby prošly validací.
  5. Bez ALG může NAT rozbít protokoly jako SIP nebo FTP – protože neřeší embedded IP/port informace.

Závěr

RFC 3022 – Traditional NAT je klíčovým stavebním kamenem dnešního IPv4 internetu. Statický NAT zajišťuje dostupnost serverů zvenčí, dynamický NAT přiděluje veřejné adresy dle potřeby a PAT umožňuje stovkám zařízení sdílet jednu IP. Ale pozor – NAT není firewall, vyžaduje debugování a správné scénáře. Pokud se připravujete na CCNA/CCNP nebo budujete síť, naučte se NAT správně konfigurovat – od základů až po ladění v labu.

Jak začít programovat?

Úvod do programování pro každého bez předchozích znalostí.

Stáhněte si náš ebook teď výjimečně zdarma!!!

Viac informacií preberáme na kurze:

Kurz NA3 - Základy překladu adres NAT/PAT a základní firewall

Marián Knězek