Ahoj PPK,
situace je ve skutečnosti možná jednodušší než se může zdát. Metronet využívá referenční nabídku CETINu, takže z pohledu uživatele na PPPoE přípojkách:
- na WAN rozhraní (PPPoE) přichází IPv6 router advertisementy a router se podle nich může nakonfigurovat (někteří ISP vůbec nemají pro WAN rozhraní IPv6 prefix, ale nevadí to - na WAN je vždycky link-local adresa, kterou přiděluje protistrana, a ta pro DHCPv6 stačí, viz níže)
- pro LAN rozhraní je potřeba nakonfigurovat DHCPv6 klienta, aby zasílal požadavek na prefix delegation (PD)
- DHCPv6 dotazy chodí z klientského routeru z link-local adresy na multicast adresu ff02::1:2 a DHCPv6 server odpovídá z link-local adresy (viz např.
https://www.cloudshark.org/captures/eeedef4dd779)
Referenční přípojka CETINu (na DSL i FTTB/H) vypadá takhle:
IP konektivita: Klientská-LAN <-> Klientský router <-- PPPoE --> CETIN BRAS <--> ISP router <--> Internet
IP alokace: CETIN BRAS <--> CETIN RADIUS <--> ISP RADIUS
BRASy mají ~stejnou konfiguraci pro DSL i FTTB/H.
Typicky navázání spojení pak vypadá takhle:
1. Klientův router (KR) vytočí PPPoE s aktivním IPv6CP
2. CETIN BRAS si od CETIN RADIUS a ten od ISP RADIUS zjistí, zda je uživatel aktivní, a vyžádá si informace o prefixech (WAN, Delegated)
3. CETIN BRAS odpoví na PPPoE a PPPoE spojení se sestaví s IPv6CP (zažil jsem špatně nakonfigurovaný BRAS, který IPv6CP odmítal - šlo o BRAS profil Avonetu, v tomtéž regionu IPv6 na DSL T-Mobilu fungovalo)
4. CETIN BRAS nainstaluje do své routovací tabulky WAN prefix a nasměruje ho do PPPoE rozhraní k uživateli
5. KR si nastaví na WAN link-local adresu z IPv6CP
6. CETIN BRAS vyšle unsolicited router-advertisementy (je-li přidělen WAN prefix)
7. KR aktivizuje DHCPv6 klienta a ten zašle požadavek na delegaci prefixu (PD)
8. CETIN BRAS v roli DHCPv6 serveru odpoví klientovi - informuje ho o přiděleném prefixu a jeho časové platnosti; zároveň na dobu platnosti nainstaluje do své routovací tabulky delegovaný prefix a nasměruje ho do PPPoE rozhraní k uživateli
9. KR si z přiděleného prefixu vybere jednu /64 a tu nainstaluje na LAN rozhraní. Zároveň začne do LAN oznamovat dostupnost prefixu pomocí router-advertisementů
10. Klient má funkční IPv6 konektivitu na LAN
CETINí BRASy provádějí reverse path filtering, tedy nepropustí ven provoz, pro který neexistuje mapování v routovací tabulce, a ani ke klientovi nepošlou provoz zvenku, který by byl nasměrován na prefix, který není nainstalován v routovací tabulce (to dává smysl). Zároveň se delegovaný prefix nikdy neinstaluje dřív než dojde k úspěšnému vyžádání prefixu DHCPv6 klientem.
RouterOS by default nepřijímá router advertisementy, pokud je zároveň routerem - musí se to explicitně povolit (
https://wiki.mikrotik.com/wiki/Manual:IPv6/Settings). Pokud povolíš tohle nastavení, můžeš zrušit tu ruční adresu na PPPoE rozhraní.
Zároveň bohužel platí, že RouterOS má v defaultu balíček IPv6 zakázaný a musí se povolit. Pokud je povolen, pak skáčou link-local adresy na ethernetových rozhraních a objeví se link-local adresa na PPPoE rozhraní (je-li aktivní IPv6CP).
Pokud něco nefungovalo jak mělo (a není to tím, že by v Metronetu zapomněli nastavit svůj RADIUS, aby vracel CETINímu RADIUSu informaci o přiřazených prefixech - i to už jsem jinde viděl), mohlo by to být problémem ve firewallu (nepřijímání RA - zahozené ICMPv6, neúspěch DHCPv6 - zahozené odchozí/příchozí UDP na portech 546/547).
Rozhodně nedoporučuju nastavovat cokoli staticky - není to podporovaná konfigurace. Detaily má CETIN veřejně v
technické specifikaci v sekci 5.8.4 (mají tam chybu; tvrdí, že delegovaný prefix je automaticky směrován, ale ve skutečností platí moje slova o nutnosti provedení DHCPv6 dotazu).
(Text jsem musel napsat podruhé, poprvé mi ho Root kvůli odhlášení z fóra sežral. :-/)