Skip to content
VDS · नेटवर्क, IP पता और डोमेन

MTU 1420: कुछ साइटें क्यों अटक सकती हैं और इसे कैसे ठीक करें

MTU क्या है, 1420 कहाँ से आया, “पेज आधा लोड होकर अटक जाता है” वाली समस्या कैसी दिखती है, और इसे कैसे जाँचें और ठीक करें।

23 अगस्त 2026 को अपडेट किया गया

MTU एक नेटवर्क पर भेजे जा सकने वाले पैकेट का अधिकतम आकार है, जिसे फ़्रैगमेंट किए बिना भेजा जा सकता है। Ethernet पर आम मान 1500 बाइट्स होता है। जब ट्रैफ़िक किसी टनल से गुज़रता है, तो उसके अपने हेडर कुछ जगह ले लेते हैं, जिससे पेलोड कम बचता है: आम मान 1420 है।

अपने आप में यह कोई समस्या नहीं है। समस्याएँ तब शुरू होती हैं जब एक पक्ष मानता है कि वह 1500 भेज सकता है, लेकिन रास्ते में 1420 वाला कोई सेगमेंट होता है और उसके बारे में संदेश खो जाता है।

लक्षण कैसा दिखता है

  • SSH कनेक्ट होता है, ग्रीटिंग आ जाती है, लेकिन बड़ी डायरेक्टरी में ls करने पर सेशन हैंग हो जाता है।
  • पेज लोड होना शुरू होता है और बीच में ही अटक जाता है।
  • curl -I (सिर्फ़ हेडर) काम करता है, लेकिन पूरा curl हैंग हो जाता है।
  • apt update सफल होता है, apt upgrade डाउनलोड करते समय अटक जाता है।
  • छोटी रिक्वेस्ट उड़ जाती हैं, बड़े रिस्पॉन्स कभी नहीं आते।

आम संकेत एक ही है: छोटे पैकेट निकल जाते हैं, बड़े बिना किसी एरर के गायब हो जाते हैं। कनेक्शन टूटता नहीं; बस चुप हो जाता है।

इसका कारण यह है कि पैकेट आकार की नेगोशिएशन का तंत्र ICMP सर्विस संदेशों पर निर्भर करता है। अगर रास्ते में कोई उन्हें फ़िल्टर कर दे, तो भेजने वाले को कभी पता ही नहीं चलता कि पैकेट बहुत बड़ा है और वह उसे बार-बार भेजता रहता है।

जाँच

don't-fragment बिट सेट करके एक पैकेट भेजें और आकार तब तक घटाएँ जब तक वह निकल न जाए:

ping -M do -s 1472 -c 2 1.1.1.1
ping -M do -s 1392 -c 2 1.1.1.1

-s आकार में 28 बाइट्स के हेडर जुड़ जाते हैं: 1472 का मतलब MTU 1500 है, और 1392 का मतलब MTU 1420। अगर पहला विकल्प फ़ेल हो और दूसरा सफल, तो आपको लिमिट मिल गई।

इंटरफ़ेस का मौजूदा मान:

ip link show
ip route get 1.1.1.1

इसे कैसे ठीक करें

एक बार की जाँच:

ip link set dev eth0 mtu 1420

स्थायी रूप से, systemd-networkd के ज़रिए — फ़ाइल /etc/systemd/network/10-eth0.network:

[Match]
Name=eth0

[Link]
MTUBytes=1420
systemctl restart systemd-networkd

अगर नेटवर्क को NetworkManager मैनेज करता है:

nmcli connection modify "System eth0" 802-3-ethernet.mtu 1420
nmcli connection up "System eth0"

दूसरी तकनीक, जो तब काम आती है जब आप MTU को छू नहीं सकते, यह है कि बाउंड्री पर TCP सेगमेंट साइज़ को clamp कर दें। nftables में:

tcp flags syn tcp option maxseg size set rt mtu

यह आपको कब प्रभावित करता है

Millida VDS मशीन पर नेटवर्क खुद ठीक से कॉन्फ़िगर होता है, और आम तौर पर आपको MTU को मैन्युअली छूने की ज़रूरत नहीं पड़ती। इससे तब निपटना पड़ता है जब आप खुद कोई टनल सेट करते हैं: WireGuard, OpenVPN, GRE, ऑफ़िस तक VPN, या मशीनों के बीच कोई लिंक। टनल के अंदर MTU हमेशा कम होता है, और आपको उसे साफ़-साफ़ सेट करना पड़ता है।

WireGuard में [Interface] सेक्शन के अंदर:

MTU = 1420

आम गलतियाँ

गलतीनतीजा
फ़ायरवॉल में ICMP को पूरी तरह ब्लॉक करनाआप अपने ही लिए पैकेट आकार की नेगोशिएशन तोड़ देते हैं
टनल के सिर्फ़ एक तरफ़ MTU सेट करनाट्रैफ़िक एक ही दिशा में अटक जाता है
बिना सोचे MTU बदलनाआप असली कारण छिपा देते हैं: पैकेट लॉस या किसी सर्विस की गड़बड़ी

जब तक आप ping -M do कमांड से लक्षण दोबारा पैदा न कर लें, MTU को न छुएँ। उस जाँच के बिना आप एक अंदाज़े के आधार पर काम करती कॉन्फ़िगरेशन बदल रहे हैं — और पुरानी समस्या की जगह नई समस्या पा रहे हैं। ICMP को पूरी तरह ब्लॉक न करें; देखें nftables।