Hogyan lehet több millió publikus ip címem?

írta: btz, 7 éve

Hogyan lehet minden egyes hálózati eszközömnek (PC, Tablet, Teló, IP kamera) egyedi ip címe, amit NAT-olás és DDNS használata nélkül elérek?

Mint tudjuk az IPv4 címek elfogytak, a szolgáltatók manapság, ha nem NAT-olnak, akkor is maximum egy publikus IPv4 IP címet adnak egy felhasználónak (ami rendszerint dinamikus, azaz bizonyos időközönként teljesen más címet osztanak ránk), a helyi hálózati eszközeink rendszerint NAT mögé szorulnak, azok eléréséhez port továbbítási (port forwarding) szabályok írására van szükség.
Az IPv4 címek elfogyása miatt (is) találták ki az ipv6 címzést, ami nem csak hosszúságában tér el az elődjétől. Szerencsére egyre több szolgáltató biztosít ipv6 címet (és mellé egy vagy több címtartományt, szubnetet) a felhasználóknak, de mit tehetünk mi, ha a szolgáltatónk épp nem biztosít ilyet? Erre találták ki az úgynevezett tunnelbrokereket, ami egy publikus ipv4 végpont segítségével ipv4-be csomagolt ipv6 forgalmat biztosít nekünk. Mivel a forgalmazáshoz egy publikus ipv4 végpontra szükségünk van, ezért a szolgáltatónk által nem lehetünk NAT-olva. Ha NAT-olva vagyunk, akkor kérni kell a szolgáltatónkat, amennyiben tud, biztosítson egy publikus ipv4 címet. Sajnos, ha nem tud, akkor nem tudunk tunnelbrokerezni sem, de ha tud, akkor mehetünk regisztrálni a tunnelbroker szolgáltató oldalára.
Mit kell tudni ezekről a tunnelbroker szolgáltatókról? A legtöbb ingyenes, használatukhoz egy ingyenes regisztrációra van szükség. /48 vagy /64-es ip tartományt kapunk egy tunnelhez. /48 esetén ~65ezer szubnetre van lehetőségünk, /64 esetén csak egyre, de abban is lehet több millió eszközünk. Van, amelyiknél több tunnelt is használhatunk, ha van több ipv4 végpontunk. Akár mindegyik végpontra /48-as IP cím tartományt kaphatunk, ami darabonként ~65ezer /64-es szubnet,
Én most a példában a Tunnelbroker.net oldal használatán keresztül fogom bemutatni a tunnelbroker használatot. Hogy emellett döntöttem, abban sok minden szerepet játszott a /48-as címtartomány lehetőségén kívül, de további fontos tény volt, hogy az OpenWRT-s router támogatja a használatát. Azonkívül van az OpenWRT-re való beállításhoz, több leírás, illetve az OpenWRT az ipv4 végpontot is automatikusan tudja frissíteni a felhasználónevünk és jelszavunk használatával.

Nézzük meg tehát lépésenként egy OpenWRT router Tunnelbroker.net-hez való beállítását!
- Ha regisztráltunk az oldalon, akkor jelentkezzünk be a kezelő felületre. A bal oldali menüben kattintva már is létre hozhatjuk az első tunnelünket:

- Válasszunk ki egy helyileg hozzánk közel eső szervert, a tunnelünk szerverének. Szerencsére a Tunnelbroker.net-nek van Budapesti szervere is. Adjuk meg jelenlegi ipv4 címünket is. (Ez lesz az a már említett ipv4 végpontunk)

- Ha ez megvan, akkor a dashboardunkon a tunneleink listája jelenik meg. (Jelenleg 1 tunnelünk van a lehetséges 5-ből) Kattintsunk rá a tunnelre.

- Bekattintás után megjelennek a tunnelünk legfontosabb adatai. Távoli és kliens ipv4 és ipv6 címeink, kapott /64-es és /48-as ipv6 tartományunk prefixei. Ezeket kell majd megadnunk routerünk konfigurálásánál is.

- Az "Advanced" fül alatt találhatjuk az update key-t, és az update url-t. Ezzel ipv4 IP címünket tudjuk az oldalnak frissíteni, ha az dinamikus lenne és megváltozna. A key-t a routerrbe beírva használhatjuk, míg az url-t böngészőbe beírva. Így akár böngészővel is lehet frissíteni a tunnelt, ha nem használunk routert, hanem egy mezei pc-re tesszük azt.

- Example Configurations fül. Azaz példa konfigurációk. Itt konkrét példát kaphatunk különböző rendszerekre való beállításra. Én az OpenWRT Barrier Breakert választottam, de nem csak azon működik, hanem frissebb verziókon is.

- A kódokat kimásoljuk. Saját tunnelünk adatait behelyettesítve beírjuk az adatokat OpenWRT routerünknek SSH-n keresztül.
opkg update
opkg install 6in4

uci set network.henet=interface
uci set network.henet.proto=6in4
uci set network.henet.peeraddr=216.66.87.14
uci set network.henet.ip6addr='2001:(((--NEM PUBLIKUS RÉSZ--)))::2/64'
uci set network.henet.ip6prefix='2001:4(((--NEM PUBLIKUS RÉSZ--)))::/64'
uci set network.henet.tunnelid=41(((--NEM PUBLIKUS RÉSZ--)))
uci set network.henet.username=b...(((--NEM PUBLIKUS RÉSZ--)))
uci set network.henet.password='(((--NEM PUBLIKUS RÉSZ--)))'
uci commit network

uci set firewall.@zone[1].network='wan henet'
uci commit firewall

/etc/init.d/network restart
/etc/init.d/firewall reload

- Ha nem tudunk/nem akarunk/nem merünk SSH-zni, akkor ugyan ezt megtehetjük a Luci felületen is. A szoftverkezelőben telepítjük a 6in4 csomagot. Felveszünk egy új 6in4-es interfészt, beállítjuk a tűzfal zónát. A henet interfészt a wan zónába rakjuk.

- Ha ezzel kész vagyunk, elmentem a változásokat és lőn Ipv6 minden interfészemen.

- Aki nagyon figyelt, az láthatja, hogy a LAN és a GUEST interfészem nem csak egy ipv6-os címet kapott. Ez azért van, mert már előtte volt nekem egy NetAssist tunnelem is. Ez hasonló szolgáltató, mint a Tunnelbroker.net. Annyi különbséggel, hogy ennek csak egy ukrán szervere van és nincs lehetőség interfészről frissíteni az ipv4 végpontot. /48-ast ad ez is. Ennek az interfésze is hasonlóképpen néz ki, mint a Tunnelbrokeré.

- Ha mindent jól csináltam, akkor ennek a routernek a LAN interfészébe csatlakozó gépek, mind kapnak egyedi publikus ipv6 címet. (Mivel nálam van Tunnelbroker és NetAssist is, így a gépek is két ipv6 címet kapnak) Amit egy tesztoldallal ellenőrizni is lehet. Látható, hogy az ipv4 címet a Telekom adja, addig az IPV6-ot egy Hurricane Electric nevű szolgáltató.

Élet ipv6-on.

Mióta ipv6-ot használok, próbáltam minden hálózati eszközömet erre alkalmassá tenni. Sok érdekes dologba belefutottam, amit bár sikerült megoldani, okoztak némi utánajárós perceket, órákat. Például szembesültem vele, hogy ipv4 only kameráim nem lesznek elérhetőek sima port forwardingal ipv6-ról 4-re. Erre a socat jelentett megoldást. VPN-en is szerettem volna ipv6-ot. Nem volt nehéz, de túl egyszerű sem. Aztán nemrég abba a problémakörbe is bele futottam, hogy hogyan használjam az ipv6-ot két routeres hálózatban úgy, hogy közben az egyik router wifivel kapcsolódik a másikra. Fent látható egy GUEST interfész. Ebben csak egy wifi található, erre wifis eszközzel tudok kapcsolódni. Sajnos ez is okozott galibát, mert hol működött a hálózat, hol nem, Erre a megoldás az lett, hogy a tűzfalban letiltottam a LAN és a GUEST közötti teljes ipv6 forgalmat. Meg is szűntek a gondok. Két külön subnetet alkotnak.
Szerencsére, ezek nem tántorítottak el az ipv6-tól, inkább segítettek még jobban megérteni azt. Várom a további ipv6-os kihívásokat.

Használj te is ipv6-ot!