Linuxda har bir marshrut uchun MTU: uch o'lcham nazorati, bitta marshrut
Interfeys MTU, marshrut MTU va MSS chegarasi turli qatlamlarda ishlaydi. Byudjetni qidiruvda g'alaba qozonadigan marshrutga bog'lang va o'zgarishni qaytarish mumkin qilib saqlang.
Linux mijozidagi uchta sozlama ham «paketlarni kichraytir» kabi eshitiladi va ular turli qatlamlarda ishlaydi. Interfeys MTU qurilma yuboradigan har bir paketni cheklaydi. Marshrut MTU shu marshrutdan foydalanadigan paketlarni cheklaydi, bu esa bitta VPN manzili uchun ko'pincha sizga chindan kerak bo'lgan narsa. TCP MSS chegarasi ikki tomon kelishadigan narsani o'zgartiradi va UDP uchun hech narsa qilmaydi.
Bitta tugmaga o'xshab ko'rinadigan uchta nazorat
Tanlashdan oldin ularni yonma-yon qo'ying, chunki noto'g'ri qatorni tanlash ishlamaydigan maslahatlarning ko'pini tushuntiradi:
| 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 |
Butun mashina uchun Ethernet MTU ni pasaytirish bu tuzatishning qo'pol varianti. U ishlaydi va xostdagi har bir boshqa dasturni ham jazolaydi, yo'llari joyida bo'lganlarini ham. Har bir marshrut uchun qiymat o'sha niyatni yon xarajatlarsiz ifodalaydi.
Taqqoslash faqat xost o'zi yaratadigan trafik uchun amal qiladi. Boshqa mijoz uchun paketni uzatish uning o'z yo'lini va tunnelning tashqi byudjetini o'z ichiga oladi, bu xostdagi marshrut metrikasi esa bu chegaradan oshmaydi.
Byudjetni qidiruvda g'alaba qozonadigan marshrutga bog'lang
Namunali IPv4 marshrut yozuvi shunday ko'rinadi:
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
Yozuvni yopishtiriladigan qiymat sifatida emas, niyat tavsifi sifatida o'qing. Prefiks, qurilma va afzal manba haqiqiy konfiguratsiyaga mos kelishi kerak, va raqam blog postidan emas, inkapsulyatsiya qilingan yo'l haqidagi dalillardan kelishi kerak. Marshrut MTU ichki IP paketni cheklaydi, bu esa 1380 baytli TCP yuki yoki 1380 baytli shifrlangan tashqi paket bilan bir xil emas.
Biror narsa qo'shishdan oldin qidiruv aslida qayerda hal bo'lishini ko'ring. Siyosat qoidalari bo'lgan xost berilgan manzilni main dan boshqa jadval orqali yo'naltirishi mumkin, va faqat main jadvalda mavjud metrika bu so'rov uchun ko'rinmaydi. Taqqoslang ip -4 route show table all va ip route get javobini, qoidalar foydalanganda belgi yoki nomlar bo'shlig'i konteksti bilan. Agar ikkisi mos kelmasa, metrika javob bergan jadvalga kerak, ko'rinishi tartibliroq bo'lganiga emas.
mtu bu mtu lock emas
Odatiy holatda yadro yo'l MTU ni ICMP qayta aloqasidan yangilashi mumkin, yo'l MTU aniqlash shu uchun. Qo'shish lock buni to'xtatadi. Bu boshqa qaror, xuddi shu raqamni saqlashning kuchliroq usuli emas, va IPv4 uchun «bo'laklamang» bitining hujjatlashtirilgan ishlovini o'zgartiradi.
Yo'lni o'lchagan bo'lsangiz va nima kelsa ham qiymat joyida qolishini istasangiz, qulflash o'rinli. Tarmoq qonuniy o'lcham qayta aloqasini yuborganda bu yomon odatiy holat, chunki yadro endi moslasha olmaydi va nosozlik boshqa alomatga o'tadi.
Agar ICMP yo'lda biror joyda filtrlansa, hech qanday marshrut sozlamasi buni tuzatmaydi. Tuzatish filtrga tegishli, kichikroq MTU esa keyingi yo'l o'zgarishigacha haqiqiy nuqsonni yashiradigan vaqtinchalik chora.
Tunnel dasturiy ta'minoti o'zining o'lcham tugmalarini qo'shadi
OpenVPN- mssfix o'zining hujjatlashtirilgan UDP tunnel holati uchun TCP segment o'lchamini sozlaydi. U TCP suhbatida ishlaydi, shuning uchun bu operatsion tizim marshrut MTU ning boshqa yozilishi emas va kelishuvni e'tiborsiz qoldiradigan UDP xizmatiga yordam bera olmaydi.
Bitta o'zgarish oynasida marshrut MTU, interfeys MTU o'zgarishi va MSS chegarasini ustma-ust qo'ymang. Muammo yo'qolsa qaysi biri muhim bo'lganini bilmaysiz, qolganlari esa yillar davomida trafikni cheklaydi, sababini hech kim eslamaydi.
Uni qaytarish mumkin qilib yarating, keyin isbotlang
Marshrutning haqiqiy egasi o'zgarish qayta ulangandan keyin qolishini hal qiladi. Marshrutni dinamik o'rnatadigan VPN mijozi odatda uni sizning metrikangizsiz qayta quradi, va qo'lda kiritilgan ip route add keyin bir kundan keyin muvaffaqiyatsiz bo'lgan tuzatishga o'xshaydi. Qiymatni menejer konfiguratsiyasiga qo'ying, vaqtinchalik tajriba kerak bo'lsa avval asl marshrutni yozib oling.
To'xtab qolgan amalni bajaradigan yangi ulanish bilan sinang, so'ng ko'zda tutilgan xususiy marshrut hali ham g'alaba qozonishini va aloqasiz manzillar o'zgarmaganini tasdiqlang. Tunnelni qayta ulang va marshrutni yana o'qing, chunki qayta ulanishda yo'qoladigan qiymat tuzatish emas.
Agar dalillar o'zgarishni qo'llab-quvvatlamasa, bekor qilishni uning menejeri orqali olib tashlang va marshrutni o'chirish o'rniga asl marshrut atributlarini tiklang. So'ng nima va qaysi yo'lda o'lchaganingizni yozib qo'ying, keyingi odam haqiqiy yaxshilanishni ishga tushirilgan tajribadan ajrata olishi uchun.