www.SAMURAJ-cz.com 

03.08.2021 Miluše Translate to English by Google     VÍTEJTE V MÉM SVĚTĚ

Články

FortiGate NAT64 - publikace serveru s interní IPv4 na IPv6

Středa, 02.12.2020 10:57 | Samuraj - Petr Bouška |
Obecně se nedoporučuje používat pro IPv6 žádnou formu překladu adresu (NAT). Lepší by bylo využít například Dual Stack a IPv6 adresy mít na Front End serverech spolu s IPv4. Ale mohou nastat situace, kdy potřebujeme co nejjednodušším způsobem zajistit dostupnost existující služby přes IPv6. K dispozici máme NAT64, kdy do IPv6 sítě zveřejníme adresu, kterou překládáme na existující interní IPv4 adresu. Na serverech není třeba žádná změna. Bohužel NAT64 Policy na FortiGate má řadu omezení, hlavně nepodporuje žádné Security Profiles.

Pozn.: Popis v článku vychází z FortiGate FG-300E s FortiOS verzí 6.2.5. Který je nakonfigurovaný jako FGCP cluster a využívá VDOM.

Překlad adres mezi protokoly IPv4 a IPv6

Network Address Translation (NAT) je označení pro překlad adres. Termín NAT je většinou míněn pro překlad zdrojové nebo cílové IPv4 adresy na jinou zdrojovou nebo cílovou IPv4 adresu (pouze výjimečně se používá označení NAT44). V rámci protokolu IPv4 je hojně využíván, hlavně pro překlad neveřejných a veřejných IP adres. NAT66 označuje podobně překlad IPv6 adres. Protože je IPv6 adres dostatek, tak není potřeba jej pro tento účel používat.

Speciální případy jsou překlad adres mezi protokoly IPv4 a IPv6. Zjednodušeně řečeno máme na jednom rozhraní Firewallu síť s IPv6 adresami a na druhém s IPv4 adresami, a chceme umožnit vzájemnou komunikaci.

NAT64 označuje překlad zdrojové a cílové IPv6 adresy na zdrojovou a cílovou IPv4 adresu. NAT46 opačně překlad zdrojové a cílové IPv4 adresy na zdrojovou a cílovou IPv6 adresu. V hlavičce paketu IPv4/IPv6 protokolu můžeme vždy použít pouze odpovídající adresy (IPv4 nebo IPv6). Proto musí docházet k překladu zdrojové i cílové adresy (Source NAT + Destination NAT). Také se musí řešit, jak adresovat cíl s adresou na jiném protokolu.

NAT64 - překlad IPv6 na IPv4

V článku si popíšeme konfiguraci metody NAT64 pro publikaci serveru s neveřejnou IPv4 adresou na IPv6 adresu v internetu.

V praxi můžeme řešit dvě situace, kde využijeme NAT64:

  • publikace IPv4 serveru do IPv6 sítě - v interní síti používáme IPv4 adresy, na firewallu nastavíme překlad určité IPv6 adresy (na odpovídajícím externím rozhraní) na interní IPv4 adresu serveru. V případě IPv4 NATu by šlo o Destination NAT.
  • komunikace IPv6 klientů na IPv4 adresy - v interní síti používáme IPv6 adresy, potřebujeme komunikovat na IPv4 adresy v internetu. Podobně jako při použití neveřejných IPv4 adres a komunikaci na veřejné IPv4 adresy s použitím Source NAT. Zde je problém, že klient nemůže zadat cílovou IPv4 adresu. Řeší se to mapováním IPv4 adresy na IPv6 adresu. Použijeme definovaný 96 bitový prefix, ke kterému doplníme 32 bitů IPv4 adresy. Firewall provede NAT64 a komunikuje do IPv4 sítě. K tomu se využívá DNS Proxy (DNS64), která upravuje odpovědi na DNS dotazy (vytvoří mapovanou IPv6 adresu).

NAT46 - Překlad IPv4 na IPv6

Pro NAT46 musíme vždy definovat překlad určité IPv4 adresy na IPv6 adresu. Teoreticky mohou být opět dvě situace:

  • publikace IPv6 serveru do IPv4 sítě - v interní síti používáme IPv6 adresy, do internetu použijeme IPv4 adresu, kterou překládáme na IPv6 adresu serveru.
  • komunikace IPv4 klientů na IPv6 adresy - v interní síti používáme IPv4 adresy, potřebujeme umožnit komunikaci na nějakou IPv6 adresu. Definujeme interní IPv4 adresu (tu použijí klienti), kterou překládáme na cílovou IPv6 adresu.

Dual Stack - IPv4 a IPv6

Pokud potřebujeme řešit IPv4 i IPv6, tak je obecně lepší využít implementaci Dual Stack. Je to označováno jako jedna z metod přechodu z IPv4 na IPv6 (další možnosti jsou NATy a tunely). Dual Stack znamená, že v operačním systému běží kompletně protokol IPv4 i IPv6. Celá síťová infrastruktura musí podporovat oba protokoly a být správně nastavena. Zařízení mají IPv4 i IPv6 adresu a pro komunikaci s dalšími mohou využít oba protokoly.

DNS se využívají A záznamy pro IPv4 adresy a AAAA záznamy pro IPv6 adresy. Pro FQDN může existovat záznam jednoho i obou typů. Klienti musí mít definováno, zda preferují IPv4 nebo IPv6. Preferováno by mělo být IPv6.

Pokud implementujeme Dual Stack, tak to znamená, že musíme vše konfigurovat dvakrát. Hlavně v případě Firewallu na perimetru musíme definovat nové politiky. Není vždy jasné, kudy půjde určitá komunikace, protože cíl může mít obě adresy. Proto je složitější i monitoring a debug. Z těchto důvodů může být pro některé účely jednodušší použít NAT64.

Konfigurace IPv6 a NAT64 na FortiGate

Dokumentace

Oficiální dokumentace je opět nevalná. Hlavní popis je u FortiOS 6 úplně stejný jako u FortiOS 5.6, včetně informace, že se vše musí konfigurovat v CLI. Přitom již FortiOS 5.6 dovoluje vše, co je popsáno v tomto článku, konfigurovat v GUI. Ale existují další konfigurace, které se musí provést v CLI.

Online testy IPv6

Konfigurace pomocí GUI

Zapnutí vlastnosti IPv6

  • (Global) > System > Feature Visibility - IPv6
FortiGate - Feature Visibility - IPv6

Zapnutí vlastnosti NAT46 & NAT64

  • (VDOM) > System > Feature Visibility - NAT46 & NAT64
FortiGate - Feature Visibility - NAT46 & NAT64

Nastavení IPv6 adresy na interface

  • (Global/VDOM) > Network > Interfaces
  • IPv6 Address/Prefix - na daný interface do internetu zadáme IPv6 adresu s maskou
  • Administrative access - IPv6 - PING - pro testy můžeme povolit PING
FortiGate - Interfaces IPv6 adresa

Nastavení statické routy (Default Gateway / Route) pro IPv6 (případně přes SD-WAN, pokud používáme)

  • (Global/VDOM) > Network > Static Routes
  • Create New - IPv6 Static Route - pro cíl ::/0 zadáme adresu brány a rozhraní
FortiGate - IPv6 Static Route

Vytvoření Virtual IP typu NAT64

  • (VDOM) > Policy & Objects > Virtual IPs
  • Create New - Virtual IP
  • VIP type - NAT64
  • zadáme externí IPv6 adresu a na jakou IPv4 adresu mapujeme
FortiGate - NAT64 Virtual IP

Zapnutí logování zahozeného IPv6 provozu (volitelně)

  • (VDOM) > Policy & Objects > IPv6 Policy
  • editujeme pravidlo Implicit Deny
  • povolíme Log Violation Traffic
FortiGate - logování zahozeného IPv6 provozu

Vytvoření NAT64 politiky

  • (VDOM) > Policy & Objects > NAT64 Policy
  • standardně vyplníme příchozí a odchozí rozhraní, zdrojové adresy (all)
  • jako cíl zadáme vytvořenou NAT64 Virtual IP
  • standardně nastavíme několik dalších voleb, hlavně povolené služby
  • povinně je zapnutý Source NAT, můžeme volit na jaké adresy se překládá

Pozn.: Nechápu, proč jsou NAT64 Policy tolik omezené. Nemůžeme zadat jméno politiky. Hlavně, že není možno použít žádný Security Profile.

Pozn.: Pokud chceme povolit PING, tak musíme použít PING6, který používá protokol ICMP6. Ten je na FortiOS definovaný, ale skrytý. Nalezneme jej v Policy & Objects > Services a musíme povolit Show in Service List.

FortiGate - NAT64 Policy

Povolení NAT64 přeposílání

Dokud nepovolíme NAT64 Forwarding, tak se NAT64 politiky nebudou používat.

  • (VDOM) > Policy & Objects > NAT64 Policy
  • vpravo nahoře přepínač NAT64 Forwarding
FortiGate - NAT64 Forwarding

Ping IPv6 adresy v CLI

Pokud máme na FortiGate správně nakonfigurován protokol IPv6, tak můžeme zkusit ping na nějakou adresu v internetu. Můžeme využít přímo IPv6 adresu nebo FQDN, které se přeloží.

execute ping6 2a00:1450:4014:801::2004

FW1 (FWEXT) # execute ping6 www.google.com
PING www.google.com(2a00:1450:4014:801::2004) 56 data bytes
64 bytes from 2a00:1450:4014:801::2004: icmp_seq=1 ttl=119 time=0.856 ms
64 bytes from 2a00:1450:4014:801::2004: icmp_seq=2 ttl=119 time=0.904 ms
64 bytes from 2a00:1450:4014:801::2004: icmp_seq=3 ttl=119 time=0.870 ms
64 bytes from 2a00:1450:4014:801::2004: icmp_seq=4 ttl=119 time=0.850 ms
64 bytes from 2a00:1450:4014:801::2004: icmp_seq=5 ttl=119 time=0.858 ms
--- www.google.com ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss, time 4003ms
rtt min/avg/max/mdev = 0.850/0.867/0.904/0.037 ms
zobrazeno: 2050krát | Komentáře [1]

Autor:

Související články:

Fortinet FortiGate a další

Bezpečnostní řešení firmy Fortinet. Nejvíce zaměřeno na Next Generation Firewall (NGFW) FortiGate.

Bezpečnost

Nástroje zajišťující bezpečnost. Primárně Firewall a podobné.

Pokud se Vám článek líbil, tak mne potěšíte, když uložíte odkaz na některý server:

Pokud se chcete vyjádřit k tomuto článku, využijte komentáře níže.

Komentáře

  1. [1] Michal

    Díky za skvělý článek, budu rád, když budeš s Fortinetem pokračovat!

    Čtvrtek, 03.12.2020 08:51 | odpovědět
Přidat komentář

Vložit tag: strong em link

Vložit smajlík: :-) ;-) :-( :-O

Nápověda:
  • maximální délka komentáře je 2000 znaků
  • HTML tagy nejsou povoleny (budou odstraněny), použít se mohou pouze speciální tagy (jsou uvedeny nad vstupním polem)
  • nový řádek (ENTER) ukončí odstavec a začne nový
  • pokud odpovídáte na jiný komentář, vložte na začátek odstavce (řádku) číslo komentáře v hranatých závorkách