IPv6 szolgáltatások biztosítása belső routolt IPv6 nélkül

Sok helyen az a cél, hogy a szolgáltatások IPv6-on is elérhetők legyenek, miközben a belső infrastruktúra és a meglévő IPv4-alapú működés minimálisan változzon. Az erre kínált tipikus megoldások egy külső IPv6 prefixet delegálnak a belső hálózat felé, így a korábban NAT mögött lévő és közvetlenül nem elérhető eszközök globálisan routolható IPv6 címet kapnak. Ekkor a védelem elsődlegesen a megfelelően kialakított tűzfalszabályokra hárul, ami hibás konfiguráció esetén jelentős biztonsági kockázatot jelenthet.

Ebben a cikkben egy olyan UniFi UDM-SE alapú megoldást mutatok be, amely lehetővé teszi az IPv6-os szolgáltatáselérést anélkül, hogy a belső hálózat bármely eszköze közvetlenül elérhetővé válna az internet felől. A megoldás ULA-alapú belső IPv6 címezést használ, így a belső rendszerek továbbra is elszigeteltek maradnak, miközben a kívánt szolgáltatások IPv6-on is publikálhatók.

Hardver és szoftver (csak a lényeg)

  • Gateway: UniFi Dream Machine SE (UDM-SE / UDMPROSE)
  • UniFi Network alkalmazás verzió: 10.4.57
  • Gateway firmware: 5.1.12.33239

Kiinduló szolgáltatási portok

Az internet felől jelen példában csak három szolgáltatás publikus:

Szolgáltatás Külső port Belső cél (IPv4) Belső cél (ULA IPv6)
Web 80/TCP 10.20.30.10:80 [fd42:1234:5678:30::10]:80
Web TLS 443/TCP 10.20.30.10:443 [fd42:1234:5678:30::10]:443
DNS 53/TCP+UDP 10.20.30.53:53 [fd42:1234:5678:30::53]:53

Koncepció röviden

  • A publikus oldalon a WAN címek fogadják a forgalmat (IPv4 + IPv6).
  • A belső szolgáltatások IPv6-on ULA címet kapnak (fd42:1234:5678:30::/64).
  • A web és DNS szolgáltatás az UDM policy/NAT rétegen keresztül érhető el.
  • Az IPv6 oldalon a hozzáférést szabályok (policy-k) határozzák meg; nem „minden nyitott”.

Adatfolyam ábra (felülről lefelé)

Internet kliensek
  |
  |-- IPv4 cél: 203.0.113.10 (WAN)
  |-- IPv6 cél: 2001:db8:100:200::10 (WAN)
  v
UDM-SE (Policy + NAT/NAT66)
  |
  |-- 80/443 -> Web szolgáltatás
  |      IPv4: 10.20.30.10
  |      IPv6 ULA: fd42:1234:5678:30::10
  |
  |-- 53/tcp+udp -> DNS szolgáltatás
         IPv4: 10.20.30.53
         IPv6 ULA: fd42:1234:5678:30::53

Egyszerűsített, ugyanúgy top-bottom nézet:

Kulso WAN (203.0.113.10 / 2001:db8:100:200::10)
                    |
                    v
            UDM-SE policy reteg
                    |
        +-----------+-----------+
        |                       |
        v                       v
Web: 10.20.30.10            DNS: 10.20.30.53
Web: fd42:...::10           DNS: fd42:...::53
Ports: 80,443               Port: 53/tcp+udp

UDM fókusz: pontosan mit kell beállítani

Ez a legfontosabb rész. A menüpontok és mezők verziótól függően kicsit eltérhetnek, de a logika és a szükséges elemek ugyanazok.

1) WAN IPv6 bekapcsolása

Menü: Settings > Internet > [WAN] > IPv6 Configuration

Mező Javasolt érték Megjegyzés
IPv6 Connection DHCPv6 (vagy ISP szerint SLAAC/Static) ISP dokumentáció alapján
Prefix Delegation Size /56 (vagy amit az ISP ad) Tipikus érték: /56
DHCPv6 Client Options Disabled (ha ISP nem kéri) Csak ISP specifikus esetben kell
DHCPv6 CoS Default/Auto Csak speciális ISP esetben módosítsd

2) LAN oldali IPv6 + ULA kiosztás

Menü: Settings > Networks > [Service Network] > IPv6

Mező Javasolt érték Megjegyzés
Interface Type Prefix Delegation vagy Static ISP és tervezés szerint
Additional IPs ULA tartományból pl. fd42:1234:5678:30::/64
Client Address Assignment SLAAC széles kliens kompatibilitás
Router Advertisement Enabled kliens oldali IPv6 működéshez
RA Priority Medium/High több router esetén fontos

3) Policy-k: bejövő IPv6 forgalom kontroll

Menü: Settings > Policy Table (vagy verziótól függően Firewall & Security)

A minimálisan szükséges bejövő szabályok:

# Policy neve IP Version Action Source Destination Port/Proto
1 allow-ipv6-web-80 IPv6 ALLOW WAN fd42:1234:5678:30::10 80/TCP
2 allow-ipv6-web-443 IPv6 ALLOW WAN fd42:1234:5678:30::10 443/TCP
3 allow-ipv6-dns-53 IPv6 ALLOW WAN fd42:1234:5678:30::53 53/TCP+UDP
4 allow-established-related IPv6 ALLOW ANY ANY Established/Related
5 drop-all-other-ipv6-in IPv6 DROP WAN ANY ANY

4) NAT66 (ha ULA-ból fordítasz globális IPv6-ra)

Menü: Settings > Policy Table > Create New Policy > NAT

Az alábbi táblában kifejezetten a fenti példához tartozó NAT66 policy nevek és beállítások szerepelnek:

Policy név Szolgáltatás Forrás (ULA) Cél Fordított (publikus) IPv6 Port/protokoll Logging
nat66-web-80 Web HTTP fd42:1234:5678:30::10/128 Any 2001:db8:100:200::10 80/TCP Enabled
nat66-web-443 Web HTTPS fd42:1234:5678:30::10/128 Any 2001:db8:100:200::10 443/TCP Enabled
nat66-dns-53 DNS fd42:1234:5678:30::53/128 Any 2001:db8:100:200::53 53/TCP+UDP Enabled

Űrlapmező szinten ugyanez így néz ki:

Mező nat66-web-80 nat66-web-443 nat66-dns-53
Name nat66-web-80 nat66-web-443 nat66-dns-53
IP Version IPv6 IPv6 IPv6
Type NAT66 / SNAT NAT66 / SNAT NAT66 / SNAT
Source fd42:1234:5678:30::10/128 fd42:1234:5678:30::10/128 fd42:1234:5678:30::53/128
Destination Any Any Any
Translated Address 2001:db8:100:200::10 2001:db8:100:200::10 2001:db8:100:200::53
Service / Port Match 80/TCP 443/TCP 53/TCP+UDP
Logging Enabled Enabled Enabled

Részletes példa (egy konkrét policy): nat66-web-443
– Menu: Settings > Policy Table > Create New Policy
– Category: NAT
– Name: nat66-web-443
– IP Version: IPv6
– NAT Type: NAT66 / SNAT
– Source Zone: LAN (vagy a megfelelő belső zóna)
– Source Address: fd42:1234:5678:30::10/128
– Destination: Any
– Protocol: TCP
– Destination Port: 443
– Translated Address: 2001:db8:100:200::10
– Logging: Enabled
– Rule Order: a NAT66 policy-k maradjanak együtt, és a túl tág catch-all NAT szabályok elé kerüljenek.

DNS (AAAA) – csak amit muszáj

A DNS zónákban az IPv6 publikáláshoz AAAA rekordok szükségesek. A cikkben szándékosan nincs konkrét domain/cím példa; a lényeg, hogy a publikusan elérendő hostnevekhez legyen AAAA rekord, és ez illeszkedjen az UDM policy/NAT66 tervhez.

Tesztelés: parancs + logellenőrzés

Ha van IPv6-routolt külső géped, onnan ellenőrizz:

curl -6 -I https://sajat-domain.tld
curl -6 -I http://sajat-domain.tld
dig AAAA sajat-domain.tld +short
dig -6 @sajat-dns.tld sajat-domain.tld AAAA +short

Valódi validációhoz nézd a logokat, és szűrj IPv6 címekre:

# UDM / syslog / app log példa szűrés
grep -E '([0-9a-fA-F]{1,4}:){2,}[0-9a-fA-F]{1,4}' /var/log/*.log

# Web log IPv6 találatok (nginx/apache minták)
grep -E '([0-9a-fA-F]{1,4}:){2,}[0-9a-fA-F]{1,4}' /var/log/nginx/access.log
grep -E '([0-9a-fA-F]{1,4}:){2,}[0-9a-fA-F]{1,4}' /var/log/apache2/access.log

# DNS log IPv6 ügyfélcímek
grep -E 'client.*([0-9a-fA-F]{1,4}:){2,}[0-9a-fA-F]{1,4}' /var/log/*dns*.log

Ha a szabályok jók, akkor a 80/443/53 forgalomnál látsz IPv6 klienseket, miközben a tiltott bejövő próbálkozások a „drop-all-other-ipv6-in” policy-n akadnak.

Technikai háttér (UniFi réteg) röviden

  • Az UDM-SE kezeli a WAN IPv6 kapcsolatot (DHCPv6/SLAAC/Static) és a delegált prefixet.
  • A LAN oldalon ULA és/vagy PD prefix osztható ki.
  • A forgalmi kontroll policy-alapon történik (IPv6 firewall szabályok sorrenddel).
  • NAT66 opcionális: akkor hasznos, ha belső ULA címeket globális IPv6 felé kell fordítani.
  • A működés kulcsa a pontos szabálykészlet és a rule order, nem a „default open” szemlélet.

Hivatalos UniFi források

Összefoglalás

Ha a cél az IPv6 elérés kontrollált bevezetése, akkor UDM oldalon a legfontosabb a WAN IPv6, a LAN ULA/PD tervezés, a pontos 80/443/53 szabályok, és a rule order. A többi (DNS AAAA, teszt, logvalidáció) erre épül.

Vélemény, hozzászólás?

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük