MTU bawat ruta sa Linux: tatlong kontrol sa laki, isang ruta
Ang MTU ng interface, MTU ng ruta at limitasyon ng MSS ay gumagana sa magkaibang layer. Ikabit ang badyet sa rutang nananalo sa paghahanap, at panatilihing maibabalik ang pagbabago.
Tatlong setting sa isang kliyenteng Linux ang lahat ay parang «gawing mas maliit ang mga packet», at gumagana sila sa magkaibang layer. Nililimitahan ng MTU ng interface ang bawat packet na ipinapadala ng device. Nililimitahan ng MTU ng ruta ang mga packet na gumagamit ng rutang iyon, at madalas ito ang talagang gusto mo para sa isang destinasyong VPN. Binabago ng limitasyong TCP MSS ang napagkasunduan ng dalawang dulo, at wala itong ginagawa para sa UDP.
Tatlong kontrol na parang parehong knob
Ilagay ang mga ito nang magkatabi bago pumili, dahil ang pagpili ng maling hilera ang nagpapaliwanag sa karamihan ng payong hindi gumagana:
| Control | Scope | What it cannot fix |
|---|---|---|
| Interface MTU | Every packet the device sends | Nothing, but it over-constrains unrelated traffic |
| Route MTU | Packets using that route | A send that the lookup never routes there |
| MSS clamp | TCP handshake on that path | UDP payload sizes and ICMP |
Ang pagbaba ng MTU ng Ethernet para sa buong makina ay ang magaspang na bersyon ng pag-aayos na ito. Gumagana ito, at pinaparusahan din nito ang bawat ibang application sa host, kasama ang mga maayos ang ruta. Ang halaga bawat ruta ay nagpapahayag ng parehong layunin nang walang side cost.
Ang paghahambing ay wasto lamang para sa trapik na ang host mismo ang gumagawa. Ang pagpapasa ng packet para sa ibang kliyente ay may kinalaman sa kaniyang sariling ruta at sa panlabas na badyet ng tunnel, at ang sukatan ng ruta sa host na ito ay hindi lumalampas sa hangganang iyon.
Ikabit ang badyet sa rutang nananalo sa paghahanap
Ang isang halimbawang rekord ng rutang IPv4 ay ganito ang hitsura:
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
Basahin ang rekord bilang paglalarawan ng layunin, hindi bilang halagang ididikit. Ang prefix, device at ginustong source ay dapat tumugma sa tunay na configuration, at ang bilang ay dapat magmula sa ebidensiya tungkol sa naka-encapsulate na ruta, hindi sa blog post. Nililimitahan ng MTU ng ruta ang panloob na packet ng IP, na hindi katulad ng TCP payload na 1380 byte o naka-encrypt na panlabas na packet na 1380 byte.
Tingnan kung saan talaga niresolba ang paghahanap bago magdagdag ng kahit ano. Ang host na may mga patakaran sa polisiya ay maaaring mag-ruta ng isang destinasyon sa ibang talahanayan kaysa main, at ang sukat na umiiral lamang sa main ay hindi nakikita ng kahilingang iyon. Ihambing ip -4 route show table all sa sagot mula sa ip route get, kasama ang konteksto ng marka o namespace kapag ginagamit ito ng mga patakaran. Kung hindi magtugma ang dalawa, ang talahanayang sumagot ang nangangailangan ng sukatan, hindi ang mas maayos tingnan.
mtu ay hindi mtu lock
Bilang default, maaari pa ring i-update ng kernel ang MTU ng ruta mula sa feedback ng ICMP, at para doon ang pagtuklas ng MTU ng ruta. Ang pagdaragdag ng lock ay humihinto niyon. Ibang desisyon ito, hindi mas malakas na paraan upang itago ang parehong bilang, at para sa IPv4 binabago nito ang dokumentadong paghawak sa bit na «huwag maghati».
Makatuwiran ang pag-lock kapag sinukat mo ang ruta at gusto mong manatiling nakatayo ang halaga anuman ang dumating. Masamang default ito kapag nagpapadala ang network ng lehitimong feedback sa laki, dahil hindi na makapag-adjust ang kernel at lumilipat ang kabiguan sa ibang sintomas.
Kung ang ICMP ay sinasala sa isang lugar sa ruta, walang setting ng ruta ang nag-aayos nito. Ang pag-aayos ay para sa filter, at ang mas maliit na MTU ay paraan ng pag-iwas na nagtatago ng tunay na depekto hanggang sa susunod na pagbabago ng ruta.
Nagdaragdag ang software ng tunnel ng sarili nitong knob sa laki
OpenVPN- mssfix ay nagsasaayos ng laki ng segment ng TCP para sa dokumentadong kaso nito ng tunnel na UDP. Gumagana ito sa usapan ng TCP, kaya hindi ito ibang baybay ng MTU ng ruta ng operating system, at hindi nito matutulungan ang serbisyong UDP na hindi pinapansin ang negosasyon.
Huwag ipunin ang MTU ng ruta, pagbabago ng MTU ng interface at limitasyon ng MSS sa isang window ng pagbabago. Kung mawala ang problema hindi mo malalaman kung alin ang mahalaga, at ang mga ititira mo ay lilimita sa trapik nang maraming taon nang walang dahilang natatandaan ng sinuman.
Gawing maibabalik, pagkatapos patunayan
Ang tunay na may-ari ng ruta ang nagpapasya kung ang pagbabago ay makakaligtas sa muling pagkonekta. Ang kliyenteng VPN na nag-iinstall ng ruta nang dynamic ay karaniwang muling bubuo nito nang wala ang iyong sukatan, at ang manu-manong ip route add ay mukhang pag-aayos na bigong isang araw mamaya. Ilagay ang halaga sa configuration ng manager, at kung kailangan mo ng pansamantalang eksperimento, itala muna ang orihinal na ruta.
Subukan gamit ang bagong koneksyon na gumagawa ng operasyong natigil, pagkatapos tiyakin na nananalo pa rin ang inilaan na pribadong ruta at hindi nagbago ang mga walang kaugnay na destinasyon. Muling ikonekta ang tunnel at basahin muli ang ruta, dahil ang halagang nawawala sa muling pagkonekta ay hindi pag-aayos.
Kung hindi sinusuportahan ng ebidensiya ang pagbabago, alisin ang override sa pamamagitan ng manager nito at ibalik ang orihinal na mga attribute ng ruta sa halip na burahin ang ruta. Pagkatapos itala kung ano ang sinukat mo at sa aling ruta, upang makilala ng susunod na tao ang tunay na pagbuti mula sa eksperimentong iniwang tumatakbo.