Mivel az AWS 2024. februártól bevezeti a havi sarcot a publikus IPv4 címekre, felmerült az igény, hogy az otthoni hálózatomból is jó lenne, ha elérnék publikus IPv6 címeket, és tudnám menedzselni az immár IPv6-only AWS node-omat.
Itthon router szempontból egy Turris MOX van, amin eddig az IPv6 funkcionalitás ki volt gyomlálva.
Jelenleg Vodafone-os kábeles netem van, ami IPv4-only, így jobb híján maradt megoldásnak a Hurricane Electric-es IPv6 tunnel.
A HE tunnel regisztrációja és létrehozása rendben ment. Az OpenWRT oldali konfigot ez alapján a cikk alapján csináltam.
A tunnel létre is jött, és a tunnel által leküldött prefix-ek le is terítődnek a kívánt belső hálózatokba az openwrt-s DHCPv6 szerveren keresztül, viszont a routing nem működik jól, és így ki sem tudok látni az Internetre IPv6-on.
A routerről tesztelve legfeljebb a tunnel másik vége az, amit pingelni tudok.
Segítséget szeretnék kérni, hogy mit kellene beállítanom még, hogy rendesen működjön az IPv6 elérés.
A routeren:
root@router:~# ip -6 a s
...
68: 6in4-wan6@NONE: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1480 state UNKNOWN qlen 1000
inet6 2001:470:XXXX:YYY::2/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::c0a8:a/64 scope link
valid_lft forever preferred_lft forever
70: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 state UP qlen 10000
inet6 2001:470:ZZZZ::1/64 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 fe80::da58:d8ff:fe01:cdc9/64 scope link
valid_lft forever preferred_lft forever
...
root@router:~# ip -6 ro sh
default from 2001:470:XXXX:YYY::/64 dev 6in4-wan6 proto static metric 1024 pref medium
default from 2001:470:ZZZZ::/48 dev 6in4-wan6 proto static metric 1024 pref medium
2001:470:XXXX:YYY::/64 dev 6in4-wan6 proto kernel metric 256 pref medium
2001:470:ZZZZ::/64 dev br-lan proto static metric 1024 pref medium
unreachable 2001:470:ZZZZ::/48 dev lo proto static metric 2147483647 pref medium
...
root@router:~#
Egy LAN-os végponton:
root@host:~# ip -6 ro sh
::1 dev lo proto kernel metric 256 pref medium
2001:470:ZZZZ::fe5 dev enxcABCD proto kernel metric 102 pref medium
fe80::/64 dev enxcABCD proto kernel metric 1024 pref medium
root@host:~# ip -6 a s
...
26: enxcABCD: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 state UP qlen 1000
inet6 2001:470:ZZZZ::fe5/128 scope global dynamic noprefixroute
valid_lft 22526sec preferred_lft 22526sec
inet6 fe80::1803:dc8b:c2d1:bfd1/64 scope link noprefixroute
valid_lft forever preferred_lft forever
root@host:~#
A fentiek alapján az lehet a probléma, hogy a default route nem kerül leterítésre a kliensek felé. A helyes default route beállítás elvileg a router br-lan interfészén felvett 2001:470:ZZZZ::1 cím lenne.
Ha pedig a routeren próbálok internetes IPv6 címeket pingelni, akkor jó eséllyel az lehet a gond, hogy nem a router, a tunnel által leterített /48-as tartománybeli címével keletkezik a forgalom és mivel a helyes default route csak a /48-beli forrásból származó forgalomra vonatkozik, így nem talál be a tunnelbe.
Az egyedüli bajom csak az, hogy az openwrt webes felületén nem találtam semmi arra vonatkozó lehetőséget, hogy beállítsam a DHCPv6 által leterítendő IPv6-os default route-ot. Esetleg van erre valamilyen lehetőség?
Előre is köszönöm!
János
Hozzászólások
Jó regglt a korán ébredőknek! (up)
... The vision and the mission lost,
For those with corporate souls ...
Slackware Linux current | 5.10.38-janos
A default route-ot nem a DHCPv6 protokoll szoláltatja, hanem a router advertisment üzenetek. Valszeg annál lesz a hiba. Milyen verziójú openwrt fut a routeren?
A lanos végponton tudsz egy ilyen tcpdumpot futtatni?
sudo tcpdump -vvvv -ttt -i any icmp6 and 'ip6[40] = 134'
Ez meg fogja mondani, hogy mit hirdet a router a kliens felé.
Illetve most olvasom, hogy a routerről sem működik az IPv6. Lehet először azt kellene megfixálni.
Egyelőre ezt kapom.
... The vision and the mission lost,
For those with corporate souls ...
Slackware Linux current | 5.10.38-janos
A konfig változtatások után már rendben leterülnek a route-ok. Köszönöm a tippet!
... The vision and the mission lost,
For those with corporate souls ...
Slackware Linux current | 5.10.38-janos
Ezt annó shell scriptel oldottam meg, akkor se ment másképp. Annyi volt az automatizmus, hogy a hotplugd kezelte az eseményt, azaz ha letrejött a tunnel akkor felvettem rá az IP-t meg a route-ot.
Fedora 38, Thinkpad x280
A tuzfalon at kell engedned a 6in4 (proto 41) csomagokat a HE tunnel vegpontja felol.
Elvileg a tunnel felépül, szóval annak át kellene mennie, de majd ellenőrzöm, hogy így van-e.
... The vision and the mission lost,
For those with corporate souls ...
Slackware Linux current | 5.10.38-janos
A tűzfalon felvettem a proto 41 beengedését.
... The vision and the mission lost,
For those with corporate souls ...
Slackware Linux current | 5.10.38-janos
nekem a HE tunnel nem nagyon mukodott, sokfele persze ment a ping, de a sebesseg is tre volt (1-2 mbit) es nem minden halozat volt elerheto belole. szerintem sok helyen tiltjak is a potencialis veszelyek miatt.
A sebesség olyan, amilyen, nekem böngészésre megfelelt. Azonban ezzel automatikusan 'külföldi' lettem, olyan szolgáltatások, amelyek csak magyarországi IP címeket szolgáltak ki, helyből meghaltak, amíg le nem lőttem az IPv6-ot (sajnos az alkalmazásban nem lehet választani, hogy v4-en menjen, ha van v6, többnyire az az elsődleges. Emiatt aztán le is szálltam a HE-ről. Amit meg a Voda ad v6-ot, az használhatatlan (nincs rendes prefix delegation, eddig már kétszer kellett visszakérnem a v4-et. Sajnos szolgáltatás-megújításkor átteszik v6-ra).
A klienseken a helyes default route ::/0 a link-local gateway fe80::aaaa:bbbb:cccc:dddd felé kell mutasson. A routeren pedig nálam: default dev 6in4-wan6 a route.
Lépésenként az aknamezőn. Amig "A routerről tesztelve legfeljebb a tunnel másik vége az, amit pingelni tudok.", addig a kliensek se fognak tovább látni (vagy addig se). Elsőként a routeren kéne rendbe tenni az IPv6-ot, legyen onnan elérhető minden, a kliensekkel utána foglalkozzunk.
A tünet alapján egyébként a routeren annyi route van, hogy a tunel ezen végén keresztül a másik vége elérhető - az meg hiányzik, hogy a másik végén elérhető minden más...
Nálam Digi van, az PPoE-n ad IPv6-ot is. Ott a tunelt maga a pppd konfigolja be, de kizárólag link-local címekkel. Ezen a ponton hiába is lenne default gw. a ppp0 túloldala, amíg a helyi oldal nem kap valós IPv6 címet, addig szintén karcsú a kinézegetés az IPv6 világ felé. IPv6-ot viszont már a standard IPv6 router advertisement alapján kap - kicsit később.
Ha ez gurul, akkor jöhet a folytatás: a router hogy ad IPv6 címet, illetve IPv6 router címet a kliensek felé? A kliensek megkapják-e? ...
Ha ez segít, én leírhatom az én OpenWRT-m 6-in-4 konfigurációját, ami nálam kiválóan működik. Szintén Tunnelbroker. A szolgáltatótól csak IPv4 WAN címet kapok.
Irtam erről egy blogot.
Köszönöm szépen, most próbálom cross-reference-elni a konfigodat az enyémmel.
... The vision and the mission lost,
For those with corporate souls ...
Slackware Linux current | 5.10.38-janos
Nagyjából átrágtam magam a konfigodon, jópár dolgot átemeltem tőled, és néhányat pedig csak simán megváltoztattam a routeremen.
A route-ok már sokkal jobban néznek ki és a tűzfal szabályai is jobban rendbe vannak téve, de valamiért a forgalom nem megy ott ki ahol kellene neki.
Más magyarázatot nem nagyon találok, mint hogy a tűzfal lehet elkefélve valamilyen szempontból.
A pingjeim az index.hu AAAA-i felé rouing szerint eltalálnának jó felé, de tcpdump-olva az "any" interfészen, a forgalmam nem jelenik meg sehol.
Majd holnap technikaibb leírást is adok majd erről.
... The vision and the mission lost,
For those with corporate souls ...
Slackware Linux current | 5.10.38-janos
Nos, csak most jutott időm, hogy ezzel foglalkozzak kicsit.
A helyzet a következő:
A LAN-os hosztról pingelve a router LAN oldali lábának címével kapok választ, mely szerint "Destination unreachable: No route". Ha a routerről próbálom, csak 100%-os packet losst látok. A routing szerint jó irányban látszik a hoszt.
A routerről pingelve az indexet IPv6-on, azt látom a "tcpdump -peni any host 2a02:730:4000::c0 or host 2a02:730:4000::f0" kimenetében, hogy a filter nem kap el semmit sem, egyik interfészen sem, ergo a tűzfal valószínűleg eldobja a forgalmat és ki sem megy sehová. (Ha a tunnel HE felőli végpontját pingelem IPv6 felett, akkor az a megfelelő filterrel látszik a tcpdump kimenetén, tehát nem az a gond, hogy nem látja a tunnelben menő forgalmat.)
A LAN-os gépemről:
A routerről:
... The vision and the mission lost,
For those with corporate souls ...
Slackware Linux current | 5.10.38-janos
Nem tudom, valami biztos van, amit nem veszek észre, és ami miatt eldobódnak a kifelé menő új IPv6 kapcsolatokhoz tartozó csomagok.
... The vision and the mission lost,
For those with corporate souls ...
Slackware Linux current | 5.10.38-janos
A default route6 be van állítva?
Ezt határozottan beletettem a network configba:
... The vision and the mission lost,
For those with corporate souls ...
Slackware Linux current | 5.10.38-janos
A LAN (br-lan) interfésznek négyféle címe van:
Ezeket nézd meg, hogy a kliensekből pingelhetők-e.
Továbbá IPv4-en pingelni kell tudni a HE távoli végpontot, ami 216.66.87.14, és IPv6-on a tunnel távoli végpontot, ami 2001:470:cccc:dddd::1
Minden kliens kell kapjon egy IPv6 global címet prefix delegation által, ami 2001:470:xxxx:1::valami/128 (ahol xxxx ugyanaz, mint a br-lan interfészen az IPv6 global címben levő xxxx.
A WAN6 (6in4-wan6) interfésznek háromféle IPv6 címe van, ebből a link-local fe80:: nem érdekes, a többi:
Ezeket ellenőrizd, hogy megvannak-e, pingelhetőek-e, stb.
Köszi a tippeket!
Nos, a router br-lan interfészén nálam a következő címek vannak:
Másmilyen cím nincs rajta, ezek mindegyike pingelhető a kliensemről.
A kliensről pingelhető a távoli HE végpont IPv4-en, és IPv6-on pedig a HE tunnel távoli végének a címe.
A kliensek DHCPv6-on megkapják a delegált címtartomány egy /64-es subnetjéből (2001:470:xxxx:1::0/64) a címüket.
A routeren a tunnel interfésznek pedig az alábbi címei vannak:
Más bejegyzés nem látszik az "ip a s" kimenetében, ettől függetlenül a prefix delegáció szerintem működik rendesen, mert a tunnel beállításainál beírtam, ahogy kell, és a helyi LAN és WLAN-on rendesen osztva vannak a megfelelő /64-es subnetekből a címek.
Tehát ebből megkockáztatom, hogy a beállítások túlnyomó többsége rendben van.
Valamilyen tűzfal beállításra tudok már csak gondolni.
Arra esetleg van valamilyen tippje valakinek, hogy azt hogyan lehet megnézni valamilyen számlálóval, hogy melyik iptables rule mennyiszer match-csel, illetve ezen számlálókat hogyan lehet nullázni?
Gondolom ez lenne a legcélszerűbb lépés, hogy lássam melyik szabály droppolhatja a kifelé tartó forgalmamat.
Erre abból jutottam, hogy ha tcpdumpolok az "any" interfészen, akkor azt látom, hogy bármely forgalom, amely már a tunnel távoli végpontján túlra menne, beérkezik a routerre, de kifelé már sehová sem megy. Sem a tunnelbe, sem bármelyik másik interfészre, annak ellenére, hogy az "ip ro get" parancs a tunnelt dobja ki rá, tehát a kinti cím a megfelelő irányban látszik.
... The vision and the mission lost,
For those with corporate souls ...
Slackware Linux current | 5.10.38-janos
Ha nslookup-pal megkeresed valaminek az IPv6 címét, és azt próbálod trace-elni vagy pingelni, akkor sem megy? Lehet esetleg névfeloldás probléma.
Én pl. az Adguard DNS szervereinek a címeit állítottam be:
https://adguard-dns.io/en/public-dns.html
A névfeloldás tökéletesen működik jelenleg IPv4 felett. A v6-os címek is feloldódnak hiba nélkül.
... The vision and the mission lost,
For those with corporate souls ...
Slackware Linux current | 5.10.38-janos
Előkotortam otthon egy félretett, beüzemelésre váró szűz openwrt-s routert, beállítottam neki ugyanazt a tunnelt, és láss csodát az ipv6 csont nélkül megy.
Most akkor a következő teendő az lesz, hogy összefésüljem a tűzfalbeállításokat a két eszköz között, remélve, hogy találok valami eltérést, ami megmagyarázza az eltérő viselkedést.
... The vision and the mission lost,
For those with corporate souls ...
Slackware Linux current | 5.10.38-janos
Köszönöm a válaszokat!
Néhány napon belül kipróbálom a javaslatokat és visszajelzek mindenkinek.
... The vision and the mission lost,
For those with corporate souls ...
Slackware Linux current | 5.10.38-janos
A saga legújabb felvonása itt olvasható: https://forum.turris.cz/t/ipv6-routing-problems-from-lan-with-tunnelbro…
Annyi változott, hogy a Turris MOX routeren/routerről már működni tűnik az IPv6, de valamiért a LAN-ra kötött gépemről nem.
Mindez annak ellenére, hogy a cím és a default route leterül a gépemre, amiről tesztelek.
Valamiért a router LAN oldali lába mondja azt, hogy nincs megfelelő útvonal kifelé, annak ellenére, hogy az IPv6-os default route rendesen be van állítva a routeren.
A vicc az, hogy kintről be tudok pingelni IPv6-on a belső hálómba, de ha bentről szeretnék kifelé, akkor nem megy.
Ennek semmi értelme.
... The vision and the mission lost,
For those with corporate souls ...
Slackware Linux current | 5.10.38-janos
Egy szerződéshosszabbítás miatt átkerültem DSLite / IPv6 + CGNAT-ra. Egyelőre azzal próbálkozom. További részletek itt.
... The vision and the mission lost,
For those with corporate souls ...
Slackware Linux current | 5.10.38-janos
Már vissza is raktak IPv4-re, úgyhogy itt folytatódik a történet.
... The vision and the mission lost,
For those with corporate souls ...
Slackware Linux current | 5.10.38-janos
A héten jött ki a TurrisOS 7.0 a routeremre. A frissítés után az IPv6 tökéletesen megy a HE tunnelen keresztül!
... The vision and the mission lost,
For those with corporate souls ...
Slackware Linux current | 5.10.38-janos