Linux मा प्रति-रुट MTU: तीन आकार नियन्त्रण, एउटा रुट
इन्टरफेस MTU, रुट MTU र MSS सीमा फरक तहमा काम गर्छन्। खोजी जित्ने रुटमा बजेट जोड्नुहोस् र परिवर्तनलाई उल्टाउन सकिने राख्नुहोस्।
Linux क्लाइन्टमा तीनवटा सेटिङ सबै «प्याकेट सानो बनाऊ» जस्तो सुनिन्छन् र ती फरक तहमा काम गर्छन्। इन्टरफेस MTU ले उपकरणले पठाउने हरेक प्याकेट सीमित गर्छ। रुट MTU ले त्यो रुट प्रयोग गर्ने प्याकेट सीमित गर्छ, जुन एउटा VPN गन्तव्यका लागि प्रायः तपाईंले साँच्चै चाहेको कुरा हो। TCP MSS सीमाले दुई छेउ केमा सहमत हुन्छन् त्यो बदल्छ र UDP का लागि केही गर्दैन।
एउटै नब जस्तो देखिने तीन नियन्त्रण
छान्नु अघि तिनीहरूलाई सँगै राख्नुहोस्, किनकि गलत पङ्क्ति छान्नु नै नचल्ने अधिकांश सल्लाहको व्याख्या हो:
| 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 |
सम्पूर्ण मेसिनका लागि Ethernet MTU घटाउनु यो सुधारको मोटो संस्करण हो। यो काम गर्छ, र होस्टमा रहेका हरेक अन्य अनुप्रयोगलाई पनि दण्ड दिन्छ, जसका बाटा ठीक थिए तिनलाई पनि। प्रति-रुट मानले त्यही मनसाय पार्श्व लागतबिना व्यक्त गर्छ।
तुलना होस्ट आफैंले उत्पन्न गर्ने ट्राफिकमा मात्र लागू हुन्छ। अर्को क्लाइन्टका लागि प्याकेट फर्वार्ड गर्दा उसको आफ्नै बाटो र सुरुङको बाहिरी बजेट समावेश हुन्छ, र यो होस्टको रुट मेट्रिक त्यो सीमा नाघ्दैन।
बजेट त्यो रुटमा जोड्नुहोस् जुन खोजी जित्छ
एउटा उदाहरण IPv4 रुट रेकर्ड यस्तो देखिन्छ:
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
रेकर्डलाई टाँस्ने मान होइन, मनसायको वर्णनका रूपमा पढ्नुहोस्। प्रिफिक्स, उपकरण र रुचाइएको स्रोत वास्तविक कन्फिगरेसनसँग मिल्नुपर्छ, र संख्या ब्लग पोस्टबाट होइन, इन्क्याप्सुलेटेड बाटोको प्रमाणबाट आउनुपर्छ। रुट MTU ले भित्री IP प्याकेट सीमित गर्छ, जुन 1380 बाइट TCP पेलोड वा 1380 बाइट इन्क्रिप्टेड बाहिरी प्याकेट होइन।
केही थप्नु अघि खोजी वास्तवमा कहाँ टुङ्गिन्छ हेर्नुहोस्। नीति नियम भएको होस्टले दिइएको गन्तव्यलाई main बाहेक अर्को तालिकाबाट रुट गर्न सक्छ, र केवल main तालिकामा रहेको मेट्रिक त्यो अनुरोधलाई अदृश्य हुन्छ। तुलना गर्नुहोस् ip -4 route show table all र ip route get को उत्तर, नियम प्रयोग गर्दा मार्क वा नेमस्पेस सन्दर्भसहित। दुवै मिलेन भने मेट्रिक चाहिने उत्तर दिएको तालिकालाई हो, बढी सफा देखिनेलाई होइन।
mtu भनेको mtu lock होइन
पूर्वनिर्धारित रूपमा कर्नेलले ICMP प्रतिक्रियाबाट पथ MTU अद्यावधिक गर्न सक्छ, पथ MTU खोज यहीका लागि हो। lock थप्दा त्यो रोकिन्छ। यो फरक निर्णय हो, त्यही संख्या बचाउने बलियो तरिका होइन, र IPv4 का लागि यसले «नखण्डित गर्नु» बिटको कागजात गरिएको व्यवहार बदल्छ।
बाटो नापेको छ र जे आए पनि मान स्थिर रहोस् भन्ने चाहनुहुन्छ भने लक गर्नु उचित हुन्छ। सञ्जालले वैध आकार प्रतिक्रिया पठाउँदा यो खराब पूर्वनिर्धारित हो, किनकि कर्नेलले अब समायोजन गर्न सक्दैन र विफलता अर्को लक्षणमा सर्छ।
बाटोमा कतै ICMP फिल्टर भयो भने कुनै रुट सेटिङले त्यो सुधार्दैन। सुधार फिल्टरको हो, र सानो MTU अर्को बाटो परिवर्तनसम्म साँचो खराबी लुकाउने उपाय हो।
सुरुङ सफ्टवेयरले आफ्नै आकार-नब थप्छ
OpenVPN- mssfix ले आफ्नो कागजात गरिएको UDP सुरुङ अवस्थाका लागि TCP खण्डको आकार समायोजन गर्छ। यो TCP संवादमा काम गर्छ, त्यसैले यो अपरेटिङ सिस्टमको रुट MTU को अर्को हिज्जे होइन, र वार्ता बेवास्ता गर्ने UDP सेवालाई सहयोग गर्न सक्दैन।
एउटै परिवर्तन-झ्यालमा रुट MTU, इन्टरफेस MTU परिवर्तन र MSS सीमा थुपार्नु हुँदैन। समस्या हरायो भने कुन महत्त्वपूर्ण थियो थाहा हुँदैन, र राखिएकाले वर्षौं ट्राफिक सीमित गर्नेछन्, कारण कसैले सम्झँदैन।
यसलाई उल्टाउन सकिने बनाउनुहोस्, त्यसपछि प्रमाणित गर्नुहोस्
रुटको साँचो मालिकले परिवर्तन पुनःजडानपछि रहन्छ कि भन्ने निर्णय गर्छ। रुट गतिशील रूपमा स्थापना गर्ने VPN क्लाइन्टले सामान्यतया तपाईंको मेट्रिकबिना यसलाई पुनः बनाउँछ, र हातले गरिएको ip route add पछि एक दिनपछि असफल भएको सुधारजस्तो देखिन्छ। मान प्रबन्धकको कन्फिगरेसनमा राख्नुहोस्, र अस्थायी प्रयोग चाहियो भने पहिले मूल रुट लेख्नुहोस्।
अड्किएको कार्य गर्ने नयाँ जडानसँग परीक्षण गर्नुहोस्, त्यसपछि इच्छित निजी रुट अझै जित्छ र असम्बन्धित गन्तव्य बदलिएका छैनन् भनी पुष्टि गर्नुहोस्। सुरुङ पुनः जोड्नुहोस् र रुट फेरि पढ्नुहोस्, किनकि पुनःजडानमा हराउने मान सुधार होइन।
प्रमाणले परिवर्तनलाई समर्थन गर्दैन भने ओभरराइड त्यसको प्रबन्धकमार्फत हटाउनुहोस् र रुट मेटाउने सट्टा मूल रुट विशेषता पुनःस्थापित गर्नुहोस्। त्यसपछि के नाप्यो, कुन बाटोमा लेख्नुहोस्, ताकि अर्को व्यक्तिले साँचो सुधार र चलिरहेको प्रयोग छुट्याउन सकोस्।