दस्तावेज़

त्वरित शुरुआत + हर हिस्से और हर डिवाइस की सुविधाओं का विवरण (लगातार अपडेट हो रहा है)

NAT सर्वर की पहचान और टनल सुझाव

यह लेख बताता है कि पैनल NAT सर्वर को अपने आप कैसे पहचानता है, “पोर्ट सेट करने योग्य NAT” और “पोर्ट सेट न कर पाने वाले NAT” में फ़र्क़ कैसे करता है, और ज़रूरत पड़ने पर उपयोगकर्ता को टनल ऑप्स की ओर कैसे भेजता है।

पहले जानें: NAT क्या है

NAT सर्वर का मतलब है “जिसके पास केवल इंटरनल IP हो, अपना अलग सार्वजनिक IP न हो”। जैसे बहुत से सस्ते NAT VPS — प्रोवाइडर एक इंटरनल पता देता है (जैसे 192.168.x.x), आप उस तक सार्वजनिक नेटवर्क से सीधे नहीं पहुँच सकते, केवल प्रोवाइडर द्वारा दी गई पोर्ट मैपिंग (सार्वजनिक पोर्ट को आपके इंटरनल पोर्ट पर भेजना) से पहुँच सकते हैं।

सुविधा परिचय

सर्वर जोड़ने के बाद, SSH कनेक्शन सफल होने पर पैनल अपने आप जाँच लेता है कि यह मशीन NAT प्रकार की है या नहीं (यानी लोकल पर केवल इंटरनल पता, अलग सार्वजनिक IP नहीं)। NAT मिलने पर सर्वर कार्ड पर एक छोटा बैज दिखता है और “अवलोकन” के शीर्ष पर एक केंद्रीय व्याख्या दिखती है। उपयोगकर्ता पीले बैज पर क्लिक करके बता सकता है कि यह NAT सर्वर प्रोवाइडर पैनल से खुद पोर्ट फ़ॉरवर्डिंग सेट कर सकता है या नहीं — इसी से तय होता है कि टनल ऑप्स की ज़रूरत है या नहीं।

NAT में फ़र्क़ क्यों ज़रूरी है

“इंटरनल IP” ≠ “टनल चाहिए”। NAT सर्वर दो तरह के होते हैं:

प्रकारविशेषताटनल चाहिए?
पोर्ट सेट करने योग्य NATप्रोवाइडर पोर्ट मैपिंग पैनल देता है, उपयोगकर्ता खुद सार्वजनिक पोर्ट को इंटरनल पोर्ट पर मैप कर सकता है❌ नहीं, पोर्ट खुद संभल जाता है
पोर्ट सेट न कर पाने वाला NATप्रोवाइडर ने केवल SSH(22) जैसे कुछ पोर्ट स्थायी रूप से मैप किए हैं, बाकी पोर्ट बाहर से अंदर नहीं आ पाते✅ टनल ऑप्स चाहिए

केवल “पोर्ट सेट न कर पाने वाले NAT” को टनल ऑप्स चाहिए। पोर्ट सेट कर पाने वाले NAT में पोर्ट खुद मैप हो जाता है, उपयोग सार्वजनिक IP वाली मशीन जैसा ही होता है, बार-बार याद दिलाने की ज़रूरत नहीं।

पहचान का सिद्धांत

SSH कनेक्शन सफल होने के बाद पैनल केवल-पढ़ने वाली कमांड ip -4 addr show चलाकर सर्वर के लोकल नेटवर्क इंटरफ़ेस का IP पढ़ता है और जाँचता है कि सब इंटरनल रेंज में आते हैं या नहीं:

  • 10.0.0.0/8
  • 172.16.0.0/12
  • 192.168.0.0/16
  • 100.64.0.0/10 (CGNAT — ऑपरेटर स्तरीय NAT)
  • 127.0.0.0/8, 169.254.0.0/16, 0.0.0.0/8

अगर कोई भी एक सार्वजनिक रेंज का IP मौजूद हो, तो “सार्वजनिक IP है” (NAT नहीं) माना जाता है; सब इंटरनल रेंज के हों तो “NAT”।

> यह जाँच कमांड केवल-पढ़ने वाली है, सर्वर की कोई अवस्था नहीं बदलती। नतीजा डेटाबेस में लिखा जाता है, जाँच केवल पहली बार कनेक्ट होने पर होती है, बाद में वही नतीजा दोबारा इस्तेमाल होता है — कनेक्शन धीमा नहीं पड़ता।

बैज और व्याख्या कहाँ दिखती है

NAT मिलने पर संकेत दो जगह दिखते हैं:

1. सिस्टम प्रबंधन पैनल का “अवलोकन” टैब: किसी सर्वर कार्ड पर “सिस्टम प्रबंधन” पर क्लिक करके पैनल खोलने के बाद पहले टैब “अवलोकन” में संबंधित NAT संकेत बैनर दिखता है — पीले चिह्न वाले सर्वर पर पीली व्याख्या (चिह्न हटाने के निर्देश सहित), लाल चिह्न वाले सर्वर पर लाल टनल मार्गदर्शन। संकेत केवल उन NAT सर्वर पर दिखते हैं जो अभी पुष्टि नहीं हुए, कार्ड की जगह नहीं घेरते।

2. कार्ड पर छोटा बैज: कार्ड पर केवल एक छोटा बैज रहता है, तीन अवस्थाओं में:

बैजरंगअर्थक्लिक करने पर
NATपीलाNAT पहचाना गया (लोकल IP इंटरनल रेंज में), पुष्टि बाकीपुष्टि विंडो खुलती है
टनल चाहिएलालपोर्ट सार्वजनिक नेटवर्क से नहीं खुलता, टनल चाहिएटनल ऑप्स का मार्गदर्शन खुलता है
(कोई बैज नहीं)—“पोर्ट ठीक है” की पुष्टि हो चुकी, चिह्न हट गया—

पीला NAT बैज “पुष्टि बाकी” की अवस्था है: क्लिक करने पर पुष्टि विंडो खुलती है, दो में से एक चुनें:

  • “पोर्ट ठीक है, चिह्न हटाओ” → बैज गायब हो जाता है, बाद में याद नहीं दिलाया जाएगा;
  • “पोर्ट खुलता नहीं, टनल चाहिए के रूप में चिह्नित करो” → बैज लाल हो जाता है और टनल ऑप्स की ओर भेजता है।

लाल टनल चाहिए “चेतावनी” है: क्लिक करने पर सीधे टनल ऑप्स + पोर्ट टनलिंग खुलती है।

> “पोर्ट खुलता है या नहीं, यह अपने आप जाँच” क्यों नहीं किया जाता: पैनल सर्वर और लक्ष्य सर्वर एक ही डेटा सेंटर में हो सकते हैं, पैनल की जाँच इंटरनल नेटवर्क से जाती है — “खुलता है” का मतलब बाहरी उपयोगकर्ता के लिए खुलना नहीं, नतीजा भरोसेमंद नहीं। इसलिए “टनल चाहिए” उपयोगकर्ता खुद पीली व्याख्या विंडो में चिह्नित करता है।

NAT सर्वर “कुछ समय चलने के बाद क्यों डिस्कनेक्ट हो जाता है”

NAT सर्वर के प्रोवाइडर गेटवे पर idle timeout (निष्क्रिय कनेक्शन टाइमआउट) होता है। SSH कनेक्शन कुछ मिनट निष्क्रिय रहने पर गेटवे चुपचाप कनेक्शन काट देता है (TCP हाफ-ओपन), और दोनों तरफ़ पता नहीं चलता।

पैनल इसे दो बातों से जड़ से हल करता है:

1. SSH कनेक्शन में keepalive: सभी कनेक्शन बनने के बाद हर 30 सेकंड में एक कीप-अलाइव पैकेट भेजा जाता है, जिससे NAT का निष्क्रिय कटाव रुकता है और आधे-मरे कनेक्शन तुरंत पकड़ में आ जाते हैं।

2. कनेक्शन पूल की नियमित सफ़ाई: बैकग्राउंड थ्रेड हर 2 मिनट में 2 मिनट से ज़्यादा निष्क्रिय कनेक्शन बंद करता है, ताकि आधे-मरे कनेक्शन जमा न हों।

ध्यान देने योग्य बातें

1. पहचान SSH कनेक्शन सफल होने पर निर्भर: सर्वर ऑफ़लाइन हो या पासवर्ड गलत हो तो पहचान नहीं होती, बैज नहीं दिखता।

2. जिन सर्वर पर बैज नहीं दिखता: सार्वजनिक IP वाले सर्वर, Android डिवाइस (Termux) और पहले से टनल वाले डिवाइस (tunnel_token वाले) — ये अपने-अपने चैनल से चलते हैं, NAT की याद दिलाने की ज़रूरत नहीं।

3. विशेष स्थिति के लिए गुंजाइश: बहुत कम मामलों में “1:1 NAT” (जिसके सभी पोर्ट खुले हों) का लोकल IP भी इंटरनल होता है, तो उसे NAT पहचान लिया जाएगा। ऐसे में उपयोगकर्ता पुष्टि विंडो में “ठीक है” चुन ले, उपयोग पर असर नहीं।

4. पुष्टि के बाद बदल सकते हैं: बैज की अवस्था उपयोगकर्ता की पुष्टि से तय होती है, कभी भी बैज पर क्लिक करके बदल सकते हैं।

संबंधित दस्तावेज़