Trīs iestatījumi Linux klientā visi izklausās kā „padari paketes mazākas“, un tie darbojas dažādos slāņos. Saskarnes MTU ierobežo katru paketi, ko ierīce sūta. Maršruta MTU ierobežo paketes, kas izmanto šo maršrutu, un tas bieži ir tieši tas, ko vienam VPN galamērķim patiešām vēlaties. TCP MSS ierobežojums maina to, par ko vienojas abi gali, un UDP tas neko nedara.

Trīs regulatori, kas izskatās kā viens un tas pats kloķis

Pirms izvēles nolieciet tos blakus, jo nepareizās rindas izvēle izskaidro lielāko daļu padomu, kas nedarbojas:

ControlScopeWhat it cannot fix
Interface MTUEvery packet the device sendsNothing, but it over-constrains unrelated traffic
Route MTUPackets using that routeA send that the lookup never routes there
MSS clampTCP handshake on that pathUDP payload sizes and ICMP

Ethernet MTU pazemināšana visai mašīnai ir šī labojuma rupjā versija. Tas darbojas, un tas arī soda katru citu lietotni uz resursdatora, tostarp tās, kuru ceļi bija kārtībā. Vērtība katram maršrutam izsaka to pašu nodomu bez blakus izmaksām.

Salīdzinājums attiecas tikai uz trafiku, ko ģenerē pats resursdators. Paketes pārsūtīšana citam klientam ietver viņa paša ceļu un tuneļa ārējo budžetu, un maršruta metrika šajā resursdatorā nesniedzas pāri šai robežai.

Piesaistiet budžetu maršrutam, kas uzvar meklēšanā

Ilustratīvs IPv4 maršruta ieraksts izskatās šādi:

ip -4 route get 10.60.0.20
ip -4 route add 10.60.0.0/16 dev tun-office src 10.90.0.2 mtu 1380

Lasiet ierakstu kā nodoma aprakstu, nevis kā ielīmējamu vērtību. Prefikss, ierīce un vēlamais avots ir jāsaskaņo ar reālo konfigurāciju, un skaitlim jānāk no pierādījumiem par iekapsulēto ceļu, nevis no emuāra ieraksta. Maršruta MTU ierobežo iekšējo IP paketi, kas nav tas pats, kas 1380 baitu TCP kravnesība vai 1380 baitu šifrēta ārējā pakete.

Pirms kaut ko pievienojat, apskatiet, kur meklēšana patiešām tiek atrisināta. Resursdators ar politikas noteikumiem var maršrutēt doto galamērķi citā tabulā nekā main, un metrika, kas pastāv tikai main tabulā, šim pieprasījumam nav redzama. Salīdziniet ip -4 route show table all ar atbildi no ip route get, tostarp atzīmes vai nosaukumvietas kontekstu, kad noteikumi tos izmanto. Ja abi nesakrīt, metrika ir vajadzīga tabulai, kas atbildēja, nevis tai, kas izskatās kārtīgāka.

mtu nav mtu lock

Pēc noklusējuma kodols joprojām var atjaunināt ceļa MTU no ICMP atgriezeniskās saites, tam ir paredzēta ceļa MTU atklāšana. Pievienojot lock tas tiek apturēts. Tas ir cits lēmums, ne spēcīgāks veids, kā saglabāt to pašu skaitli, un IPv4 tas maina dokumentēto „nefragmentēt“ bita apstrādi.

Bloķēšana ir pamatota, kad esat izmērījis ceļu un vēlaties, lai vērtība paliek nemainīga neatkarīgi no tā, kas ienāk. Tā ir slikta noklusējuma vērtība, kad tīkls sūta likumīgu izmēra atgriezenisko saiti, jo kodols vairs nevar pielāgoties un kļūme pāriet citā simptomā.

Ja ICMP tiek filtrēts kaut kur ceļā, neviens maršruta iestatījums to nelabo. Labojums pieder filtram, un mazāks MTU ir apietais risinājums, kas slēpj patieso kļūmi līdz nākamajai ceļa izmaiņai.

Tuneļa programmatūra pievieno savus izmēra kloķus

OpenVPN- mssfix pielāgo TCP segmenta izmēru savam dokumentētajam UDP tuneļa gadījumam. Tas darbojas uz TCP sarunas, tāpēc tas nav cits operētājsistēmas maršruta MTU rakstījums, un tas nevar palīdzēt UDP pakalpojumam, kas ignorē sarunas.

Nekraujiet maršruta MTU, saskarnes MTU izmaiņu un MSS ierobežojumu vienā izmaiņu logā. Ja problēma pazūd, jūs nezināsiet, kura bija svarīga, un saglabātās ierobežos trafiku gadiem ilgi bez iemesla, ko kāds atceras.

Padariet to atgriežamu, tad pierādiet

Īstais maršruta īpašnieks izlemj, vai izmaiņa pārdzīvo atkārtotu savienojumu. VPN klients, kas maršrutu instalē dinamiski, to parasti pārbūvēs bez jūsu metrikas, un manuāla ip route add tad izskatās kā labojums, kas neizdevās dienu vēlāk. Ielieciet vērtību pārvaldnieka konfigurācijā, un, ja nepieciešams pagaidu eksperiments, vispirms pierakstiet sākotnējo maršrutu.

Pārbaudiet ar jaunu savienojumu, kas veic iesprūdušo darbību, pēc tam apstipriniet, ka paredzētais privātais maršruts joprojām uzvar un nesaistītie galamērķi nav mainījušies. Atkārtoti pievienojiet tuneli un vēlreiz nolasiet maršrutu, jo vērtība, kas pazūd atkārtoti pievienojoties, nav labojums.

Ja pierādījumi neatbalsta izmaiņas, noņemiet pārrakstīšanu caur tās pārvaldnieku un atjaunojiet sākotnējos maršruta atribūtus, nevis dzēsiet maršrutu. Pēc tam pierakstiet, ko mērījāt un kurā ceļā, lai nākamais cilvēks varētu atšķirt īstu uzlabojumu no darbā atstāta eksperimenta.

Saistītie raksti