Muokataan sivua IPv6-tunneli
Siirry navigaatioon
Siirry hakuun
Kumoaminen voidaan suorittaa. Varmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen julkaise alla näkyvät muutokset.
Nykyinen versio | Oma tekstisi | ||
Rivi 1: | Rivi 1: | ||
IPv6 on Internetissä nykyisin käytetyn IP-protokollan version 4 saumattomaksi seuraajaksi tarkoitettu protokollaversio, jossa suurimpia muutoksia ovat mm. suurempi osoiteavaruus ja tilaton autokonfiguraatio. IPv6-osoitteen ja IPv6-verkkoavaruuteen kytkeytyminen onnistuu nykyisen IPv4-protokollan ylitse tunneloimalla paketit IPv4-protokollaan käyttäen eli ns. 6to4-tunneli. | |||
Tunneleita voi olla joko kiinteitä, jotka vaativat jonkinlaisen rekisteröinnin, sekä ns. anycast-tunneli, jolloin eräs IPv4-osoite (192.88.99.1) löytyy maailmalta useammastakin paikasta ja paketit ohjautuvat aina lähimpään tätä anycast-palvelua tarjoavaan reitittimeen. Alla on ohjeet sekä kiinteän että anycast-tunnelien pystyttämiseen. | |||
==Kiinteä [http://www.xs26.net XS26:n] 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=== | |||
'''Huomautus!''' xs26:n sivut ovat uudistuneet, eivätkä tämän artikkelin ohjeet toimi suoraan, vaan joudut soveltamaan niitä! | |||
Ensimmäinen vaihe on rekisteröidä IPv6-tunneli (tässä tapauksessa) osoitteessa [http://www.xs26.net 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: | |||
#Laita kohtaan MYIPv4 palvelimesi/koneesi IP-osoite<br> | |||
#Kohtaan XSIPv4 laita aiemmin tunnelia luodessasi valitsemasi palvelimen IP<br> | |||
#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.<br> | |||
#Poista kommenttimerkki (#) riveiltä "ifconfig $TUNLIF add $IPX" sen mukaan, montako lisä-IPv6-osoitetta laitoit (IP0, IP1, IP2 jne).<br> | |||
===Tunnelin käynnistys=== | |||
Anna skriptille suoritusoikeudet (<tt>chmod +x skriptinnimi</tt>) 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. | |||
===Anycast-tunnelin käyttöönotto=== | |||
Jos sinulla on julkinen ipv4-osoite voit myöskin käyttää siihen sisältyvää /48 blockia ipv6sia. Voit muuttaa ipv4-osoitteesi ipv4to6to4-muotoon sivua http://grox.net/utils/ipv6.php hyväksikäyttäen. | |||
Anycast-tunnelia voi käyttää ilman rekisteröintiä käyttämällä IP-numeroa 192.88.99.1. Suomessa useimmilla tämä tarkoittaa, että verkkoliikenne ohjautuu Funetin ylläpitämään tunneliin, mutta 192.88.99.1 on siitä erikoinen IP-osoite, että sen jokainen operaattori voi ohjata omaan tunnelipurkkiinsa ja siten samalla IP-numerolla löytää aina lähimmän anycast-tunnelin. | |||
Seuraavilla komennoilla saat tunnelin käyttöösi. Esimerkiksi on valittu 85.76.180.111 ipv4-osoite, joka on muutettu 6to4-muotoon 2002:554c:b46f:: ja sitten otettu käyttöön ::1 ja ::2 osoitteet sen ipv6-alueesta. | |||
modprobe ipv6 | |||
ip tunnel add tun6to4 mode sit ttl 255 remote any local 85.76.180.111 | |||
ip link set dev tun6to4 up | |||
ip -6 addr add 2002:554c:b46f::1/16 dev tun6to4 | |||
ip -6 addr add 2002:554c:b46f::2/16 dev tun6to4 | |||
ip -6 route add 2000::/3 via ::192.88.99.1 dev tun6to4 metric 1 | |||
===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 [http://freedns.afraid.org afraid.org:issa] seuraavalla tavalla: | |||
#Luo itsellesi tunnus<br> | |||
#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 [http://www.dnsspam.nl dnsspam.nl].<br> | |||
#Voit samalla luoda eri subdomainin muillekkin valitsemillesi IPv6-osoitteille.<br> | |||
#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.<br> | |||
=== 6to4 -tunnelin pystytys | ===Nimipalvelimet=== | ||
Jotta reverset toimisivat, sinun on lisättävä nimipalvelimet tunneliin. Mene XS26:n sivuille, ja Zones-kohdassa paina tunnelisi kohdalta nappia DNS settings. | |||
Käytä nimipalvelimina: | |||
ns1.afraid.org | |||
ns2.afraid.org | |||
(voit halutessasi vielä lisätä ns3.afraid.org:in ja ns4.afraid.org:in) | |||
Tämän jälkeen joudut odottamaan nimipalvelimien päivittymistä. Afraid.org:in palvelimet päivittyvät noin 5 minuutin välein, mutta jos käytät omalla koneellasi operaattorisi nimipalvelimia, voi kestää jopa 48 tuntia ennenkuin tiedot päivittyvät niille asti. | |||
==Anycast-tunneli== | |||
===Anycast 6to4 -tunnelin pystytys=== | |||
Anycast-tunnelin hyöty ylläkerrottuun kiinteään tunneliin on, ettei sitä tarvitse rekisteröidä, joten kynnys kokeiluun on pienempi. Toinen merkittävä hyöty on anycastista on se, että tunnelointi tapahtuu aina lähimmän anycast-palvelua tarjoavan reitittimen kautta, jolloin usein paketit kiertävät tunneloituna lyhyemmän matkan. Samoin kuin kiinteä tunneli, myös anycast-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 osoitteen 192.88.99.1 kautta. [http://www.faqs.org/rfcs/rfc3068.html] | |||
Esimerkissä on itsellä ajettava skripti, 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. | |||
*Katso myös [http://www.csc.fi/funet/palvelut/yhd/ipv6/funet6to4 Funetin ohjeita]. | |||
===Anycast-skripti=== | |||
Skriptissä käytetty $LOCALIP on verkkoyhteyden julkinen IP, ja $IPV6 on komennon "ipv6calc --ipv4_to_6to4addr $LOCALIP" tulos. | Skriptissä käytetty $LOCALIP on verkkoyhteyden julkinen IP, ja $IPV6 on komennon "ipv6calc --ipv4_to_6to4addr $LOCALIP" tulos. | ||
Rivi 34: | Rivi 94: | ||
/sbin/ip -6 route add default via ::192.88.99.1 dev tun6to4 metric 1 | /sbin/ip -6 route add default via ::192.88.99.1 dev tun6to4 metric 1 | ||
Ylläolevassa skriptissäkin reittitietoja ei välttämättä tarvitse kuin tuon alimman, myöskin [[MTU]]-arvon laskeminen 1400 voi monella olla turha. | |||
===6to4-reititys=== | ===6to4-reititys=== | ||
Oletettavasti Linux-koneesi on verkkosi laidalla [[NAT]]-reitittimenä. Nyt kun tunneli on toiminnassa, voidaan laittaa muutkin lanissa olevat koneet verkkoon julkisilla IP-osotteilla. Radvdn käyttö ei ole pakollista, voit määrittää kaikille koneille myös käsin IPv6-osoitteet ja laittaa tunnelikoneen kautta reitityksen toimimaan, Mutta käytettäessä radvd:tä, kaikki sisäverkon koneet saavat automaattisesti IPv6-osoitteen. | |||
===radvd=== | |||
Jotta sisäverkon koneille saadaan | Jotta sisäverkon koneille saadaan reititettyä IP-osoitteet, pitää niille kertoa, missä IPv6-reititin on. Tätä varten tunnelikoneelle tarvitaan radvd palvelu. Radvdn löydät [http://v6web.litech.org/radvd/ täältä], tai oman jakelusi [[Paketinhallinta|paketinhallinnasta]]. | ||
Nyt kun radvd on asennettu, pitää luoda radvd.conf tiedosto /etc/radvd/ kansioon. Prefix rivin tulee olla muotoa ::/64 vaikka saatkin /48-verkon. Oletetaan että laniin päin menevä verkkokortti on eth1, tällöin konfiguraatio olisi seuraavanlainen: | |||
(korvaa {$IPV6} heksamuodossa olevalla ip-osoitteellasi) | (korvaa {$IPV6} heksamuodossa olevalla ip-osoitteellasi) | ||
Rivi 81: | Rivi 128: | ||
/sbin/ifconfig eth1 | /sbin/ifconfig eth1 | ||
Listauksessa pitäisi olla | Listauksessa pitäisi olla inet6 addr: 2002:xxxx:xxxx muotoinen osoite. | ||
Mikäli verkkokortilla ei ole 2002:xxxx:xxxx ipv6 osoitetta, voit lisätä sen seuraavasti: | Mikäli verkkokortilla ei ole 2002:xxxx:xxxx ipv6 osoitetta, voit lisätä sen seuraavasti: | ||
/sbin/ip -6 addr add ${IPV6}:2/128 dev eth1 | /sbin/ip -6 addr add ${IPV6}:2/128 dev eth1 | ||
Tarkista ipv6 reititys tunnelikoneella: | Tarkista ipv6 reititys tunnelikoneella: | ||
Rivi 110: | Rivi 158: | ||
... | ... | ||
===Suora IPv6 lähiverkossa=== | |||
Tarkista koneelta lähiverkossa, että sillä on IPv6-osoite | Tarkista koneelta lähiverkossa, että sillä on IPv6-osoite | ||
Rivi 133: | Rivi 181: | ||
/sbin/ip -6 route add default via 2002:xxxx:xxxx::2 dev eth0 metric 1 | /sbin/ip -6 route add default via 2002:xxxx:xxxx::2 dev eth0 metric 1 | ||
===6to4 reverset | ===6to4 reverset=== | ||
Jotta voisit käyttää reverse | Jotta voisit käyttää reverse dnssää 6to4:n kanssa, pitää osoitealue ensin rekisteröidä, ja määrittää sille nimipalvelimet. | ||
Tämä onnistuu [http://6to4.nro.net 6to4.nro.net:issä]. Avaa sivu IPv6 yhteensopivalla selaimella, ja syötä tarvittavat nimipalvelin tiedot. Voit käyttää nimipalvelimina kohdan 1.4 mukaisesti afraid.org:ia. | Tämä onnistuu [http://6to4.nro.net 6to4.nro.net:issä]. Avaa sivu IPv6 yhteensopivalla selaimella, ja syötä tarvittavat nimipalvelin tiedot. Voit käyttää nimipalvelimina kohdan 1.4 mukaisesti afraid.org:ia. | ||
==Teredo== | ==Teredo== | ||
Teredo on viimeinen toivo IPv6-yhteyden järjestämiseen | Teredo on viimeinen toivo IPv6-yhteyden järjestämiseen. Se muistuttaa 6to4-tekniikkaa siinä, että yhteyden luominen on varsin dynaaminen eli mitään rekisteröintiä tms. ei tarvita. Merkittävä ero kuitenkin on, että IPv6-paketit tunneloidaan UDP-protokollan päällä, minkä ansiosta yhteyden muodostaminen onnistuu varmemmin [[NAT]]in tai palomuurin takaa. Teredo mahdollistaa esimerkiksi IPv6-yhteydet GPRS/3G-yhteyden yli, mutta esimerkiksi Soneran verkossa kannattaa käyttää prointernet-yhteyttä tavallisen internet-APN:n sijasta. [http://www.remlab.net/miredo/ Miredo] on Linuxissa toimiva Teredo-toteutus, joka on suhteellisen helppo asentaa, sillä se ei yleensä vaadi kernelin uudelleenkääntämistä. | ||
== Osoitteen valinta == | == Osoitteen valinta == | ||
Rivi 151: | Rivi 195: | ||
Aina kun jokin sovellus muodostaa esim. TCP-yhteyden jonnekin, täytyy valita käytettävät lähde- ja kohdeosoitteet. Käytännössä tehdään nimipalvelukysely, johon saadaan vastaukseksi joko IPv4- tai IPv6-osoite tai molemmat. [http://www.ietf.org/rfc/rfc3484.txt RFC 3484] määrittelee perusperiaatteet, joiden mukaan tehdään valinta, jos mahdollisuuksia on useampi. | Aina kun jokin sovellus muodostaa esim. TCP-yhteyden jonnekin, täytyy valita käytettävät lähde- ja kohdeosoitteet. Käytännössä tehdään nimipalvelukysely, johon saadaan vastaukseksi joko IPv4- tai IPv6-osoite tai molemmat. [http://www.ietf.org/rfc/rfc3484.txt RFC 3484] määrittelee perusperiaatteet, joiden mukaan tehdään valinta, jos mahdollisuuksia on useampi. | ||
Yksi perusperiaatteista on, että jos käytössä on sekä tunneloitu että tunneloimaton yhteys, käytetään tunneloimatonta | Yksi perusperiaatteista on, että jos käytössä on sekä tunneloitu että tunneloimaton yhteys, käytetään tunneloimatonta. Tästä syystä kone, jonka IPv6-yhteys on hoidettu esimerkiksi 6to4-tekniikalla, muodostaa oletuksena IPv4-yhteyden molempia protokollia tukevalle palvelimelle. Uudehkoissa Linux-jakeluissa tämä on mahdollista muuttaa muokkaamalla /etc/gai.conf -tiedostoa: | ||
<pre> | <pre> | ||
label ::1/128 0 | label ::1/128 0 | ||
label ::/0 1 | label ::/0 1 | ||
label 2002::/16 2 | #label 2002::/16 2 | ||
label ::/96 | label ::/96 3 | ||
label ::ffff:0:0/96 4 | label ::ffff:0:0/96 4 | ||
precendence ::1/128 50 | precendence ::1/128 50 | ||
precendence ::/0 40 | precendence ::/0 40 | ||
Rivi 169: | Rivi 210: | ||
</pre> | </pre> | ||
Toisin sanottuna kommentoimalla pois " | Toisin sanottuna kommentoimalla pois "label 2002::/16" -rivi varmistetaan että 6to4-osoitteita ei syrjitä muiden kustannuksella. Huom! gai.conf -tiedostoon tehdyt muutokset astuvat oletuksena voimaan vain käynnistämällä kone uudelleen. | ||
==Valmis== | |||
Nyt pitäisi vhostien toimia, voit testata niitä vaikka [[irssi]]llä: 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]. | Nyt pitäisi vhostien toimia, voit testata niitä vaikka [[irssi]]llä: 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]. | ||
Rivi 241: | Rivi 228: | ||
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. | 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. | ||
IRCnettiin irc.cc.tut.fi päästää sisään ilman i-line pyyntöjä .fi-reverseillä (ilmankin reverseä pääsee) 2 yhteyttä samasta ipv6 osoitteesta (korjatkaa jos löytyy tarkempaa tietoa | IRCnettiin irc.cc.tut.fi päästää sisään ilman i-line pyyntöjä .fi-reverseillä (ilmankin reverseä pääsee) 2 yhteyttä samasta ipv6 osoitteesta (korjatkaa jos löytyy tarkempaa tietoa) | ||
===NIC-handle=== | ===NIC-handle=== |