Један лаптоп стаје при отпремању кроз тунел, док сваки други уређај на истом серверу наставља да ради. Тај образац упућује на једну путању, а не на конфигурацију сервера, и то је уобичајен улаз у питање mssfix. Опција може да помогне, али само оним TCP везама које заиста преписује. Познавање њеног домета спречава вас да мењате исправан сервер како бисте спасли једног клијента.

Шта опција преписује

mssfix уређује максималну величину сегмента објављену у TCP руковањима која пролазе кроз тунел, тако да страна која шаље бира сегменте који стају у инкапсулирани буџет. Делује на руковање, што значи да веза отворена пре промене задржава договорену вредност.

Не смањује UDP датаграме и не поставља MTU тунела. Два различита проблема дају исти симптом: TCP пошиљалац који игнорише ограничење путање, и путања која тихо одбацује велике пакете било које величине. mssfix решава први и не чини ништа за други.

Та разлика објашњава разочаравајуће експерименте. Постављање мање вредности на путањи са црном рупом мења величину сегмента, али не и одбацивање које следи, па пренос пада на другом месту.

Домет је TCP унутар тунела

Преписује се само TCP саобраћај. QUIC сесија, игра или апликација која шаље велике UDP датаграме задржаће сопствене величине пакета, и ако баш ти преноси стају, поправка пре припада MTU-у тунела или путање. Прочитајте који протокол користи пренос који не успева пре него што посегнете за TCP опцијом, јер погрешан слој има своју поправку.

Смер је такође важан. Подешавање клијента утиче на саобраћај који тај клијент шаље у тунел, док сервер покрива токове које прослеђује ка клијентима. Ако стају само долазни преузимања, вредност на страни клијента није цела прича.

Број и кључна реч нису преносиви

OpenVPN 2.6 заједнице прихвата опциону кључну реч после вредности. Уз mtu број описује величину спољашњег пакета укључујући IP и UDP заглавља; без ње аргумент следи другу рачуноводствену конвенцију. Зато линија копирана између верзија не описује исти буџет пакета. Проверите страницу приручника која долази са градњом коју заиста покрећете, уместо упутства за друго издање.

Синтакса изгледа овако:

mssfix 1400 mtu

Третирајте 1400 као замену, а не као препоруку за вашу путању. Изведите вредност из измерене путање и инкапсулације која се стварно користи, и запамтите да клијенти на старијим верзијама или другим имплементацијама могу да одбију или другачије протумаче кључну реч.

Прво потврдите на једном клијенту

Измерите путању са машине која не успева пре него што било шта промените. Корисни терет који путања може да носи без фрагментације је број који тражите:

ping -M do -s 1472 10.8.0.1
ping -M do -s 1400 10.8.0.1

Прва провера стаје у пакет од 1500 бајтова када се дода 28 бајтова заглавља. Ако не успе са грешком фрагментације, а мања успе, употребљива величина је негде између њих, а трошак тунела се одузима одозго.

Затим поновите пренос који је стао, на новој вези, и упоредите. Ако се једини клијент побољша, а остали остану нетакнути, пронашли сте домет проблема. Ако стају сви клијенти, вредност на страни сервера је та коју треба прегледати. Ниједан од два резултата не оправдава промену на хардверу који никада није био на путањи која не успева.

Повезани чланци