IPv6-tunneli
Step-by-step ohjeet XS26:n IPv6-tunnelin asentamisesta Linuxiin.
Vaihtoehtoisena myös 6to4 yhteyden muodostus Funetin 6to4 anycast tunnelin kautta.
Kiinteä tunneli
Vaatimukset
Sinulla on oltava GNU/Linux kone, jolla on suhteellisen pysyvä (mieluusti kiinteä) ip-osoite (aina kun ip-osoite vaihtuu, on sinun säädettävä tunnelia). Tämän lisäksi kernelissä on oltava tuki IPv6:lle (yleensä moduulina).
Tunnelin rekisteröinti
Ensimmäinen vaihe on rekisteröidä IPv6-tunneli (tässä tapauksessa) osoitteessa www.xs26.net seuraavalla tavalla:
Luo itsellesi tunneli kohdassa Tunnels. Tarvitset vain koneesi IP:n. Anna myös sijaintisi ja koneesi käyttöjärjestelmä (Linux) Valitse aukeavasta listasta yksi (tai useampi) palvelin pingin perusteella, ja ota sen IP talteen. Kun tunneli on valmis, on aika luoda itsellesi alue Zones-kohdasta. Luo zone valisemalla Tunnel objectiksi juuri luomasi tunneli (eli koneesi IP-osoite). Kuvaukseksi kirjoita mitä haluat. Kun zone on luotu, tulee Zones-kohtaan lähes tämäntyyppinen Zone: 3ffe:80ee:2e17::/48 (luultavasti vain 2e17 poikkeaa hieman). Nyt on sitten aika laittaa tunneli toimimaan. Kopioi Help-kohdasta tunnelin käynnistysskripti, ja tee siihen seuraavat muutokset:
1. Laita kohtaan MYIPv4 palvelimesi/koneesi IP-osoite
2. Kohtaan XSIPv4 laita aiemmin tunnelia luodessasi valitsemasi palvelimen IP
3. Kohtaan MYIPv6 laita haluamasi IPv6-osoite, jonka pitää kuulua rekisteröimääsi zoneen. Mikäli zonesi alue on 3ffe:80ee:2e17::/48, voit käyttää osoitteita 3ffe:80ee:2e17::1/128, 3ffe:80ee:2e17::2ab3/128 jne. IPv6 osoite koostuu heksa-merkistön merkeistä (1,2,3,4,5,6,7,8,9,0,a,b,c,d,e,f), joita yhdessä osassa voi olla korkeintaan 4. Neljän merkin osia IPv6-osoitteesa on 8. Samalla tavalla voit lisätä myös muita IPv6-osoitteita osoittamaan koneellesi (kohdat IP0, IP1 jne). Näitä kannattaa laittaa muutama IRC:n vhosteja varten.
4. Poista kommenttimerkki (#) riveiltä "ifconfig $TUNLIF add $IPX" sen mukaan, montako lisä-IPv6-osoitetta laitoit (IP0, IP1, IP2 jne).
Tunnelin käynnistys
Chmodaa skripti ja aja se komennolla ./skriptinnimi start. Katso sitten /sbin/ifconfig:in tulostetta, siitä pitäisi löytyä kutakuinkin seuraavanlainen tuloste:
xs26-0 Link encap:IPv6-in-IPv4 inet6 addr: 3ffe:80ee:2eda::b2/128 Scope:Global inet6 addr: 3ffe:80ee:2eda::a1/128 Scope:Global inet6 addr: fe80::51c5:38a7/128 Scope:Link UP POINTOPOINT RUNNING NOARP MTU:1480 Metric:1 RX packets:8691 errors:0 dropped:0 overruns:0 frame:0 TX packets:7353 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:6347901 (6.0 MiB) TX bytes:719143 (702.2 KiB)
Sitten voitkin kokeilla tunnelin toimintaa käytännössä vaikkapa komennolla ping6 eu.irc6.net.
DNS ja reverset
Nyt sinulla onkin jo toimiva IPv6-tunneli, ja seuraavat vaiheet vaikuttavat lähinnä IRCiin. Seuraava vaihe on saattaa DNS toimintaan, jotta esim. vhostit toimisivat. Tämä onnistuu kätevästi afraid.org:issa seuraavalla tavalla:
1. Luo itsellesi tunnus
2. Kohdassa Subdomains valitse tyypiksi AAAA. Kohtaan subdomain kirjoita mitä haluat, ja kohdasta Domain valitse jokin public-merkitty domain. Address-kohtaan kirjoita jokin IPv6-osoitteesi pakkaamattomassa muodossa. Pakkaamattomaan muotoon saat muutettua osoitteesta http://grox.net/utils/ipv6.php löytyvällä ohjelmalla (valitse Address to full uncompressed. Huomaa kuitenkin että et tee ns. dnsspammia. Tarkista hostisi kelpaavuus ja lue lisää dnsspammista osoitteessa dnsspam.nl.
3. Voit samalla luoda eri subdomainin muillekkin valitsemillesi IPv6-osoitteille.
4. Seuraavaksi mene kohtaan IPv6 Reverse ja paina Add IPv6 Subnet. Lisää subnetiksi XS26:een rekisteröimäsi Zone (jotain tyyliin 3ffe:80ee:2e17::/48). Seuraavaksi paina lisäämäsi subnetin kohdalla add record, ja lisää taas täysin pakkaamattomassa muodossa IPv6-osoitteesi (huomaa että alkuosa on valmiiksi). Hostnameksi pistä Subdomains-kohdassa samalle IPv6-osoitteelle rekisteröimäsi subdomain.
Nimipalvelimet
Vielä on yksi vaihe, että reverset toimisivat: lisättävä nimipalvelimet tunneliin. Eli mene takaisin XS26:n sivuille, ja Zones-kohdassa paina tunnelisi kohdalta nappia DNS settings. Nimipalvelimiksi pistä ns1.afraid.org ja ns2.afraid.org (ja voit vielä lisätä ns3.afraid.org:in ja ns4.afraid.org:in). Nyt enään sitten odottelet että nimipalvelimet päivittyvät.
Valmis
Nyt pitäisi vhostien toimia, testaappa niitä vaikka irssillä: Käynnistä irssi ja aseta vhosti komennolla /set hostname rekisteroimasi.subdomain.jonka.olet.lisännyt.myös.ipv6.reverseksi. Sitten yhdistä vaikka EFNettiin komennolla /server -6 irc6.choopa.net. Jos yhdistys onnistuu, toimivat vhostit luultavasti. Tarkista vielä komennolla /whois nickisi, jolloin tulisi näkyä nickisi[~jotain@vhostisi].
Lisää IRC-yhteyksiä
Sitten haluat varmaan lisää yhteyksiä IRC-verkkoihin? No, EFNettiin tuo irc6.choopa.net hyväksyy aika monta yhteyttä (en ole jaksanut testata loppuun asti). IRCNettiin yksi hyvä palvelin on eu.irc6.net, johon saa i-linet osoitteessa www.irc6.net (tarvitset IPv6-tunnelin katsoaksesi tuota sivua). Ks. serveriltä saat tosin tuosta vaan vain yhden I-linen (tämä vaatii NIC handlen, katso seuraava kohta). 5 yhteyttä saat osoitteeseen irc6.starman.ee. Lisää servereitä voit etsiä googlella, ja yhteyksien määrää saat kasvatettua hakemalla lisää i-linejä palvelimille. XS26:n käyttäjät saavat myös 5 yhteyttä IRCNettiin serveriltä irc.xs26.net.
NIC-handle
Joissain tapauksissa tarvitset NIC handlen. Tämän voit rekisteröidä lähettämällä sähköpostin 6bone:een, viestin generaattori&ohjeet viestin lähettämiseen osoitteessa http://www.sixxs.net/signup/6bone/.
Virheitä
Jos saat skriptiä käynnistäessä virheen että puskuritila ei riitä, katso komennolla iptunnel mitä tunneleita sinulla on käytössä ja poista niistä kaikki mahdolliset komennolla iptunnel del nimi. Tämän jälkeen yritä ajaa skripti uudelleen.
Doodi, nyt sinulla on toimiva IPv6-yhteys koneeltasi, ja olet saanut muutaman lisäyhteydenkin irkkiin.
6to4 yhteys
Anycast 6to4 tunneli
Funetin 6to4 anycast tunnelin hyöty ylläkerrottuun kiinteään tunneliin on, ettei sitä tarvitse rekisteröidä, joten kynnys kokeiluun on pienempi. Tosin myös 6to4 tunneli vaatii julkisen ipv4 osoitteen tunnelin tekevälle koneelle.
Yhteys muodostetaan luomalla tunneli omasta koneesta ulospäin, ja osoittamalla ipv6 reititys tuon tunnelin läpi 192.88.99.1 osoitteen kautta.
Esimerkissä on itsellä ajettava scripti joka ajetaan [PPPoE] yhteyden käynnistyessä. Käytössä iproute2 paketin ip ohjelma sekä ipv6calc ohjelma, jotka yleensä löytyvät nykyisistä linux-jakeluista valmiiksi paketoituna.
6to4 scripti
Scriptissä käytetty $LOCALIP on verkkoyhteyden julkinen IP, ja $IPV6 on komennon "ipv6calc --ipv4_to_6to4addr $LOCALIP" tulos.
LOCALIP="212.50.134.65" IPV6=`ipv6calc --ipv4_to_6to4addr $LOCALIP` /sbin/ip tunnel add sit0 mode sit ttl 64 remote any local $LOCALIP /sbin/ip link set dev sit0 up /sbin/ip link set dev sit0 mtu 1400 /sbin/ip -6 addr add ${IPV6}1/16 dev sit0 /sbin/ip -6 route add 2001::/3 via ::192.88.99.1 metric 1 /sbin/ip -6 route add 3ffe::/3 via ::192.88.99.1 metric 1 /sbin/ip -6 route add default via ::192.88.99.1 dev sit 0 metric 1
Ylläolevassa scriptissäkin reittitietoja ei välttämättä tarvitse kuin tuon alimman, myöskin mtu arvon laskeminen 1400:n voi monella olla turha.