Fórum Root.cz
Hlavní témata => Sítě => Téma založeno: nimand 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:
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
-
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.
-
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í?
-
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.
-
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...
-
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.
-
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...
-
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)
-
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?
-
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é (http://wiki.webstep.net/czfree/5) :-)
-
OK, mě to spíš zajímalo teoreticky z hlediska IPv6, jestli by to šlo nějak rozhodit...
-
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.
-
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!
-
Dát je do bridge. Nevím, proč se bridge tak bojíte, je to hodně jednoduché (http://wiki.webstep.net/czfree/5) :-)
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.