Portál AbcLinuxu, 6. května 2025 14:17

Dotaz: ipsec ipv6 tunel nefunkční na nových kernelech.

26.2.2022 19:49 xxl | skóre: 26
ipsec ipv6 tunel nefunkční na nových kernelech.
Přečteno: 754×
Odpovědět | Admin
Přílohy:
Narazil jsem na problém s nefunkčním ipsec tunelem na ipv6. Při upgradu kernelu přestal fungovat. Už je to nějakou dobu. Zatím jsem to neřešil, protože ten kernel byl unstable, říkal jsem si, že se to vyřeší samo a vrátil jsem se prostě ke starému kernelu. Ale teď jsem to zkoušel a zjistil jsem, že ačkoliv od té doby bylo těch nových kernelů několik, stále to nechodí.

Postupným zkoušením jsem dospěl až k Debianu unstable. Strongswan je teď 5.9.5-2.

Mám dva host-to-host tunely, jeden na ipv4 a druhý na ipv6. Oba jsou nakonfigurované úplně stejně. Na hostech není žádný firewall, na routeru mezi nimi také ne. Routování funguje. Ipv4 tunel funguje úplně bez problémů. Ipv6 tunel funguje až do kernelu "5.10.0-9-amd64 #1 SMP Debian 5.10.70-1 (2021-09-30) x86_64 GNU/Linux". S dalšími kernely nefunguje. Nejnovější je "5.16.0-3-amd64 #1 SMP PREEMPT Debian 5.16.11-1 (2022-02-25) x86_64 GNU/Linux".

Ipv6 tunel se normálně sestaví, ale poté už neprojde jediný paket. Pošlu ping z A na B a vidím ESP pakety z A až na B, ale už žádný z B na A.

ipsec.conf vypadá takhle:
conn %default
    type=transport
    keyexchange=ikev2
    ike=aes256-sha512-ecp521!
    esp=aes256gcm128!
    rekey=no
    fragmentation=yes
    forceencaps=yes
    keyingtries=%forever
    leftauth=psk
    rightauth=psk

conn test4
    left=10.0.11.2
    right=10.0.22.2
    auto=start

conn test6
    left=2001:db8:1111::2
    right=2001:db8:2222::2
    auto=start
Přikládám snímky obrazovky s ipsec statusall.

Google mi neporadil. Dělám něco špatně? Nebo je tam chyba a já jsem jediný, komu se přihodila?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

26.2.2022 20:04 X
Rozbalit Rozbalit vše Re: ipsec ipv6 tunel nefunkční na nových kernelech.
Odpovědět | | Sbalit | Link | Blokovat | Admin
Andreji, prisel tvuj cas! <-- (mame tady na IPv6/I{Sec specialistu..)
27.2.2022 12:37 X
Rozbalit Rozbalit vše Re: ipsec ipv6 tunel nefunkční na nových kernelech.
Odpovědět | | Sbalit | Link | Blokovat | Admin
Asi nic nebude. No tak chtelo by to detaily. Napriklad vypisy sestaveni, log a zapnuty debug, tcpdump. Na obou stranach.
27.2.2022 15:06 xxl | skóre: 26
Rozbalit Rozbalit vše Re: ipsec ipv6 tunel nefunkční na nových kernelech.
Odpovědět | | Sbalit | Link | Blokovat | Admin
Rébus vyřešen. Pokud to běží přímo na protokolu ESP, tak to funguje. Na novějších kernelech to nefunguje tehdy, když tomu vnutím ESP UDP encapsulation.

V ipsec.conf volba forceencaps=yes.

Nevím, jestli mám být nadšen, že jsem na to přišel.
27.2.2022 17:44 Radek
Rozbalit Rozbalit vše Re: ipsec ipv6 tunel nefunkční na nových kernelech.
To by stálo za to to reportnout, jestli to tak opravdu je :)
27.2.2022 17:57 xxl | skóre: 26
Rozbalit Rozbalit vše Re: ipsec ipv6 tunel nefunkční na nových kernelech.
Můžeš si to vyzkoušet.
28.2.2022 10:13 xxl | skóre: 26
Rozbalit Rozbalit vše Re: ipsec ipv6 tunel nefunkční na nových kernelech.
Po odhalení problému jsem znovu hledal na internetu a tady jsem objevil, že "However, the Linux kernel currently does not support UDP encapsulation for IPv6 (the upcoming 5.8 kernel will be the first one with support for it)".

Takže poté to zřejmě nějakou dobu fungovalo a nyní to opět nechodí.
20.3.2022 08:18 xxl | skóre: 26
Rozbalit Rozbalit vše Re: ipsec ipv6 tunel nefunkční na nových kernelech.
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tak to vypadá, že v nejnovějším kernelu 5.17, až vyjde, bude chyba konečně odstraněna. Vanilla kernel, přeložený z úplně posledního gitu, funguje.

Takže poslední kernel s fungující ipv6 ipsec encapsulation je (v Debianu) linux-image-5.10.0-9-amd64 == 5.10.70-1 a následující funkční bude (doufejme) 5.17, až vyjde.

Kombinace, 5.10.70-1 na jedné straně a 5.17-git na druhé straně, funguje taky.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.