Protokol 41: IPv6 i IPv4 — indkapsling, brug og eksempler

Protokol 41: Forklaring af IPv6 i IPv4, tunnelmetoder (6in4, 6to4, 6rd), brug og eksempler til nem IPv6-implementering.

Forfatter: Leandro Alegsa

Protokol 41 er en kommunikationsprotokol, som indlejrer pakker fra Internet Protocol version 6 (IPv6) i pakker fra Internet Protocol version 4 (IPv4). Den bruges typisk til at give en computer eller router, der kun har en offentlig IPv4-adresse, mulighed for at få en IPv6-forbindelse (enten som én adresse eller et net, afhængigt af tjenesten). De fleste IPv6-tunneludbydere understøtter protokol 41, herunder Hurricane Electric; bemærk dog, at nogle tidligere populære tjenester som SixXS har lukket deres tunnelbroker-tjeneste. 6to4, 6rd og 6in4 er alle forskellige måder at bruge protokol 41 på. Protokol 41 bruger ikke TCP eller UDP (selv om IPv6-pakkerne indeni kan bære TCP- og UDP-trafik). Den skal ikke forveksles med TCP- eller UDP-portnummer 41.

 

Hvordan virker indkapsling (IPv6-over-IPv4)

Ved indkapsling placeres et helt IPv6-pakke (inklusive eventuelle IPv6-extension headers) som payload i en IPv4-pakke. I IPv4-hovedet sættes feltet Protocol til værdien 41, hvilket angiver, at indholdet er en IPv6-pakke. Modtageren af IPv4-pakken afkapsler (fjerner) IPv4-hovedet og behandler den indre IPv6-pakke som almindelig IPv6-trafik.

Krav og almindelige begrænsninger

  • Offentlig IPv4-adresse: For at en statisk 6in4-tunnel (protokol 41) fungerer pålideligt kræves typisk en offentlig, routbar IPv4-adresse på den ene eller begge ender. Bag NAT vil protokol 41 ofte bryde, fordi mange NAT-enheder ikke videresender protocol 41-trafik.
  • NAT-problemer: Hvis du står bag en almindelig hjemmerouter/NAT, vil protokol 41 ofte blive blokeret. Der findes workarounds (f.eks. UDP-encapsulering eller specifikke NAT-algoritmer), men de er ikke universelle.
  • MTU og fragmentering: Indkapslingen lægger et ekstra IPv4-hoved ovenpå IPv6-pakken, hvilket mindsker den effektive MTU for IPv6-trafik (typisk ~20 byte mindre ved standard IPv4-hovedet). Det kan føre til fragmentering eller behov for Path MTU Discovery / MSS-clamping for at undgå problemer med større pakker.
  • Sikkerhed og filtrering: Protokol 41-trafik kan blive filtreret af ISP'er eller sikkerhedsudstyr. Protokollen tilbyder ikke kryptering eller autentifikation i sig selv — brug evt. IPsec eller anden tunneling over UDP/TCP, hvis sikkerhed/fortrolighed er nødvendig.

Almindelige anvendelsesformer

  • 6in4: Simpel, statisk tunneletering af IPv6 i IPv4 ved hjælp af protokol 41. Ofte anvendt af tunnelbrokers (fx Hurricane Electric) til at give kunder IPv6-adresser.
  • 6to4: Automatisk metode hvor et 2002::/16-baseret prefix udledes af IPv4-adressen (IPv4 indlejres i IPv6-adressen). 6to4 kræver adgang til 6to4-relæer og er i mange netværk ikke anbefalet/aktivt pga. drift og pålidelighedsproblemer.
  • 6rd: En variant udviklet for ISP'er, som giver dem mulighed for at dele IPv6-prefixer til kunder via indkapsling i IPv4. 6rd er designet til at være kontrolleret af ISP'en og er mere robust end 6to4 i en ISP-deployment.

Eksempler på opsætning

Her er nogle typiske opsætnings-eksempler. Udskift placeholder-adresser med de rigtige værdier fra din tunneludbyder eller din modpart.

Linux (brug af SIT-driver til 6in4)

 # Opret tunnel med remote/endepunkt og lokal IPv4 ip tunnel add tun0 mode sit remote  local  ttl 64 ip link set dev tun0 up # Tildel IPv6-adresse/prefix ip addr add / dev tun0 # Sæt standardrute for IPv6 via tunnellen (eller via providerens IPv6-gateway) ip -6 route add ::/0 dev tun0 

Eksempel (Hurricane Electric)

 ip tunnel add he-ipv6 mode sit remote  local  ip link set he-ipv6 up ip addr add /64 dev he-ipv6 ip -6 route add ::/0 dev he-ipv6 

Windows (netsh) — grundlæggende v6v4-tunnel

 netsh interface ipv6 add v6v4tunnel "MinTunnel"   netsh interface ipv6 add address "MinTunnel"  netsh interface ipv6 add route ::/0 "MinTunnel"    (hvis nødvendigt) 

Sikkerhed, drift og bedste praksis

  • Kontroller, at ISP'en tillader protocol 41-trafik. Hvis din router sidder bag CGNAT eller lignende, virker protokol 41 ofte ikke.
  • Brug PMTUD (Path MTU Discovery) og/eller MSS-clamping for at undgå fragmenteringsproblemer på TCP-forbindelser.
  • Overvej alternative tunneler (f.eks. UDP-baserede tunnels som Teredo eller WireGuard/IPsec) hvis NAT/gælder-firewall blokerer protokol 41.
  • Begræns adgang via firewall-regler på tunnel-grænsefladen efter behov (hvilke IPv6-protokoller og porte der må passere).

Fejlfindingstips

  • Prøv at ping’e remote IPv4-endepunktet fra din værtsmaskine for at bekræfte IPv4-connectivity.
  • Check at IPv4-hovedet i indkapslede pakker ikke bliver ændret/filtreret af NAT eller firewall.
  • Brug tcpdump/wireshark og filtrer på "ip proto 41" for at se protokol 41-trafik (f.eks. tcpdump -i eth0 'ip proto 41').
  • Tjek MTU og fragmenteringsfejl (ICMP "Fragmentation needed" kan indikere PMTUD-problemer).

Sammenfattende er protokol 41 en enkel, effektiv måde at få IPv6-trafik over et IPv4-netværk via indkapsling. Den er udbredt til statiske tunneller (6in4) og som fundament i teknikker som 6rd, men den kan være upraktisk bag NAT eller restriktive netværk, og derfor bør man altid teste drift og MTU i sit miljø.

6to4

6to4 er en særlig anvendelse af protokol 41. En 6to4-adresse starter med cifrene 2002 efterfulgt af routerens IPv4-adresse. En 6to4-adresse kan se således ud: 2002:CB00:71FF:0:fe64:3486:d398:3346

 

Relaterede sider

  • Teredo-tunnelering
 


Søge
AlegsaOnline.com - 2020 / 2025 - License CC3