Portál AbcLinuxu, 14. května 2025 00:00

Dotaz: Preference IPv6

19.9.2008 18:20 Andrej | skóre: 51 | blog: Republic of Mordor
Preference IPv6
Přečteno: 938×
Odpovědět | Admin

Ahoj, mám dvě připojení k Internetu, ve Zlíně a v Praze. Obě připojení používají 6to4. Z obou připojení funguje ipv6.google.com bezvadně. Z obou připojení Firefox automaticky načítá stránky z mého serveru (např. andrej.podzimek.org) v IPv6.

Co si ovšem neumím vysvětlit: Pro stránky www.ipv6.org, www.sixxs.net, www.pasnet.cz, www.cesnet.cz a další IPv6-enabled stránky Firefox ve Zlíně používá výhradně IPv6, zatímco v Praze používá výhradně IPv4, přestože má zjevně IPv6 k dispozici! Grrr. Proč to dělá?

Kde mám tedy hledat rozdíly? Než se pustím do humusů typu Ethereal, mohl by prosím někdo z vás zkusit uhodnout aspoň hint, čím by to mohlo být?

Jde o stejný Firefox na stejném notebooku a stejném Linuxu. Zlínská síť je IPv6 LAN se serverem, který slouží jako router. Ostatní počítače prostě jen poslouchají, co jim řekne radvd. Pražská síť sestává z jednoho ADSL modemu v režimu bridge a z notebooku, který si sám zařizuje PPPoE a 6to4.

Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

20.9.2008 00:09 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Preference IPv6
Odpovědět | | Sbalit | Link | Blokovat | Admin
Je možný, že se ze dvou tras vybere ta kratší - 6to4 se připojuje přes vstupní bod do ipv6 sítě (nevím jak je to aktuální, ale myslím, ze to je za hranicema).
Intel meltdown a = arr[x[0]&1]; karma | 帮帮我,我被锁在中国房
20.9.2008 16:32 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Preference IPv6

Zaprvé mi není jasné, co to znamená „kratší“. Zadruhé, když si webový prohlížeč nechá přes DNS vyhledat příslušný server, dostane odpověď, která zpravidla obsahuje několik IPv6 i IPv4 adres. Odpověď ho ale vůbec neinformuje o nějakých statistických datech nebo o rychlosti připojení! Nemá žádnou možnost zjistit, kde a jak daleko se příslušné stroje nacházejí. Prostě jeden z nich vybere a naváže s ním spojení. Velká většina programů dnes (zcela správně) preferuje vždy IPv6 adresy, jsou-li k dispozici.

Proto je mi záhadou, proč se na stejném počítači v jedné síti preferují IPv6 adresy a v jiné nikoliv. Nehledě na velmi zvláštní fakt, že při komunikaci s mým vlastním serverem (ať už z LAN nebo z Prahy) se IPv6 adresy automaticky preferují pokaždé.

20.9.2008 16:45 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Preference IPv6
Odpovědět | | Sbalit | Link | Blokovat | Admin

Jenom takový hloupý nápad: nemohlo by to být způsobeno DNS servery? Zatímco v Praze se používají DNS servery poskytovatele, ve Zlíně slouží jako DNS (samozřejmě) můj server.

Pokud jde o výsledky dotazů, není tam rozdíl. Ale podstatný rozdíl je v tom, že se serverem ve Zlíně se komunikuje přes IPv6.

Jednoduchá otázka tedy je: Má fakt, že byl DNS dotaz položen protokolem IPv6 vliv na to, které adresy ve výsledku budou preferovány? Zdá se mi, jako by se při dotazu přenášeném IPv6 preferovaly IPv6 adresy...

20.9.2008 21:15 zajdee | skóre: 11
Rozbalit Rozbalit vše Re: Preference IPv6
Z mých zkušeností nezáleží na tom, po jakém protokolu je dotaz položen. Asi mám štěstí, ale můj firefox preferuje IPv6 na všech počítačích :) (konektivita je buď nativní + autokonfigurovaná IP nebo tunelovaná přes OpenVPN do místa, kde mám nativní konektivitu).

Tak mě napadlo, jak zjišťujete, jaký protokol si Firefox vybere? Když mrknu na www.cesnet.cz, nevidím tam nikde, z jaké IP jsem přišel. Ve firefoxu mám sice ShowIP extension, ovšem ta si ukazuje co se jí zlíbí (pokud DNS vrátí IPv6 adresu, ukáže IPv6 adresu, i když hostitel přes IPv6 není dostupný) a nikoli adresu, na kterou se Firefox opravdu připojil :-)
-= Nic není tím, čím se zdá být =-
21.9.2008 18:28 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Preference IPv6

To je trik, založený na bugu. :-)

Když nainstalujete plugin zvaný Flagfox, bude Firefox v případě IPv4 adresy ukazovat stát, ve kterém se nachází server, a umí samozřejmě taky zobrazit IPv4 adresu.

Jenže Flagfox nepodporuje IPv6. Takže v případě těchto adres ukazuje otazník a hausnumera. ;-) Tím se dá okamžitě zjistit, jakým protokolem byla stránka načtena.

21.9.2008 19:01 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Preference IPv6

A mimochodem, na adresách http://www.sixxs.net/, http://www.go6.net/ a http://www.ipv6.org/ se na stránku přímo vypisuje IP adresa klienta.

IPv6-only stránky (http://ipv6.google.com/) a stránky z mého serveru fungují ve Zlíně i v Praze normálně přes IPv6.

Tři stránky zmíněné v prvním odstavci fungují ve Zlíně přes IPv6 a v Praze přes IPv4. Na stejném počítači, se stejným OS a prohlížečem... (Jen s trochu jinou konfigurací sítě.)

21.9.2008 18:39 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Preference IPv6

Pořád je mi záhadou, proč se můj Firefox na IPv6 LAN připojení ve Zlíně přes 6to4 chová „správně“, tj. preferuje IPv6, zatímco při navázání 6to4 tunelu v Praze přímo z notebooku preferuje IPv4.

Mám tu zkušenost, že tyto projevy bývají způsobeny chybnou konfigurací IPv6. Například některé podsítě fungují, zatímco u jiných se okamžitě (tj. za pár desítek milisekund) vrátí odpověď o nedosažitelnosti serveru. Na takovou chybu Firefox bleskově zareaguje tak, že vybere z DNS odpovědi IPv4 adresu a naváže spojení přes IPv4, aniž by uživatel zaregistroval nějakou prodlevu nebo chybu.

Jenže v tomhle případě to musí být jiný problém. Schválně jsem ručně pokládal DNS dotazy na servery, které umějí zároveň IPv4 a IPv6. Pak jsem zkoušel ty IPv6 adresy pingnout a všechny normálně odpovídaly přes ICMPv6.

Takže teď z toho mám v hlavě galiMatyáš.

21.9.2008 23:14 jbohac | skóre: 19 | Praha 5
Rozbalit Rozbalit vše Re: Preference IPv6
Odpovědět | | Sbalit | Link | Blokovat | Admin
Hledal bych v RFC 3484, kapitole "6. Destination Address Selection".

To co by tady mohlo mit vliv by mohlo byt Rule 6 (Prefer higher precedence) nebo "Rule 7: Prefer native transport." Celej ten algoritmus se da dost menit pomoci /etc/gai.conf.

Je mi to stale trochu zahadne, podle defaultnich hodnot by se podle mne melo stejne vybrat IPv6, protoze ::/0 ma precedence 40, zatimco ::ffff:0:0/96 (IPv4) ma precedence 10, takze by to IMHO podle Rule 6 melo vybrat IPv6 ... divny.

Kazdopadne, mozna to z nejakyho duvodu dojde az k Rule 7, kde se v Praze vybere IPv4, protoze IPv6 jde skrz nenativni linku, zatimco ve Zline jde skrz nativni (ze to pak dal jde stejne pres nenativni notebook netusi).

Mozna ze tvoje distribuce nejak pozmenila /etc/gai.conf a jsou tam nejake jine preference... nevim. Ale nekde tim smerem bych hledal zakopaneho psa, pripadne bych ho tam nekde vykopaval ;-)))
22.9.2008 05:42 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Preference IPv6

BINGO!

Díky za velmi přesnou a kvalifikovanou odpověď. Prověřit tvé tvrzení bylo velmi snadné: Spustil jsem browser přímo na serveru ve Zlíně (přes SSH). Choval se přesně stejně, jako by běžel na notebooku v Praze! (Preferoval IPv4, přestože IPv6 normálně fungoval.) Takže myslím, že máš naprostou pravdu.

Skutečně to funguje asi tak, že se preferuje „opravdové“ rozhraní před tunelem, pokud je možnost volby. Pouze tam, kde možnost volby není (IPv6-only DNS odpověď (http://ipv6.google.com/) nebo přímý požadavek na IPv6 adresu routovaný z LAN), se tuneluje.

Technicky vzato, není to vlastně patologický jev, ale jakási snaha o optimalizaci, chápu-li to dobře.

Z jiného pohledu by ale asi bylo lepší využívat IPv6, kdykoliv je to možné, a nebrat žádné ohledy na optimalizaci. Mám za to, že když budu maximálně zatěžovat IPv6 síť, přispívám tím v konečném důsledku k rychlejšímu rozšíření tohoto protokolu.

Soubor /etc/gai.conf na mých počítačích s ArchLinuxem není. Dokonce se musím přiznat, že jsem o něm nikdy neslyšel. Pokud se dá vhodnou konfigurací prosadit bezvýhradná preference IPv6, rád bych to zkusil. Je k tomu nějaké howto?

22.9.2008 07:55 T.O.M. | skóre: 22 | blog: T.O.M.'s blog | Ostrava
Rozbalit Rozbalit vše Re: Preference IPv6

Taky trochu experimentuju s IPv6 a mam asi podobny problem jako ty v Praze. Ve firefoxu jsem nasel volbu network.dns.disableIPv6 (dostupna, kdyz zadas adresu about:config), kterou jsem mel nastavenou na true. Prohlizec mi tak preferoval IPv4 spojeni, kdyz mel na vyber. Pro IPv6 only sit kupodivu pouzil korektne IPv6.

Jake bylo moje prekvapeni, kdyz pri zmene hodnoty na false nezacal preferovat IPv6, ale naopak nebyl se schopen rozhodnout a tak treba www.kame.net nezobrazil vubec.

Mozna by nebylo marne pohledat, zda firefox nema nejakou skrytou volbu ala network.dns.preferIPv6, ktera by se musela pridat rucne :-)

22.9.2008 20:48 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Preference IPv6

Samozřejmě mám protokol IPv6 ve Firefoxu povolený. Nicméně Firefox se opravdu chová různě podle toho, zda je v IPv6 LAN nebo přímo na počítači, odkud vede tunel.

Jsem si téměř jistý, že to není bug, ale feature. (Dokonce v naprostém souladu ) Trefně to popsal kolega níže. Otázka jenom je, jak se takové feature zbavit. Každý megabyte navíc přenesený po IPv6 sítích přibližuje dobu definitivního přechodu na IPv6.

22.9.2008 21:24 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: Preference IPv6
Pokud jde o /etc/gai.conf, rozebíral jsem podobný problém (řekl bych ten samý) ve svém blogu. Pokud ve vašem systému /etc/gai.conf nemáte, do prázdného souboru překopírujte citace obsahu tohoto souboru z odkazovaného článku a následně zakomentujte řádek label 2002::/16 2, jak tam doporučuji.

Ještě by mohl být problém jinde a to ve vašem ISP přes ADSL, tam hrozí riziko, že jde o Telecom, který nedodržuje jedno RFC a 6to4 packety, které neprolezou PPP zahodí, aniž by poslal chybovou zprávu ICMP Packet Too Big. Ale to se projevuje tím, že se tunelované TCP spojení zasekne.
22.9.2008 22:56 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Preference IPv6

Já jednak nemám operátora O2 (ani v Praze, ani ve Zlíně) a druhak mám správně nastavené MTU, experimentálně potvrzené. (A na serveru mám --clamp-mss-to-pmtu.) To s tím /etc/gai.conf určitě vyzkouším, díky za odkaz.

22.9.2008 05:51 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: Preference IPv6

Vlastně ještě jedna věc: Drobnou záhadou zůstává fakt, že při spojení z Prahy na můj server ve Zlíně se použije IPv6, přestože DNS dotaz vrací taktéž IPv4 adresu.

Určitě se dá i tohle nakonec nějak racionálně vysvětlit. Můj server je ze všech testovaných jediný, který používá 6to4 adresu. Třeba to může ovlivnit volbu těch preferencí. (Je to jediný rozdíl, který mě napadá.)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.