Ко бира MTU за WireGuard: wg-quick, језгро или ви
WireGuard не преговара о MTU-у. Одлучује алат за подешавање, мрежни менаџер или ваша конфигурациона линија, а подразумевана вредност је претпоставка о путањи, не мерење.
WireGuard нема никакво преговарање о MTU-у. Шифрује све што му интерфејс преда и шаље резултат, а ако инкапсулирани пакет премаши путању, бива одбачен или фрагментиран негде где не можете да видите. Неко мора да изабере MTU интерфејса, а тај неко је алат који је подигао интерфејс.
Постоје три кандидата и лако их је заменити.
Три места са којих вредност може доћи
Вредност се може поставити изричито у конфигурацији интерфејса, израчунати алатом за подешавање из информација о рути или је може поставити било који мрежни менаџер који поседује интерфејс. Обичан позив wg не чини ништа од тога, јер wg управља само кључевима и партнерима. MTU живи на мрежном интерфејсу, зато је ip link show wg0 место где га читате.
Ако нисте сигурни који се случај примењује, прво прочитајте MTU, а затим сазнајте ко је покренуо интерфејс.
Одлучите према томе ко води интерфејс
Ако га покреће wg-quick, побеђује изричита линија MTU, а иначе он израчунава вредност. Ако га покреће мрежни менаџер, одлучује профил тог менаџера. Ако га покреће контејнерско окружење или клијент провајдера, читајте њихову документацију уместо да претпостављате понашање wg-quick-а.
Одлука није о томе који је број најбољи у апстрактном смислу. Него о томе који компонент можете заиста да конфигуришете.
Шта ради подразумевано израчунавање
wg-quick тражи руту до крајње тачке партнера, узима MTU тог одлазног интерфејса и одузима трошак инкапсулације. Са спољашњим IPv4 заглављем то је око 60 бајтова; са IPv6 око 80. Резултат се ограничава тако да путања од 1500 бајтова даје 1420, а не вредност која ради само на једној адресној фамилији. То је разумна подразумевана вредност, не мерење ваше путање.
Он не може да зна за каснији тунел, мобилну везу или филтрирану ICMP путању.
Ограничење крије право питање. Ако је ваша путања заиста 9000 бајтова од краја до краја, 1420 оставља перформансе на столу, а ако је путања 1400, 1420 је већ превелик. Подразумевана вредност је компромис и тако треба да се третира.
Када се путања промени под вама
Преносни рачунар који прелази са Ethernet-а на Wi-Fi и затим на хотспот телефона задржава MTU интерфејса са којим је почео. Спољашња путања сада може бити мања и ништа поново не преговара. Угњежђени тунели погоршавају ствар, јер сваки слој одузима сопствени трошак из истог буџета. Вредност која је радила у канцеларији није вредност која ради на аеродрому.
Недавни handshake доказује да кључеви раде. Не доказује ништа о томе да ли велики пакети стају.
Тестирајте један број по један
Задржите исту апликацију и одредиште, промените једну вредност и мерите. ping -M do -s 1372 тестира пакет од 1400 бајтова са постављеним DF битом и то је облик теста који желите. Ако мали захтеви раде а велики запну, имате проблем величине, а не рутирања.
Мењајте само MTU. Подешавање неколико опција пакета заједно не говори вам која је била важна.
И не очекујте да ће промена MTU-а поправити недостајућу повратну руту, правило прослеђивања или квар DNS-а. Они такође дају симптоме без саобраћаја и имају сопствене тестове. Приручник wg-quick-а документује аутоматски избор.