"Hogyan tudnék elkezdeni legegyszerűbben ismerkedni az IPv6-tal?"

Címkék

Azzal a gyakran ismételt kérdéssel folytatnám a nemrég megkezdett IPv6 sorozatot, ami rendszeresen elhangzik a témát még felületesen sem ismerők szájából:

Hogy tudnék lekezdeni legegyszerűbben ismerkedni az IPv6-tal?

Sokakat azt tart vissza az IPv6-tal való ismerkedéstől, hogy azt gondolják, nagy hozzáértést, kompatibilis hálózati eszközt, IPv6-képes szolgáltatót, komoly hálózatátkonfigurálást stb. kell felmutatniuk ahhoz, hogy elkezdjenek alapszinten ismerkedni az "új" IP protokollal, pedig ez nincs így. Ahhoz, hogy elinduljunk az úton, például IPv6-on (is) tudjuk az IPv6-képes magyar weboldalakat böngészni, gyakorlatilag nem kell semmi egyéb, mint öt perc szabadidő.

Ebben az írásban azt mutatom be, hogy hogyan lehet egy Tunnel Broker segítségével IPv6-os kapcsolatot létesíteni a nagyvilág felé. Amíg ezt a cikket írom, kb. két évtizeddel ezelőtti emlékek jönnek elő, amikor is azért konfiguráltunk fel IPv6 címet 2.x-es Linux kernelt futtató gépünkön, hogy minél menőbb címekkel villoghassunk az IRC-n. Rohan az idő ... De elég a nosztalgiából, essünk neki!

Ahhoz, hogy különösebb megerőltetés nélkül IPv6 kapcsolatunk lehessen, egy IPv6 Tunnel Broker szolgáltatásait vesszük igénybe. Számos ilyen szolgáltatót találunk, egy listájuk elérhető a Wikipédián is. A Tunnel Broker teszi lehetővé, hogy elérd az IPv6-os internetet azáltal, hogy az IPv6-kompatibilis hostod-on (pl. számítógéped) vagy router eszközödön elérhető IPv4-es kapcsolatot áttunnelezi valamelyik IPv6-os routeréhez. 

Én a Hurricane Electric szolgáltatásait fogom igénybe venni, egyrészt azért, mert már régről ismerem, másrészt azért, mert van budapesti szerverük, harmadrészt pedig azért, mert náluk egy gyors regisztrálás után akár 5 IPv6-os tunnelt is létre tudunk hozni ingyen.

Regisztráció

Ellátogatunk a Hurricane Electric ingyenes tunnel broker oldalára, regisztrálunk, jóváhagyjuk a regisztrációt, majd belépünk az oldalra.

Tunnel létrehozása

A Create Regular Tunnel menüpontra kattintva összesen két paramétert kell megadnunk: az IPv4-es kapcsolatunk (host, router) IP címét (aminek pingelhetőnek kell lennie), illetve a használni kívánt tunnel szervert (itthonról praktikusan a budapestit). A "Create Tunnel" gombra kattintva a tunnel elkészül.

Host oldali konfiguráció

Ezután már nem marad más hátra, mint a kliensgépünk konfigurálása ahhoz, hogy igénybe vegye a létrehozott IPv6-os tunnelünket. A Main Page-re kattintva megtaláljuk a tunnelünket. Rákattintva a tunnelre, a Tunnel details -> Example Configuration fülön kiválasztjuk, hogy milyen operációs rendszerünk van. A kiválasztás után megkapjuk a host oldali konfigurációhoz használható parancsokat, iránymutatásokat:

A kapott parancsokat a gépünkön lefuttatva felépül a kapcsolat:

root@alderaan:/home/trey# ifconfig sit0 up
root@alderaan:/home/trey# ifconfig sit0 inet6 tunnel ::216.66.87.14
root@alderaan:/home/trey# ifconfig sit1 up
root@alderaan:/home/trey# ifconfig sit1 inet6 add 2001:470:1f1a:cc::2/64
root@alderaan:/home/trey# route -A inet6 add ::/0 dev sit1

Ezután már csak a tesztelés van hátra:

root@alderaan:/home/trey# ping6 hup.hu
PING hup.hu(2a01:6ee0:1:201::bad:c0de (2a01:6ee0:1:201::bad:c0de)) 56 data bytes
64 bytes from 2a01:6ee0:1:201::bad:c0de (2a01:6ee0:1:201::bad:c0de): icmp_seq=1 ttl=61 time=5.96 ms
64 bytes from 2a01:6ee0:1:201::bad:c0de (2a01:6ee0:1:201::bad:c0de): icmp_seq=2 ttl=61 time=6.39 ms
64 bytes from 2a01:6ee0:1:201::bad:c0de (2a01:6ee0:1:201::bad:c0de): icmp_seq=3 ttl=61 time=7.15 ms
64 bytes from 2a01:6ee0:1:201::bad:c0de (2a01:6ee0:1:201::bad:c0de): icmp_seq=4 ttl=61 time=125 ms
64 bytes from 2a01:6ee0:1:201::bad:c0de (2a01:6ee0:1:201::bad:c0de): icmp_seq=5 ttl=61 time=8.07 ms
64 bytes from 2a01:6ee0:1:201::bad:c0de (2a01:6ee0:1:201::bad:c0de): icmp_seq=6 ttl=61 time=7.94 ms
^C

Innentől kezdve már IPv6-on is igénybe vehetünk internetes szolgáltatásokat, pl. böngészhetjük a HUP-ot, csatlakozhatunk IPv6-os IRC szerverekhez stb. Illetve, elkezdhetünk ismerkedni az IPv6 világával.

Természetesen, a példakonfigurációk közt találunk olyat is (pl. Debian/Ubuntu-t választva), amivel a parancsokat nem kell minden reboot után kézzel futtatni, hanem megfelelő helyen beállítva a tunnel automatikusan felépül (de írhatunk akár saját scriptet is).

Ha a kapcsolat router/tűzfal mögött nem épülne fel, állítsuk be a routerünket, hogy az engedje át a 41-es portokollt a gépünkhöz, vagy tegyük a gépünket DMZ-be, kapcsoljunk be rá ARP publication-t stb. függően attól, hogy a routerünk éppen hogyan nevezi ezt a funkciót.  

Bónusz

Ha regisztrálsz a Hurricane Electric-nél ingyenes IPv6 tunnelre, jogosult leszel részt venni az IPv6 tanúsítási programjukban, amit teljesítve egy igazoláshoz és egy ingyen pólóhoz juthatsz:

IPv6 Certification Badge for gabormicsko

Jó szórakozást!

Hozzászólások

Tok jo ez az iras, de ha valaki IPv6-ot akar akkor en megis azzal kezdenem, hogy megnezni, hogy a szolgaltato nem ad-e veletlenul ilyet. Lehet, hogy csak ki van kapcsolva a routerben... Kovetkezore javaslom, hogy egy lista az ISP-krol keszuljon, hogy melyik ad/nem ad IPv6 cimet. Minden masra ott a... Tunnel Broker

A Tunnel Broker elsősorban fejlesztőknek, tesztelőknek, ismerkedőknek kínál szolgáltatást, vagyis pont azoknak, akiknek ez az írás szól: akik nem feltétlen akarnak folyamatos IPv6 kapcsolatot, de adott esetben ideiglenesen, gyorsan és egyszerűen fel szeretnének bárhol húzni egyet.  Három hely közt mozgok (2 lakás, munkahely). Kb. 10 sec alatt húzok fel bármelyik lokáción egy tunnelt, ha éppen kell.

Aki abban a szerencsés esetben van, hogy a szolgáltatója - akár mobilon, akár egyéb módon - ad ilyet, az eszköze is támogatja, az nyilván nem fog rászorulni erre.

trey @ gépház

A masik fulon ezt irjak:

We are continuously measuring the availability of IPv6 connectivity among Google users. The graph shows the percentage of users that access Google over IPv6.

En ezt ugy ertem, hogy pl a gmail-en (meg hol meg?) nezik az IPv6 forgalmat userekre lebontva (vagyis a szazalek nem a forgalom szazaleka, hanem a IPv6 kepes userek szazaleka). De ennel az egysorosnal tobbet nem lattam.

Annak idején a sixxs-t használtam, de ők beszüntették a működést, mondván, hogy most már a szolgáltatókat kellene piszkálni. Én viszont nem szeretném a publikus IPv4 címemet feladni, pedig ha v6-ot kérnék, akkor CGNAT-ra tenne a UPC.

Aki UPC-t használ IPv6-tal, árulja el, hogy mekkora tartományt ad a UPC? Egy szimpla /64-et?

A /64-et SLAAC-vel kapod, nem tudod kisebb alhálózatokra osztani.
(Bár technikailag lehetséges lenne, de IPv6-on az SLAAC-től függetlenül sem csinálunk /64-nél kisebb hálózatot.)

Ebből ugye az következik, hogy UPC-nél nem tudod a saját routeredet használni, mert az egyetlen /64 lenne a WAN oldalán, és nem tudsz publikus prefixet rakni a LAN oldalára.

Még jó, hogy a régi RFC azt mondta, hogy végfelhasználónak legalább /56 járjon (ezzel a végfelhasználó akár 256 subnetet is képes csinálni), a nagyobb végfelhasználóknak pedig járjon legalább /48, hiszen 65536 subnet minden végfelhasználónak elég kellene, hogy legyen... Aztán később jött az újabb RFC, hogy adjunk minden végfelhasználónak /48-at, hogy ne kelljen mérlegelni, hogy a végfelhasználó kicsi vagy vagy.

A DIGI-nél annyival jobb a helyzet, hogy ott a WAN oldalra kapsz a PPPoE link fölé egy /64-et, és a belső hálódnak igényelhetsz DHCPv6-PD segítségével egy másik /64-et.

ha jol ertem akkor ez amolyan vpn, csak ipv6 van becsomagolva ipv4-be?

lehetne ilyen tunnel brokert csinalni a sajat server/vps gepen? (tegyuk fel hogy ott mar nativ ipv6 van)

A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

Alternatíva: 6to4. Tesztelve Linuxon és Windowson, működik. Nem kell hozzá regisztrálni, nem kell hozzá telepíteni, cserébe kb. a szerencsére van bízva, hogy kin megy át a forgalom.

olyat lehet csinalni hogy a routernek van 1db ipv6-os cime (nincs tartomany) a belso gepnek van 1db ipv4 cime, igy annak eleresehez a routeren natolni kell az ipv6-ot az ipv4-es cimre?

koszi!

neked aztan fura humorod van...

Rosszul közelíted meg a problémát. Léteznek IP protokollok (v4 <-> v6) közötti transzformációk, de Te nem akarsz ilyet. Ha a belső gépnek nem tudsz publikus IPv6 címet adni, akkor adjál neki privát (Unique Local) IPv6 címet. Ezek után, a router publikus IPv6 címéről tudsz NAT-olni a belső gép privát IPv6-os címére pont ugyanúgy, mint IPv4 esetében.

Csak vigyázz, amikor a pólót kéred, mert amerikai méretezést használnak - én megszokásból rendeltem XXL-est (a Magyarországon üzletben kapható pólókból az XXL általában a pont jó, vagy épp egy kicsit kicsi kategória) - nos, amit küldtek, abba kétszer beleférnék... :)

Congratulations on completing Sage!

Name: Gabor Micsko
Certification Level: Sage earned at 2019-12-05 04:01:54

Please verify your address information in the Update Info link if you are interested in receiving a free T-shirt for reaching the Sage level of certification.

Kb. 10 perces gyakorlat. Az órájuk rosszul jár. :)

trey @ gépház

Csak 1 naív buta kérdés: ezt a tunnelt kiépíteni a nevezett céggel milyen biztonsági kockázatot jelent? Azaz az ilyen ipv6 forgalmat áttereli az ő szerverükön, ami esetén belelátnak a teljes tartalomba?

Szerintem annyira kockázatos, mint bármely másik internetszolgáltatót használni, így pont olyan elővigyázatosság javasolt, mint bármelyik random ISP esetén. A HE már 20+ éve itt van, nem egy új cég. Ez lehet jó pont, de nem garancia semmire.

trey @ gépház

Szerkesztve: 2019. 12. 05., cs - 18:40

hat nekem annyira nem muxik (mac-en):

bash-3.2# ifconfig gif0 create
ifconfig: SIOCIFCREATE2: File exists
bash-3.2# ifconfig gif0 tunnel 86.101.34.184 216.66.87.14
bash-3.2# ifconfig gif0 inet6 2001:470:1f1a:d7::2 2001:470:1f1a:d7::1 prefixlen 128
bash-3.2# route -n add -inet6 default 2001:470:1f1a:d7::1
add net default: gateway 2001:470:1f1a:d7::1

bash-3.2# ifconfig gif0
gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1280
    tunnel inet 86.101.34.184 --> 216.66.87.14
    inet6 fe80::7285:c2ff:fe49:d55d%gif0 prefixlen 64 scopeid 0x2
    inet6 2001:470:1f1a:d7::2 --> 2001:470:1f1a:d7::1 prefixlen 128
    nd6 options=201<PERFORMNUD,DAD>

bash-3.2# ping6 hup.hu
PING6(56=40+8+8 bytes) 2001:470:1f1a:d7::2 --> 2a01:6ee0:1:201::bad:c0de
ping6: sendmsg: Can't assign requested address
ping6: wrote hup.hu 16 chars, ret=-1

bash-3.2# ping6 2001:470:1f1a:d7::1
PING6(56=40+8+8 bytes) 2001:470:1f1a:d7::2 --> 2001:470:1f1a:d7::1
ping6: sendmsg: Can't assign requested address
ping6: wrote 2001:470:1f1a:d7::1 16 chars, ret=-1

Nem véletlenül írják, hogy az adott parancs lista csak példa, azt neked esetenként a saját környezetedhez kell szabni. Mindezt azért, mert nem tudhatják ők a saját gépükről, hogy neked milyen hálózati illesztőid vannak és hogyan konfiguráltad fel őket.

Ugyan nem ismerem a mac gépeket, de az első utasítás utáni "SIOCIFCREATE2: File exists" üzenet eléggé gyanússá teszi, hogy van már egy ilyen nevű beállított hálózati interface a gépen. Esetleg megpróbálhatnád úgy lefuttatni, hogy a gif0-t lecseréled mindenhol mondjuk gif1-re. Esetleg megnézed, hogy milyen kapcsolatok vannak a gépen és utána saját magad is tudni fogod, hogy minek kell elnevezni az újonnan létrehozandó kapcsolatot. (Ezt talán az ifconfig paraméter nélküli hívásával meg tudod tenni).

Zavard össze a világot: mosolyogj hétfőn.

azt nem masoltam ide de irtak hogy az a create hiba normalis, mert osx verziotol fuggoen van ahol by default van ilyen interface. azert neztem meg utana ifconfiggal hogy sikerult-e azokat beallitani, es igen. ennek ellenere nem megy se ping se semmi, es kifele sincs forgalom (neztem a tuzfalon), mar a sajat ipv6 cimet sem tudja hasznalni vagy pingelni...

A'rpi

Én pár évente meg szoktam próbálkozni azzal, hogy "mennyire megy az IPv6", de tök más megközelítéssel, mint trey. Az IPv6 beállítása egyszerű, és meg lehet nézni IPv6-on keresztül a Google-t meg a HUP-ot, de egy rakás dolog nem működik, főként IPv6-only hálózaton... És akkor sorolok pár dolgot (disclaimer: 2017-es infók, azóta lehet, hogy minden tökéletes lett):

  • Linuxon nem lehet olyat csinálni, hogy IPv6-ot forwardoljon pontosan 2 db interface-e között. Olyat lehet, hogy egyáltalán ne forwardoljon, meg olyat lehet, hogy minden interface-e között forwardoljon. Pedig az IPv6 speckó szerint:
   node        - a device that implements IPv6.

   router      - a node that forwards IPv6 packets not explicitly
                 addressed to itself.  [See Note below].

   host        - any node that is not a router.  [See Note below].
Note: it is possible, though unusual, for a device with multiple
   interfaces to be configured to forward non-self-destined packets
   arriving from some set (fewer than all) of its interfaces, and to
   discard non-self-destined packets arriving from its other interfaces.
   Such a device must obey the protocol requirements for routers when
   receiving packets from, and interacting with neighbors over, the
   former (forwarding) interfaces.  It must obey the protocol
   requirements for hosts when receiving packets from, and interacting
   with neighbors over, the latter (non-forwarding) interfaces.
zmezei@jane:~$ host time.kfki.hu                                                                                                                    
time.kfki.hu is an alias for ubul.kfki.hu.                                                                                                          
ubul.kfki.hu has address 148.6.0.1                                                                                                                  
ubul.kfki.hu has IPv6 address 2001:738:5001::1                                                                                                      
zmezei@jane:~$ host 2001:738:5001::1                                                                                                                
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.5.8.3.7.0.1.0.0.2.ip6.arpa domain name pointer ubul.kfki.hu.                                          
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.5.8.3.7.0.1.0.0.2.ip6.arpa domain name pointer ubul.szhk.wigner.mta.hu.
  • Próbálkoztam Windows Server 2016-tal is IPv6-only hálózaton, éshát:
    • time.windows.com címhez nincs AAAA rekord, így a Windows nem tud időt szinkronizálni a default beállítások mellett
    • activation.sls.microsoft.com címhez nincs AAAA rekord, így a Windows nem tud aktiválódni 
    • egy halom másik dolog (pl. Windows Update, Bing) esetében sincs AAAA rekord.
  • Akkoriban a mirror.centos.org-nak sem volt IPv6-os címe - most meg úgy nézem, hogy hiába van, ad olyan mirrorokat is, aminek csak IPv4 címe van, tehát ez sem megy IPv6-only hálózaton.

Lehet kéne futnom egy új kört ezekkel...

De a lényeg, hogy szerintem az IPv6 elterjedése nagyon nem az IPv6 beállításán, hanem az IPv6 és a szolgáltatások viszonyán fog múlni...

kicsit olyan nekem ez az egesz IPv6 -os historia, hogy Mindenki mondja, hogy csinalni kene, de ennek ellenere Mindenki a masikra var, hogy csinald Te, nem, csinald Te elobb...a vegen pedig a tipikus, ahogy ilyenkor lenni szokott eset kovetkezik be, nem csinalja senki leginkabb, aki megis, az is csak latszatbol.

Emiatt a terjedes nagyon lassu es nyogvenyelos is, azt hiszem ezt Mindenki latja.

FBK

az ip forwardingot azt úgy alakították át, hogy ipv6-nál nem (csak) sysctl paraméterekkel kell beállítani, hanem tűzfal szabállyal. 

tehát `net.ipv6.conf.all.forwarding=1`, aztán `iptables -I FORWARD -i eth0 -o eth1 -j ACCEPT`.

szerintem így jobbel szét vannak osztva a reszponzibilitások.

Mi a fene most ez a nagy fellángolás itt hupon az ipv6 mellett? Lemaradtam valamiről, vagy csak uborka szezon van?

Csak, hogy tudjam, biztosan jól értem-e:

- Ubuntu hírek?

 - Hungarian Ubuntu Portal!

- Kernel hírek?

- Minek? Kinek? Senkit sem érdekelnek!

- Virtualizáció?

- Nem tudunk hozzászólni!

- Vállalati storage-ok?

- Fizetett reklám!

- IPv6?

- Uborkaszezon!

- Apple hírek?

- Haterkedsz!

- Játékok?

- Öregek vagyunk már hozzá!

- Gazdasági hírek?

- Fideszbérenc!

- BSDNow? 

- Kit érdekel?

- Raspberry Pi?

- Az XY gyártó reklámja!

- Microsoft hírek?

- Mit keresnek itt? Haterkedsz!

Ez így hogy?

trey @ gépház

Tanitani fogok toletek.

(Eloszor ugy fogalmaztam, hogy "tanitani foglak titeket" - tehat ezt a postot+hozzaszolasokat, de ugy offenziven felreertheto volt....)