Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Internet a sítě => Téma založeno: stemar 04 Prosince 2008, 13:09:35

Název: Resolver neresolvuje IP6
Přispěvatel: stemar 04 Prosince 2008, 13:09:35
Zdravím, mám problém přesně opačný než většina dotazů na tohle téma. Pořídil jsem si na svůj domácí server (Ubuntu 8.04 LTS) IP6 tunel od tunnelbroker.net a podle všeho i úspěšně rozchodil:
Citace
[root@apstemar:~]# tracepath6 www.kame.net
 1?: [LOCALHOST]                      pmtu 1480
 1:  stemar-1.tunnel.tserv6.fra1.ipv6.he.net   27.379ms
 1:  stemar-1.tunnel.tserv6.fra1.ipv6.he.net   28.246ms
 2:  gige-g2-4.core1.fra1.he.net               41.835ms
 3:  10gigabitethernet1-4.core1.ams1.he.net    34.328ms
 4:  10gigabitethernet1-4.core1.lon1.he.net    42.014ms
 5:  10gigabitethernet2-3.core1.nyc4.he.net   109.139ms
 6:  10gigabitethernet3-1.core1.sjc2.he.net   191.599ms
 7:  10gigabitethernet3-2.core1.pao1.he.net   189.410ms
 8:  3ffe:80a::b2                             194.922ms
 9:  hitachi1.otemachi.wide.ad.jp             335.049ms
10:  2001:200:0:1802:20c:dbff:fe1f:7200       332.131ms
11:  ve42.foundry4.nezu.wide.ad.jp            376.234ms
12:  ve45.nec2.yagami.wide.ad.jp              346.502ms
13:  2001:200:0:8400::10:1                    333.288ms
14:  orange.kame.net                          337.773ms reached
     Resume: pmtu 1480 hops 14 back 51
I na příchozí spojení to funguje a např. SSHčkem se odkudkoli z IP6 sítě bez problémů na svůj server připojím (sláva!). Ale jakékoli odchozí spojení (např. právě http na www.kame.net) si vždycky "vybere" IP4 adresu a ne ne IP6. (A želvička se tedy nehýbe). V dokumentaci se píše že při resolvování se má resolver vždy nejdřív zeptat na IP6 adresu (AAAA) a teprve když neuspěje má zkusit IP4 (A). Na mnoha fórech tady i jinde se řeší jak to linuxu zatrhnout, protože to zdržuje. Jenže ten můj resolver to zjevně nedělá:
Citace
[root@apstemar:~]# resolveip www.kame.net
IP address of www.kame.net is 203.178.141.194
Po různu jsem posháněl že:
Jenže, nefunguje:
Citace
[root@apstemar:~]# cat /etc/resolv.conf /etc/nsswitch.conf
# /etc/resolv.conf
domain stemar.cz
options inet6
nameserver 127.0.0.1

# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd:         compat
group:          compat
shadow:         compat

hosts:          files dns6
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

[root@apstemar:~]# resolveip www.kame.net
resolveip: Unable to find hostid for 'www.kame.net': host not found
Ale přitom (viz resolv.conf) používám jen svůj lokální (cacheovací) DNS a ten funguje:
Citace
[root@apstemar:~]# dig -t AAAA @127.0.0.1 www.kame.net

; <<>> DiG 9.4.2-P2 <<>> -t AAAA @127.0.0.1 www.kame.net
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50332
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 13, ADDITIONAL: 13

;; QUESTION SECTION:
;www.kame.net.                  IN      AAAA

;; ANSWER SECTION:
www.kame.net.           82990   IN      AAAA    2001:200:0:8002:203:47ff:fea5:3085

;; AUTHORITY SECTION:
net.                    60908   IN      NS      E.GTLD-SERVERS.net.
net.                    60908   IN      NS      M.GTLD-SERVERS.net.

;; Query time: 8 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu Dec  4 12:47:28 2008
;; MSG SIZE  rcvd: 511
Ověřeno: funguje a dostanu stejnou odpověď i když se ho zeptám "šestkově": dig -6 -t AAAA www.kame.net
Ještě jsem zjistil že když v /etc/nsswitch.com nezměním to dns na dns6 tak se to chová ještě jinak, nedostanu host not found ale nesmyslnou adresu:
Citace
[root@apstemar:~]# resolveip www.kame.net
IP address of www.kame.net is 32.1.2.0
[root@apstemar:~]# resolveip www.seznam.cz
IP address of www.seznam.cz is 0.0.0.0
IP address of www.seznam.cz is 0.0.0.0
Abych vás nesváděl někam na špatnou cestu, opusťme myšlenky na chybné routování apod. jde čistě o to resolvování. Pokud pro jakékoli odchozí spojení použiju rovnou IP6 adresu, nebo vynutím IP6 protokol (např. u NTP serveru parametrem -6) vše funguje jak má. Jen to resolvování nějak bloudí v mlze.
Nemáte někdo nějaký nápad? Zdánlivě řeším zbytečnost, je přeci jedno kterým protokolu se spojím, jenže není tomu tak. Je celá řada kokrétních případů (např. ta želvička na www.kame.net) kde to jedno není. A taky, když už ten tunel mám, rád bych ho používal ...
Předem díky

Update: jak na to teď tady koukám, došlo mi že 32.1.2.0 by se s trochou fuzzy logic dalo chápat jako 2001:200 což se podobá začátku IP6 adresy www.kame.net (a taky začátku většiny IP6 adres). Že by stopa?
Název: Re: Resolver neresolvuje IP6
Přispěvatel: Martin Kiklhorn 31 Prosince 2008, 03:05:10
1. tip:
www.kame.net má jak ipv4 tak i ipv6 adresu, http://ipv6.google.com má pouze ipv6, http://whatismyv6.com je také test podobojí.

2. wtf resolveip ?
vysvětlí někdo proč je tato věc v Ubuntu a k čemu kromě zmatení nepřítele je dobrá? /a man jsem viděl/

Kód: [Vybrat]
hades:~$ resolveip 2001:4860:0:1001::68
Broadcast
hades:~$ resolveip ipv6.google.com
resolveip: Unable to find hostid for 'ipv6.google.com': host not found

3. takže použít něco rozumnějšího
Kód: [Vybrat]
hades:~$ host ipv6.google.com
ipv6.google.com is an alias for ipv6.l.google.com.
ipv6.l.google.com has IPv6 address 2001:4860:0:1001::68
hades:~$ host orange.kame.net
orange.kame.net has address 203.178.141.194
orange.kame.net has IPv6 address 2001:200:0:8002:203:47ff:fea5:3085
orange.kame.net has IPv6 address 2001:200:0:8000::42

4. želvička
http://ipv6.google.com projde nebo ne?
Mrkněte na http://whatismyv6.com/
Citace
"Normal Test" shows which protocol your browser preferrs when you have both IPv4 and IPv6 connectivity.

firefox (adresa about:config), něco kolem ipv... tam určitě najdete

ve výchozí instalaci (zřejmě podle switche který jste uváděl): můj firefox i epiphany preferují ipv6, traceroute se chová  tak že bez vynucení -6 se snaží připojit na ipv4, pokud není tak použije ipv6. viz:
Kód: [Vybrat]
martin@hej-hq:~$ traceroute ipv6.google.com
traceroute to ipv6.google.com (2001:4860:0:1001::68), 30 hops max, 40 byte packets
 1  2001:470:1f0b:1006::1 (2001:470:1f0b:1006::1)  0.176 ms  0.172 ms  0.203 ms
 2  kiklhorn-1.tunnel.tserv6.fra1.ipv6.he.net (2001:470:1f0a:1006::1)  89.599 ms  93.523 ms  97.698 ms
 3  gige-g2-4.core1.fra1.he.net (2001:470:0:69::1)  99.893 ms  102.564 ms  107.505 ms
 4  de-cix20.net.google.com (2001:7f8::3b41:0:1)  112.903 ms  118.321 ms  121.997 ms
 5  * * *
 6  2001:4860:0:1001::68 (2001:4860:0:1001::68)  153.185 ms  157.363 ms  162.996 ms
martin@hej-hq:~$ traceroute www.kame.net
traceroute to www.kame.net (203.178.141.194), 30 hops max, 40 byte packets
 1  192.168.4.1 (192.168.4.1)  0.518 ms  0.763 ms  0.999 ms
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  *
martin@hej-hq:~$ traceroute -6 www.kame.net
traceroute to www.kame.net (2001:200:0:8002:203:47ff:fea5:3085), 30 hops max, 40 byte packets
 1  2001:470:1f0b:1006::1 (2001:470:1f0b:1006::1)  0.196 ms  0.199 ms  0.199 ms
 2  kiklhorn-1.tunnel.tserv6.fra1.ipv6.he.net (2001:470:1f0a:1006::1)  23.572 ms  27.483 ms  32.638 ms
 3  gige-g2-4.core1.fra1.he.net (2001:470:0:69::1)  34.840 ms  40.974 ms  42.949 ms
 4  10gigabitethernet1-4.core1.ams1.he.net (2001:470:0:47::1)  54.254 ms  59.385 ms  63.029 ms
 5  10gigabitethernet1-4.core1.lon1.he.net (2001:470:0:3f::1)  76.316 ms  86.878 ms  87.375 ms
 6  10gigabitethernet2-3.core1.nyc4.he.net (2001:470:0:3e::1)  157.579 ms  171.236 ms  171.578 ms
 7  10gigabitethernet3-1.core1.sjc2.he.net (2001:470:0:33::1)  251.645 ms  216.633 ms  221.747 ms
 8  10gigabitethernet3-2.core1.pao1.he.net (2001:470:0:32::2)  226.415 ms  230.035 ms  232.537 ms
 9  3ffe:80a::b2 (3ffe:80a::b2)  235.965 ms  228.364 ms  227.767 ms
10  hitachi1.otemachi.wide.ad.jp (2001:200:0:4401::3)  370.212 ms  358.754 ms  354.263 ms
11  2001:200:0:1802:20c:dbff:fe1f:7200 (2001:200:0:1802:20c:dbff:fe1f:7200)  357.459 ms  326.274 ms  325.535 ms
12  ve42.foundry4.nezu.wide.ad.jp (2001:200:0:11::66)  329.867 ms  324.721 ms  328.129 ms
13  ve45.nec2.yagami.wide.ad.jp (2001:200:0:12::74)  330.371 ms  328.242 ms  329.604 ms
14  2001:200:0:8400::10:1 (2001:200:0:8400::10:1)  331.602 ms * *
15  orange.kame.net (2001:200:0:8002:203:47ff:fea5:3085)  328.641 ms  326.255 ms  329.875 ms
martin@hej-hq:~$

Je to o jeden hop více, protože mám na druhém stroji (na kterém končí tunel) zprovozněný RA přes radvd a advertizuji od HE přidělený routed/64 rozsah. Zkoušel jsem i IE v WM6 PocketPC a ten také preferuje připojování přes IPv6 (pokud máte něco podobného po ruce a chcete potvrdit/vyloučit chybné nastavení v Ubuntu...) 
BTW: zpětný traceroute (třeba přes Looking Glass (http://lg.he.net/cgi-bin/index.cgi) ) vám prochází?
Název: Re: Resolver neresolvuje IP6
Přispěvatel: stemar 25 Února 2009, 14:10:40
Děkuji za nakopnutí správným směrem. Ono to opravdu bylo především o tom, že zrovna ty aplikace které jsem namátkou zkoušel (hlavně resolveip a sqiud) se zrovna s IPv6 nekamarádí. Stačilo např. jen použít ten host, případně vypnout Firefoxu používání toho Squida a voila! ;D

(http://ipv6.he.net/certification/create_badge.php?pass_name=stemar&badge=3) (http://ipv6.he.net/certification/scoresheet.php?pass_name=stemar)

Zkuste si to taky, IPv6 je vzrušující dobrodružství a s linuxem a Tunnelbroker (http://www.tunnelbrokerer.net) je to na dosah ruky!
Mně u toho pomohly tyhle stránky:
Root: jak jednoduše a rychle na IPv6 (http://www.root.cz/clanky/navod-jak-jednoduse-a-rychle-na-ipv6/)
Michal Ludvig: IPv6 krok za krokem (http://www.logix.cz/michal/doc/article.xp/ipv6-1)
a samozřejmě česká "bible" IPv6: Pavel Satrapa - IPv6 (http://knihy.nic.cz/ipv6/)
Název: Re: Resolver neresolvuje IP6
Přispěvatel: Martin Kiklhorn 25 Února 2009, 17:59:00
Jsem rád že se povedlo a že další člověk jede na IPv6.
Když už jste s tím začal tak se také pochlubím certifikátem.
(http://ipv6.he.net/certification/create_badge.php?pass_name=kiklhorn&badge=3) (http://ipv6.he.net/certification/scoresheet.php?pass_name=kiklhorn)

Na naši wiki jsem přidával také návod na IPv6 připojení  (http://wiki.ubuntu.cz/ipv6) přes SixXS .
TunnelBroker (http://www.tunnelbroker.net/) jsem tam záměrně neuváděl i když jej pro jeho rychlost mám nejraději, ale HE není rozumně použitelný pro lidi s neveřejnou IPv4
Název: Re: Resolver neresolvuje IP6
Přispěvatel: stemar 26 Února 2009, 13:37:30
Teď už zabíhám hodně off-topic, kdyžtak to prosím smažte.
Hrozně by mě zajímalo jak se dá nějakými běžnými prostředky, v mezích daných alespoń trestním zákoníkem, dosáhnout toho aby vám někdo do TLD nameserverů .cz přidal IPv6 glue record? Je fakt že sám mám poměrně blbý hosting - otoman.cz (používám to celé v podstatě jen na hraní, nemám chuť platit "profi" ceny) ale ten glue record do nic.cz bych, domnívám se, nedostal přes nikoho.
Problém s he.net a s neveřejnou adresou je řešitelný. Jedná se ale o tak ohavný, sobecký a surový způsob, že se ho sem ostýchám napsat. Kdyby jste ho někdo potřeboval znát, pošlete mi PMko. Oproti jiným IP6 tunelům mi Tunnelbroker přišli rychlí jednak se zřízením, jednak mám teď na IPv6 málem lepší odezvy než na originální "nosné" IPv4.
Název: Re: Resolver neresolvuje IP6
Přispěvatel: Martin Kiklhorn 29 Března 2009, 17:00:27
Odpovídám "trochu" se zpožděním, nepoužíval jsem sice cz, ale u cz domény bych také problém neviděl.

TLD na IPv6 jede
Kód: [Vybrat]
; <<>> DiG 9.5.1-P1 <<>> ns cz
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12559
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 11

;; QUESTION SECTION:
;cz. IN NS

;; ANSWER SECTION:
cz. 165524 IN NS D.NS.NIC.cz.
cz. 165524 IN NS B.NS.NIC.cz.
cz. 165524 IN NS C.NS.NIC.cz.
cz. 165524 IN NS F.NS.NIC.cz.
cz. 165524 IN NS A.NS.NIC.cz.
cz. 165524 IN NS E.NS.NIC.cz.

;; ADDITIONAL SECTION:
A.NS.NIC.cz. 165524 IN A 217.31.205.180
A.NS.NIC.cz. 165524 IN AAAA 2001:1488:dada:176::180
B.NS.NIC.cz. 170934 IN A 217.31.205.188
B.NS.NIC.cz. 165524 IN AAAA 2001:1488:dada:184::188
C.NS.NIC.cz. 169154 IN A 195.66.241.202
C.NS.NIC.cz. 169154 IN AAAA 2a01:40:1000::2
D.NS.NIC.cz. 165524 IN A 193.29.206.1
D.NS.NIC.cz. 165524 IN AAAA 2001:678:1::1
E.NS.NIC.cz. 165524 IN A 194.146.105.38
F.NS.NIC.cz. 165524 IN A 193.171.255.48
F.NS.NIC.cz. 165524 IN AAAA 2001:628:453:420::48

;; Query time: 10 msec
;; SERVER: 193.85.1.100#53(193.85.1.100)
;; WHEN: Sun Mar 29 16:20:22 2009
;; MSG SIZE  rcvd: 359
a podívejte se sem:

https://www.sixxs.net/faq/dns/?faq=ipv6glue
https://www.forpsi.com/domain/cr-nsset.php