HowTo: IPV6 bevezetése wifi bridge router mögötti gépeknek

írta: btz, 2 éve

A hálózat:
Már régóta használok másodlagos routert, ami wifi kliensként csatlakozik az elsődleges routerhez. Mindkét routerre vannak kötve vezetékes kliensek, illetve mobilok és tabletek is csatlakozhatnak mindkettőre (a másodlagos routerre egy külön accespointal lehet rácsatlakozni, nem a saját wifijét szórja, az csak a bridge kapcsolatot szolgálja ki). Az elsődleges routerem internet szolgáltatótól ipv6 címet kap a WAN oldalára és ipv6 /48-as prefixet, amit a hálózatom LAN oldalának adhatok ki, így nincs NAT-olás, a kapcsolódó eszközeim közvetlenül elérhetők az internet "másik" oldaláról, egyedi fix ipv6 cím alapján. "/48-as" prefix-et kapok a szolgáltatótól. Ez azért lényeges, mert a bejegyzésben felvetett probléma is csak akkor oldható meg, ha te is rendelkezel subnetelhető prefixel. Természetesen nem fontos /48-al, /56 is elég lehet.

A probléma:
Az IPV6 címzés sajnos nem ment át a relayd, pseudobridge pároson, így a router2-re kapcsolódó klienseknek nem lehetett IPV6 címet adni. Szerettem volna, ha azok is kapnának hatos IP címet. Elkezdtem kutakodni, hogy mit tehetnék ez ügyben, talán van valami relayd6 csomag, ami megoldja a problémámat. Sajnos nem így történt. Inkább csak ilyen fórumokba futottam bele:

Aztán később kiderült, hogy a relayd nem supportálja az IPV6-ot. Nem is fogja. Kész, ennyi. Vége. Nem lesz soha IPV6 a relayd routeremen. De ekkor valahogy belefutottam egy fórum beszélgetésbe (sajnos már nem találom, hogy hol van, de az Openwrt fórumán az biztos). Ott arról győzték meg a fórumtársat, hogy a /64-es végponti címeket ne akarja átvinni a relayd-n, inkább a router1 LAN-ján használjon /56-ot, azaz lehessen subnetet alkotni a router2-nek. Ha a router1 LAN-ján /64-et használunk, az azt jelenti, hogy csak 1 subnetünk lehet, azaz további routerek már nem kapcsolhatók a router1-re. Márpedig nekem wifivel rá volt a router2, de az csak a WAN végpontjára kaphatott címet, nem adhatott subnetet a saját LAN-jára, azaz nem kapott kiosztható prefixet a LAN-ja, így a router2 LAN-jára kapcsolódó gépek sem kaphattak ipv6-os címeket.

A fenti kép azt mutatja, hogy milyen IP cím tartományunk és hány alhálózatunk lehet, attól függően, hogy hány bitesre állítjuk az ipv6 előtagot.

A megoldás:
A probléma megoldása annyiból áll, hogy a fő routerünk LAN interfészén /56-ot kezdtem el használni a /64 helyett. Mivel az angol Openwrt fórumos tag és én is /48-as prefixet kapunk szolgáltatónktól, így mi használhatunk /48-tól /64-ig bármilyen "IPv6 assignment length" értéket. Sajnos vannak szolgáltatók, akik /64-es prefixet osztanak az usernek, így ők sajnos nem fognak tudni alhálózatot létrehozni. Ezért nekik ezzel az írással nem tudok segíteni. Talán valamilyen szabvány megkerülő megoldással esetleg.

Én mindkét routeren (Router1, Router2) OpenWRT-t használok, így ezzel mutatom meg, hogyan is állítottam be a rendszert. Nem egy nagy "was ist", még SSH-n való mókolás sem szükséges hozzá, elég egy mezei Luci felület (azaz az OpenWRT webböngészőben elérhető admin felülete)

1. A router1-ben állítsuk be a LAN interfészünk "IPv6 assignment length" értékét 56-ra, ezzel már meg is tettük, hogy ezen a LAN-on nem 64, hanem csak 56 bit az IPV6 előtag. A hint értéket én 1802-re állítottam, így lesz a router1 LAN IPV6 címe 2001:XXXX:XXXX:1800::1/56

Ezzel router1 beállításait ki is végeztük. Mivel ezen bejegyzésben az IPV6-on van a hangsúly, a ROUTER1 wifi beállításait nem taglalom.

2. Router2-n, A wifi relayd bridge módhoz, már létrehoztuk a wwan interfészt, amit a LAN tűzfal zónába helyeztünk, létrehoztuk a pseudobridge interfészt, amiben összebridgeltük a wwant a router2-n lévő LAN-unkal. A wifi kapcsolatunkat beállítottuk, beletettük a megfelelő interfészbe. Telepítettük a relayd csomagot a szoftver telepítőben, a "rendszerindítás" menünél beállítottuk, hogy bootoláskor elinduljon. Mindent megcsináltunk, ami a nagykönyvben meg van írva a wifi bridge kapcsolathoz. Ha mégis jobban szeretnél a sima ipv4 wifi bridgelési lehetőségekbe belemerülni, ajánlom ezt a Logout blogos írást Suste-től.

3. Továbbra is a router2-n vagyunk. Megy az ipv4 wifi repeater relayd bridge-ünk. Hogyan legyen ezen nekünk IPV6?
Hozzunk létre egy új WWAN6 nevű interfészt, aminek protokollja legyen DHCPV6 client és ezt linkeljük rá a WWAN interfészre.

Mentsük el, menjünk vissza az interfészek oldalra és lőn IPV6!


Így néz ki.

Látható, hogy a WWAN interfészünk megkapta az IPV6 címet, mivel a WWAN6-ot "rálinkeltük". Méghozzá kettőt is kap, mert egyet DHCPV6-al a másikat automatikus konfigurációval állította be magának. Igen! Több publikus IP címe is lehet egy interfésznek ipv6-on.
Mivel a fő router, a Router1 már subnetezési lehetőséget és prefixet is ad, így a LAN is kaphatott ipv6 címet. És mivel ez sem /64, hanem /62, így erre is lehetne további 4 subnetet rakni. (Lásd a fenti kalkulátoros képet).
Ha visszanézünk a router1-re, akkor láthatjuk, hogy a DHCPV6 szervere IP címet osztott ki. A 2001:XXXX:XXXX:1800::EFD/128-at a router2 WWAN-jának és 2001:XXX:XXX:1804::/62 delegálható prefixet a router2 LAN-jának.

A végeredmény:
Ha mindent jól csináltunk, akkor körülbelül ezt a hálózatot kell kapjuk. Természetesen a subnetek értékét ki-ki saját ízlése szerint állítsa be.

Örülök, hogy végigolvastad. Ha valami nem világos és szeretnél te is saját ipv6-os hálózatot beállítani, de nem sikerül, akkor nyugodtan kérdezz itt a kommentekben. Ha tudok, segítek.