youtube-dl za IPv6 tunelem

Jan Kasprzak kas na fi.muni.cz
Středa Červen 24 23:03:48 CEST 2020


	Zdravím,

funguje vám někomu youtube-dl za IPv6 tunelem? Potřeboval bych rozlišit,
jestli mám něco špatně nastavené já, můj provider, anebo jestli
youtube-dl není schopno emulovat přesně to, co dělá youtube.com uvnitř
prohlížeče.

Minimální příklad:

$ URL="`youtube-dl -g https://www.youtube.com/watch?v=U2jkMbOMlEA | tail -n 1`"
$ wget -O /dev/null "$URL"

Moje domácí síť má linuxový router s veřejnou IPv4 adresou a IPv6 tunelem
k providerovi (netbox), dovnitř domácí sítě je nabízen IPv6 prefix /64
přes radvd. Tunelové rozhraní sit1 na routeru má MTU 1480, jinak vše má 1500.
Výše uvedený wget funguje z routeru samotného (ověřil jsem, že se použije
IPv6), ale nefunguje ze zařízení ve vnitřní síti: naváže se spojení,
ale data netečou.

Pokud na zařízení ve vnitřní síti zmenším MTU (ifconfig wlan0 mtu 1480),
tak výše uvedené začne fungovat.

Pokud ale MTU zmenším až po spuštění wgetu, už se to nerozběhne.
Z toho bych vyvozoval, že je zřejmě problém v tom, jak se při navazování
TCP spojení nabídne TCP MSS (nebo něco podobného).

Pokud na routeru pustím tcpdump na rozhraní tunelu sit1 i na vnitřní rozhraní,
nevidím žádné podivnosti (například ICMPv6 destination unreachable).

Jiné IPv6 přenosy velkých souborů fungují z obou zařízení při plném MTU,
například:

$ wget -O /dev/null https://ftp.linux.cz/pub/FILES.byname
$ wget -O /dev/null http://ftp.sh.cvut.cz/centos/filelist.gz

Přehrávání téhož youtube videa v prohlížeči funguje jak na routeru, tak i na
zařízení ve vnitřní síti.

Napadá vás co dalšího by šlo vyzkoušet? Pokud máte podobnou konfiguraci
sítě, funguje vám youtube-dl?

Díky.

-Yenya

-- 
| Jan "Yenya" Kasprzak <kas at {fi.muni.cz - work | yenya.net - private}> |
| http://www.fi.muni.cz/~kas/                         GPG: 4096R/A45477D5 |
IORING_OP_NOP ... the benefits of doing nothing asynchronously are minimal,
but sometimes a placeholder is useful.             --Jonathan Corbet at LWN


Další informace o konferenci Linux