Podivné chování IPv6

nimand

Podivné chování IPv6
« kdy: 17. 10. 2011, 23:25:24 »
Ahoj,
náš ISP nedávno začal laškovat s IPv6 přes 6in4 na vlastní server. Mám nakonfugorvaný openwrt router, kde všechno pěkně funguje (transmission bittorrent klient sdílí přes IPv6 nonstop). Problém je s delegací IPv6 dál do sítě. radvd.conf vypadá takhle:
Kód: [Vybrat]
interface ath0
{
AdvSendAdvert on;
prefix WWW:XXX:YYYY:ZZZZ::/64
{
AdvOnLink on;
AdvAutonomous on;
};
};
a interface do vnitřní sítě na routeru má na pevno WWWW:XXXX:YYYY:ZZZZ::2/64.
Po připojení klient dostane šestkovou adresu (network manager) a všechno zdá se funguje (test-ipv6.cz 10/10). Ale asi tak v řádu minut, pak spojení nějak vyhnije a IPv6 na klientovi zatuhne (na routeru jede dál bez problému). Stačí ale jediný ping z klienta na WWWW:XXXX:YYYY:ZZZZ::2 a spojení zase na chvíli ožije. A pak zase po čase zatuhne.

Netuší někdo, proč se to tak divně chová?

openwrt 10.03.1-rc5
ubuntu 11.10


Re: Podivné chování IPv6
« Odpověď #1 kdy: 18. 10. 2011, 09:18:24 »
A nadelegoval ti ISP nějaký prefix? Pokud máš od ISP jenom tunel, znamená to, že máš na místní straně k dispozici 1 adresu, případně dle konfigurace ISP jeden prefix/64, který patří tunelu. Ten se dá jistými nečistými praktikami přenést i na lokální síť, avšak čistější a praktičtější je získat od ISP jeden další prefix, který bude routovaný přes tvůj konec tunelu do tvé sítě. Např:

adresa tvého tunelu na straně ISP:
2001:123:456:789::1
adresa tvého tunelu na straně u tebe:
2001:123:456:789::2
tvůj prefix:
2001:223:456:789::/64

ISP musí mít ve směrovací tabulce záznam ve stylu:
2001:223:456:789::/64 via 2001:123:456:789::2

Ty si pak nastavíš na LAN rozhraní routeru například:
2001:223:456:789::1/64
a tento nabídneš pomocí RADVD.

nimand

Re: Podivné chování IPv6
« Odpověď #2 kdy: 18. 10. 2011, 10:08:47 »
Jo, přesně tak to je, mám prefix WWW:XXX:YYY:ZZZ::/64, místní straně tunelu jsem dal adresu WWW:XXX:YYY:ZZZ::1 (podle vzorové konfigurace od ISP). Ale myslel jsem, že můžu vzít ten svůj prefix a delegovat ho dál s tím, že zbytek adresy si domyslí stroje ve vnitřní síti. Což taky funguje, ale jenom chvíli. Takže tohle není košér řešení?

Sten

Re: Podivné chování IPv6
« Odpověď #3 kdy: 18. 10. 2011, 10:16:31 »
Jo, přesně tak to je, mám prefix WWW:XXX:YYY:ZZZ::/64, místní straně tunelu jsem dal adresu WWW:XXX:YYY:ZZZ::1 (podle vzorové konfigurace od ISP). Ale myslel jsem, že můžu vzít ten svůj prefix a delegovat ho dál s tím, že zbytek adresy si domyslí stroje ve vnitřní síti. Což taky funguje, ale jenom chvíli. Takže tohle není košér řešení?

Košer to být může, ale je nutné nahradit router za bridge.

nimand

Re: Podivné chování IPv6
« Odpověď #4 kdy: 18. 10. 2011, 10:43:42 »
Hm, tak to nehrozí...
Takže jak teď vypadá routovací tabulka u ISP? Myslel jsem, že tam mají něco jako
WWWW:XXXX:YYYY:ZZZZ::/64 via WWWW:XXXX:YYYY:ZZZZ::1
takže všechno s tímhle prefixem by šlo přes tunel ke mně a router by to nějak rozroutoval.

PS: všude má být stejný počet W, X, Y a Z...


Sten

Re: Podivné chování IPv6
« Odpověď #5 kdy: 18. 10. 2011, 11:05:09 »
Hm, tak to nehrozí...
Takže jak teď vypadá routovací tabulka u ISP? Myslel jsem, že tam mají něco jako
WWWW:XXXX:YYYY:ZZZZ::/64 via WWWW:XXXX:YYYY:ZZZZ::1
takže všechno s tímhle prefixem by šlo přes tunel ke mně a router by to nějak rozroutoval.

PS: všude má být stejný počet W, X, Y a Z...

To tam mít nemůžou. Routovaná síť musí být jiná, než síť, kterou se připojují na ten router.

nimand

Re: Podivné chování IPv6
« Odpověď #6 kdy: 18. 10. 2011, 11:13:29 »
Aha, takže jediná šance (pokud router zůstane routerem), jak dostat v6 do vnitřní sítě, je mít od ISP ještě jeden prefix...

Re: Podivné chování IPv6
« Odpověď #7 kdy: 18. 10. 2011, 12:41:31 »
Ve skutečnosti ani není bezpodmínečně nutné mít další adresy pro spojení routeru se sítí ISP. Tunel je dvoubodové spojení, takže co se do něj na jedné straně vrazí, to z druhé vypadne a není třeba, aby měl nějakou veřejnou adresu (bohatě stačí linková). Takže za předpokladu, že ISP má v routovací tabulce záznam
 WWW:XXX:YYY:ZZZ::/64 dev sitZZZ (kde sitZZZ je tunel k tobě)
... Tedy posílají ti celý prefix bez ohledu na tvou adresu (ověř tak, že z rozhraní tunelu odstraníš IPv6 adresy a spusťíš tcpdump -i sitxz ip6)
Pak by ti mělo stačit IPv6 adresu WWW:XXX:YYY:ZZZ::1/64 přiřadit namísto tunelu přímo LAN rozhraní routeru a v routovací tabulce nastavit
default dev sit0 (kde sit0 je název rozhraní tvého tunelu k ISP)


nimand

Re: Podivné chování IPv6
« Odpověď #8 kdy: 18. 10. 2011, 14:51:50 »
Bezva, vypadá to, že z tunelu lezou data i bez adresy. Tak večer vyzkouším ještě klienty v LANu.
A co kdybych měl 2 vnitřní rozhraní, třeba ethernet a wifi, to by šlo taky nějak vyřešit?

Sten

Re: Podivné chování IPv6
« Odpověď #9 kdy: 18. 10. 2011, 17:17:56 »
Bezva, vypadá to, že z tunelu lezou data i bez adresy. Tak večer vyzkouším ještě klienty v LANu.
A co kdybych měl 2 vnitřní rozhraní, třeba ethernet a wifi, to by šlo taky nějak vyřešit?

Dát je do bridge. Nevím, proč se bridge tak bojíte, je to hodně jednoduché :-)

nimand

Re: Podivné chování IPv6
« Odpověď #10 kdy: 18. 10. 2011, 17:28:31 »
OK, mě to spíš zajímalo teoreticky z hlediska IPv6, jestli by to šlo nějak rozhodit...

Sten

Re: Podivné chování IPv6
« Odpověď #11 kdy: 18. 10. 2011, 17:53:40 »
OK, mě to spíš zajímalo teoreticky z hlediska IPv6, jestli by to šlo nějak rozhodit...

Bez bridge jedině tak, že byste měl dva rozsahy. Mimochodem pokud ISP požádáte, měl by vám (dle RFC) poskytnout /48 blok, který si můžete nasekat, jak chcete.

nimand

Re: Podivné chování IPv6
« Odpověď #12 kdy: 19. 10. 2011, 11:01:02 »
Myslím, že zatím můžu být rád aspoň za ten testovací provoz přes tunel...

Jinak jsem hodil IPv6 adresu přímo na LAN rozhraní a už to funguje všechno pěkně. Teda kromě www.nic.cz, kde se jenom naváže spojení a pošle GET, ale nic zpátky už nepřijde. Ale ipv6.google.com i test-ip6.cz fungují bez problému.

Každopádně díky za konzultaci!

Re: Podivné chování IPv6
« Odpověď #13 kdy: 19. 10. 2011, 12:45:45 »
Dát je do bridge. Nevím, proč se bridge tak bojíte, je to hodně jednoduché :-)
Odkazovaný návod slouží ke konfiguraci bridge pro dva ethernety na L2. S IPv6 tunelem je to dost jiné. Zaprvé to není ethernet, za druhé je potřeba bridgeovat jen IPv6, IPv4 je zároveň potřeba routovat a NATovat. Netvrdím, že to nejde udělat, ale rozhodně to nebude tak snadné.

A co kdybych měl 2 vnitřní rozhraní, třeba ethernet a wifi, to by šlo taky nějak vyřešit?
Jistě, rozdělit přidělený prefix na dva podprefixy a dát například na LAN adresu
WWW:XXX:YYY:ZZZ:0000::1/65
a na Wifi adresu
WWW:XXX:YYY:ZZZ:8000::1/65

Problém je, že prefix jedné podsítě bude nyní delší než 64 bitů, což jednak není doporučované a především, nebude fungovat bezestavová autokonfigurace IPv6 adres.