Wireguard - MTU

Sziasztok!

A mobiltelefonok wireguarddal csatlakoznak az otthoni hálózathoz, és az a furcsa jelenség van, hogy majdnem minden működik, de pár alkalmazás, pl Yazio (mindig), Discord (időnként) lefagy, és hosszú timeout után ismeretlen hibát jelez.

A mikrotik routeren fut a wireguard. Az eth1 interfésznek 1500 bájt MTU van beállítva. A router az eth1-en keresztűl PPPoE-n csatlakozik az Internetre (Digi), a PPPoE-nek 1492 bájt az MTU, ami be van állítva.

Ha wireguard beállításoknál akkor jól gondolom, hogy 1412-re kell venni a wg0 interfész MTU-ját? (A wireguard overhead-je 80 bájt, ha jól értem)

Default 1420 a wg0-n az MTU, és ekkor vannak problémák. 1450-re állítva tökéletesen működik pl a Yazio a telefonon, és most úgy látom, hogy 1412-vel is.

A következő kérdésekben szeretnék tanácsot kérni:

- A csomagokat a router újra csomagolja, vagy nekem kell gondoskodni róla, hogy a megfelelő érték legyen megadva, és akkora lesz egy csomag fixen? (tehát ha túl nagyot adok meg az felesleges forgalmat jelent csomagonként, vagy történik újracsomagolás?)

- Az 1412-es MTU érték a fenti okoskodással jó értéknek tűnik? (a kifagyogatás megszűnt, amit nem teljesen értek, hogy miért volt bizonyos alkalmazásokkal)

A mobilon futó klienseknél töröltem az MTU-t ("automatic" az érték). Tehát most a wg0 interfészen az MTU=1412 értékkel úgy látszik, hogy működik minden, de jó lenne megérteni, és jól beállítani.

Köszönöm előre is

Hozzászólások

Szerkesztve: 2024. 07. 07., v – 16:59

Még egy furcsaság: Ezzel délelőtt hosszan szórakoztam, és abban a pillanatban javult meg, amikor az MTU-t átállítottam 1450-ra, majd 1412-re. (mást nem állítottam át)

Most (ebben a pillanatban) az MTU=1420-as értékkel sem fagy ki a Yazio (ami az eredeti érték volt). Mi okozhatja/okozhatta ezt a problémát, tapasztalt esetleg valaki ilyen problémákat Wireguarddal?

Szerk: csak eszembe jutott, hogy nem vagyok benne biztos, hogy mi volt a kliensen beállítva, de attól megjavulhatott, hogy átállítottam "automatic"-ra.

Azt nem tudom, de általában úgy működik, hogy a kliens megpingeli a szervert olyan ICMP-vel, ahol DF azaz don't fragment bit be van állítva (kb. ez a Path MTU Discovery), egyre csökkentve a datagram hosszát. Ahol jön válasz, azzal az MTU-val fog a továbbiakban kommunikálni a kliens a szerverrel.

Egyébként statisztikailag nem túl gyakori az 1500 byte. Nincs érdemi lassulás 1200 byte defaultnál sem, mert sokszor csak ennél kisebb csomagok röpködnek ide-oda.

Azt nem tudom, de általában úgy működik, hogy a kliens megpingeli a szervert olyan ICMP-vel, ahol DF azaz don't fragment bit be van állítva (kb. ez a Path MTU Discovery), egyre csökkentve a datagram hosszát.

Azt megtaláltam, hogy ezt egy ping paranccsal (linux alatt pl) én is ki tudom tesztelni, és meg lehet keresni a jó értéket (ha jól értettem a leírást) de iphone-ra nem találtam ilyen ping alkalmazást, aminek bármilyen beállítást megadhatok.