2024. március 28., csütörtök

Gyorskeresés

SixXS IPv6 tunnel telepítése OpenWRT-t használó router-re

Írta: | Kulcsszavak: openwrt . ipv6 . ipv4 . router . wr1043nd . sixxs

[ ÚJ BEJEGYZÉS ]

Az alábbi leírásból megtudhatjátok, hogy milyen módon lehet OpenWRT-s router-t IPv6 képessé tenni SixxS tunnel segítségével. Amennyiben minden rendben megy, a csomagtelepítések és konfigurálások végeztével minden a router-re csatlakozott IPv6 képes eszköz kap IPv6 címet (az IPv4 mellett), és az IPv6-on keresztül elérhető oldalak elérhetőek lesznek rajtuk. (Mint pl.: facebook.com ; youtube.com ; ipv6.google.com ; sixxs.net stb.)

Előre leszögezném, hogy NEM vagyok OpenWRT g33k, csak érdekelt a dolog, és sikerült 2-3 leírásból működésre bírni a dolgot, és mivel olvastam 1-2 fórum topicban, hogy néhány felhasználónak ez nem sikerült, gondoltam megosztom a dolgot.

A leírás maga NEM kezdő OpenWRT-sek számára készült, hanem haladók számára. Tehát aki NEM TUDJA mi az a Putty, SSH, és nano, az jobb ha nem kezd bele a dologba ezen leírás alapján.

Az egész műveletet jómagam egy TP-Link WR-1043ND router-en végeztem el. Más OpenWRT router-eken is működhet, de EGYIKEN SEM garantálom a működést. A WR-1043ND-ben 8 MB flash van, 4 MB flash lehet nem is elég a csomagokhoz. (4 MB van pl. 941ND-ben)

A művelethez használt OpenWRT verzió 10.03.1 Backfire. Más verziókkal nem valószínű, hogy fog működni. Talán 10.03-al még igen. De trunk verzión NEM sikerült életre keltenem aiccu-t. Vargalex féle OpenWRT-n meg fogalmam sincs működik e. (Valószínűnek tartom, hogy NEM.)
Tehát aki ebbe bele akar kezdeni, az legnagyobb eséllyel egy 10.03.1 Backfire verzióval járhat sikerrel.

Amennyiben elérhetetlenné válik a router a konfigurálás során, az ITT leírt lépések megtétele szükséges. (Mindent alapra állít!)

Első lépésben szükségünk lesz egy SixXS regisztrációra, melybe ITT kezdhetünk bele. Elég komolyan veszik a dolgot, így nem is fogadnak el ingyenes e-mail-eket. Lehet használni bármilyen nem ingyenes e-mail-t, többek közt az internet szolgáltatóktól kapott e-mail címeket. (pl. *@t-online.hu vagy *@digikabel.hu). Valamint a megadandó adatoknál NEM lehet használni ékezetes betűket. A regisztráció végén ki kell fejtenünk néhány sorban (angol nyelven persze), hogy miért is lenne szükségünk a SixXS hozzáférésre. Én lényegében leírtam, hogy OpenWRT-re akarok IPv6-ot, hogy elérhessem az olyan IPv6 kompatibilis oldalakat mint a google vagy a facebook. Ezt el is fogadták. De a lényeg, hogy mindenki korrekt / hihető sztorit találjon ki.
Miután elküldtük regisztrációnkat, kapunk egy e-mail-t a megadott címre, amelyben megtalálható link-re való kattintással igazolhatjuk, hogy az e-mail cím létezik, és a miénk. Amint ez megtörtént kapunk még egy e-mail-t azzal a szöveggel, hogy most pedig arra kell várnunk, hogy egy adminisztrátor elfogadja a regisztrációnkat. Ekkor persze főleg a regisztrációkor megadott sztorinkat veszik figyelembe. Ha minden jól megy, elfogadják (nekem ez 3 óra volt), és erről ismét e-mail-ben értesítenek, melyben megtalálható a belépéshez szükséges felhasználónév és jelszó.
Ezután lépjünk be a sixxs.net-re a megkapott adatokkal, és a home oldalon igényeljünk egy tunnel-t (request tunnel).

A tunnel igénylés első lépésében lényegében meg kell adnunk, hogy az IPv6 tunnel-t fix IP(v4)-el vagy dinamikus IP(v4)-el akarjuk használni. Általában az egyszerű lakossági internet elérések dinamikus IPv4 kapcsolatok (mint pl.: digi vagy t-online), akinek meg mégis fix IP-je van, az valószínűleg tud is róla.
Mivel én dinamikus IP-vel rendelkezem, más megoldással nem is foglalkozom, a leírás dinamikus IPv4-es kapcsolatra vonatkozik a továbbiakban. Ehhez válasszuk a "heartbeat" válaszható IPv4 frissítési módot. Ez után meg kell adnunk a várost, ahol az internetszolgáltatást igénybe vesszük. Ez alapján, és valószínűleg ping alapján a második lépésben fel fog sorolni nekünk úgynevezett PoP-okat. Ebbe nem kívánok belemenni, hogy mik ezek, de azért van mit mondani róluk:

SixXS PoP szervere Magyarországnak egészen tavalyig nem volt. Ezt követően a Digi üzembe helyezett 2 darab PoP-ot Budapesten. Egyiket publikusként, mely bármely internetszolgáltatóval használható (hubud01), másikat pedig csak Digi ügyfelek használhatják Digi internettel (hubud02). Értelemszerűen aki nem Digis az a hubud01-et válassza, aki pedig Digi internettel igényel, és azzal is kívánja használni a tunnel-t, az a hubud02-t. (Digi ügyfeleknek is előfordulhat, hogy csak a hubud01 látszik a listában. Ebben az esetben válassza a hubud01-et, majd fejtse ki a lent lévő szövegdobozban, hogy ő mint Digi ügyfél, a hubud02-re szeretné a tunnel-ét.)

Végső sorban alul a szövegdobozban meg kell indokolnunk miért azt a PoP-ot választottuk. Nem Digis ügyfeleknek nem nagyon van mit írniuk, mert valószínű, hogy csak a hubud01-et látják. Ha nagyon nem enged tovább szöveg nélkül, akkor - angolul - írjátok bele, hogy csak az elérhető. (Mivel nekem Digi ügyfélként se látszott hubud02, én ide azt írtam, hogy azon szeretnék lenni. Semmi mást.)

Miután elküldtük az igénylést, kapunk egy visszaigazoló e-mail-t, majd még egyet, miután elbírálták. (kb. 15 perc volt nekem). Utóbbiban találhatóak a tunnel-hez tartozó adataink.

Ez után már a home oldalon elérhetőek a tunnel és subnet adataink 1-1 táblázatban, így nekieshetünk az OpenWRT konfigurálásának.

Ehhez Putty segítségével SSH-n lépjünk be router-be, és elsőként adjuk ki az alábbi parancsot:
opkg update

Második lépésben, amennyiben nincs még felrakva, rakjunk egy nano-t a config-ok szerkesztéséhez:
opkg install nano

Harmadik lépésben már kezdhetjük az IPv6-hoz szükséges csomagok telepítését, szépen sorban:
opkg install kmod-ipv6
opkg install kmod-ip6tables
opkg install ip6tables
opkg install ip
opkg install kmod-tun
opkg install aiccu

Negyedik lépésben, miután végeztünk a csomagok feltelepítésével, szerkesszük az aiccu config-ját az alábbi paranccsal:
nano /etc/config/aiccu

Ekkor ilyesmit fogunk látni:
config aiccu
option username '*******'
option password '*******'
option protocol 'tic'
option server 'tic.sixxs.net'
option interface 'sixxs'
option tunnel_id '******'
option requiretls '0'
option defaultroute '1'
option nat '1'
option heartbeat '1'

Username és password értelemszerűen a SixXS felhasználónév és jelszó. Protocol, server, és interface maradhat úgy ahogy van (utóbbit majd később módosítjuk). Tunnel ID-t megtaláljuk a home oldalon, utána lévő option-ok értékei pedig legyenek úgy, ahogy fentebb láthatóak (0 ; 1 ; 1 ; 1).
Szerkesztés végeztével Ctrl+X -> y -> enter

Ötödik lépés: Leteszteljük, hogy működik e az aiccu. Engedélyezzük, és indítsuk az alábbi parancsokkal:
/etc/init.d/aiccu enable
/etc/init.d/aiccu start

És leteszteljük:
ping6 ipv6.google.com

Ctrl + C-vel megállíthatjuk. Amennyiben visszapingel, akkor jó úton haladunk, az IPv6 tunnel már működik. Ha esetleg nem megy, akkor vagy elrontottunk valamit, vagy még nem frissült be a PoP-on a tunnel-ünk. (Ez a tunnel elfogadása utáni órában következik be. Legyünk kicsit türelmesek.)

Hatodik lépés: A subnet-hez szükségünk lesz a radvd-re, melyet az alábbi paranccsal installálhatunk:
opkg install radvd

A radvd konfigurálásához az alábbi parancsot adjuk ki:
nano /etc/config/radvd

Ekkor valami ilyesmit látunk:

config interface
option interface 'lan'
option AdvSendAdvert 1
option AdvManagedFlag 0
option AdvOtherConfigFlag 0
option ignore 0

config prefix
option interface 'lan'
# If not specified, a non-link-local prefix of the interface is used
option prefix '2001:6a0:143::/64'
option AdvOnLink 1
option AdvAutonomous 1
option AdvRouterAddr 0
option ignore 0

config rdnss
option interface 'lan'
# If not specified, the link-local address of the interface is used
option addr ''
option ignore 1

Mindennek úgy kell lennie, ahogy fent látható, KIVÉVE az option prefix-nek. Oda a home oldalon a subnet táblázatból a saját prefix-ünket kell becopyzunk.

Szerkesztés végeztével Ctrl+X -> y -> enter

Hetedik lépésben alábbi parancsot adjuk ki:
nano /etc/config/network

Itt a lan interface-hez adjuk hozzá egy új option-t az alábbi formában, a SAJÁT perfixünkkel:
option 'ip6addr' '2001:6a0:143::1/64'

Ennek az első IPv6 címnek kell lennie, azaz ha a subnet prefix pl.: 2001:6a0:143::/64 akkor ide 2001:6a0:143::1/64-et kell beírnunk.

Ennek szerkesztés után nagyjából így kell kinéznie (Mást itt NEM kell módosítani!):

config 'interface' 'lan'
option 'ifname' 'eth0.1'
option 'type' 'bridge'
option 'proto' 'static'
option 'ipaddr' '192.168.1.1'
option 'netmask' '255.255.255.0'
option 'ip6addr' '2001:6a0:143::1/64'

Szerkesztés végeztével Ctrl+X -> y -> enter

Majd engedélyezzük, és indítsuk el a radvd-t:
/etc/init.d/radvd enable
/etc/init.d/radvd start

Nyolcadik lépésben alábbi parancsot adjuk ki:
nano /etc/sysctl.conf

Távolítsuk el a kommentelést (#) az alábbi sor elől:
net.ipv6.conf.all.forwarding=1

Szerkesztés végeztével Ctrl+X -> y -> enter

Kilencedik lépésben az alábbi parancsot adjuk ki:
/etc/init.d/aiccu stop

Majd pedig:
nano /etc/config/network

Ezen belül létre kell hoznunk egy új interface-t wan6 néven (tehát törölni nem kell semmit):
config 'interface' 'wan6'
option 'proto' 'static'
option 'ifname' 'sixxs.0'
option 'auto' '1'
option 'ip6addr' '2001:your:end:point::2'
option 'send_rs' '0'

Természetesen a 2001:your:end:point::2 helyére a saját end point-unk kell, melyet a home oldalon találunk.

Szerkesztés végeztével Ctrl+X -> y -> enter

Tizedik lépésben adjuk ki az alábbi parancsot ismét:
nano /etc/config/aiccu

És az interface-t változtassuk sixxs-ről sixxs.0-ra, hogy így nézzen ki:
Ekkor ilyesmit fogunk látni:
config aiccu
option username '*******'
option password '*******'
option protocol 'tic'
option server 'tic.sixxs.net'
option interface 'sixxs.0'
option tunnel_id '******'
option requiretls '0'
option defaultroute '1'
option nat '1'
option heartbeat '1'

Szerkesztés végeztével Ctrl+X -> y -> enter

Legutoljára a tűzfalat kell szerkesztenünk az alábbi paranccsal:
nano /etc/config/firewall

Innen sem kell semmit törölni, de az alábbi rule-okat úgy ahogy van, be kell illeszteni:
config 'zone'
option 'name' 'wan6'
option 'output' 'ACCEPT'
option 'network' 'wan6'
option 'family' 'ipv6'
option 'input' 'DROP'
option 'forward' 'DROP'

config 'forwarding'
option 'dest' 'wan6'
option 'src' 'lan'

config 'rule'
option 'name' 'RHO'
option 'family' 'ipv6'
option 'target' 'DROP'
option 'extra' '-m rt --rt-type 0'
option 'proto' 'all'
option 'src' 'wan6'

config 'rule'
option 'name' 'RHO2'
option 'family' 'ipv6'
option 'target' 'DROP'
option 'extra' '-m rt --rt-type 0'
option 'proto' 'all'
option 'src' 'wan6'
option 'dest' 'lan'

config 'rule'
option 'target' 'ACCEPT'
option 'output' 'ACCEPT'
option 'forward' 'REJECT'
option 'name' 'Allow-Ping ipv6'
option 'family' 'ipv6'
option 'proto' 'icmp'
option 'src' 'wan6'
option 'limit' '1000/sec'
list 'icmp_type' 'echo-request'
list 'icmp_type' 'destination-unreachable'
list 'icmp_type' 'packet-too-big'
list 'icmp_type' 'time-exceeded'
list 'icmp_type' 'bad-header'
list 'icmp_type' 'unknown-header-type'
list 'icmp_type' 'router-solicitation'
list 'icmp_type' 'neighbour-solicitation'
list 'icmp_type' 'echo-reply'

Szerkesztés végeztével Ctrl+X -> y -> enter

Ezután az alábbi parancsokat adjuk ki sorban:
/etc/init.d/network restart
/etc/init.d/firewall restart
/etc/init.d/aiccu start

Ekkor ismét próbáljuk meg putty-ban az IPv6 ping-et:
ping6 ipv6.google.com

Ctrl+C-vel megállíthatjuk.

Ha működik, próbáljuk ki ugyanezt egy csatlakoztatott - windowsos - gépen is:
start -> cmd
ping -6 ipv6.google.com

Ha ez megy, próbáljuk ki böngészőben is. Fontos, hogy IPv6-ot engedélyezzük böngészőben. (chrome ; firefox)

Ha böngészőben bejön az ipv6.google.com akkor mindent jól csináltunk, működik az IPv6. :K

Ha nem működik, akkor érdemes lehet egy router reboot-ot alkalmazni SSH-ból. Ha ezután sem megy, akkor feltehetőleg valamit elrontottunk.

IPv6 port megnyitása alkalmazás részére: Ha szeretnénk valamely alkalmazás részére (pl.: utorrent) IPv6 portot nyitni, akkor SSH-n adjuk ki a következő parancsot:

nano /etc/config/firewall

És adjuk hozzá az alábbi rule-t:

config 'rule'
option 'name' 'utorrent_ipv6'
option 'src' 'wan6'
option 'dest' 'lan'
option 'proto' 'tcpudp'
option 'dest_port' '11111'
option 'target' 'ACCEPT'
option 'family' 'ipv6'

Ahol "11111" helyére a megnyitandó port számot kell beírni. (Tartomány esetén értelemszerűen pl.: 11111-22222 formában.)

Szerkesztés végeztével Ctrl+X -> y -> enter

Végszó: Remélhetőleg nem hagytam ki semmit. Amennyiben nem jön működik a dolog, WR1043ND + 10.03.1 Backfire esetén nyugodtan fel lehet keresni privát üzenetben, de mint írtam nem vagyok OpenWRT g33k, így csodát ne várjon senki tőlem. Ha tudok segítek, ha nem, akkor nem. :R

Visszajelzéseket, és esetleges hibajelzéseket szívesen várok! Mert az biztosítana afelől, hogy nem írtam el semmit, nem hagytam ki semmit. :R

Források: SixXS OpenWRT WiKi | KnowHow WR1043ND WiKi | ipv6.co.hu

Hozzászólások

(#1) btz


btz
addikt

Kár hogy vége

ⓑⓣⓩ

További hozzászólások megtekintése...
Copyright © 2000-2024 PROHARDVER Informatikai Kft.