Ubuntun oletusasetuksena on avata aina IP-yhteys IPv6-osoitteeseen, jos kohteelta sellainen löytyy. Taustalla on kaunis ajatus preferoida IPv6-verkkoja ja edistää niihin siirtymistä.

Valitettavan usein käy kuitenkin niin, että IPv6-yhteys ei toimikaan ja sen kokeileminen hidastaa IPv4-yhteyden avaamista. Tämän saattaa huomata komentorivillä esimerkiksi telnet-komentoa käyttäessä. Se yrittää ensin avata yhteyden IPv6-osoitteeseen, timeouttaa, ja yrittää sitten uudelleen IPv4-osoitteeseen.

Oletusarvoa voi muuttaa konfiguraatiotiedostosta /etc/gai.conf, joka ohjailee getaddrinfo()-kutsun toimintaa. Tämä tiedosto on oletuksena tyhjä, mutta siihen voi lisätä sääntöjä määrittelemään IP-protokollien järjestyksen. Helpointa on poistaa kommentti tästä sääntörivistä:

#    For sites which prefer IPv4 connections change the last line to
#
precedence ::ffff:0:0/96  100

Muutoksen jälkeen telnet yrittää ensin IPv4-osoitetta ja vasta sitten IPv6:ta, jos IPv4-yhteys ei aukea. Muutos vaikuttaa kerralla kaikkiin sovelluksiin, jotka eivät itse tee päätöstä protokollien järjestyksestä. Esimerkiksi ping käyttää kuitenkin aina IPv4:ää ja vastaavasti ping6 IPv6:ta.

Kannattaa huomata, että tämän jälkeenkin Ubuntu tekee yhä AAAA-DNS-kyselyitä tarkistaakseen IPv6-osoitteiden olemassaolon. Asetus siis kontrolloi vain sitä, kumpi osoite (AAAA vai A) saa korkeamman preferenssin, kun IP-yhteyttä avataan. Tämä muutos ei siis mitenkään estä IPv6:n toimintaa.

Published 24.3.2012