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

पोर्ट: कौन-से खोलें और कैसे जाँचें

आम सर्विसेज़ को कौन-से पोर्ट चाहिए, मशीन किस पोर्ट पर सुन रही है यह कैसे देखें, बाहर से उपलब्धता कैसे जाँचें, और पोर्ट बंद हो तो क्या करें।

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

पोर्ट एक नंबर होता है जो सिस्टम को बताता है कि आने वाले कनेक्शन को कौन-सी सर्विस रिसीव करेगी। नियम आसान है: सिर्फ़ वही खुला रखें जो आप वाकई इस्तेमाल करते हैं। हर अतिरिक्त खुला पोर्ट एक और दरवाज़ा है, जिसकी कमज़ोरियाँ कोई न कोई ज़रूर टेस्ट करेगा।

आम पोर्ट नंबर

पोर्टसर्विसबाहर के लिए खुला
22SSHहाँ, बेहतर होगा कि एड्रेस से सीमित रखें
80HTTPहाँ, अगर आपकी वेबसाइट है
443HTTPSहाँ, अगर आपकी वेबसाइट है
25, 465, 587मेलइनबाउंड — सिर्फ़ तब, जब आप खुद का मेल सर्वर चलाते हों। आउटबाउंड हमारी तरफ़ से बंद रहता है और रिक्वेस्ट पर खोला जाता है
3306MySQLनहीं, सिर्फ़ लोकल
5432PostgreSQLनहीं, सिर्फ़ लोकल
6379Redisनहीं, सिर्फ़ लोकल
27017MongoDBनहीं, सिर्फ़ लोकल
25565Minecraftहाँ, अगर यह गेम सर्वर है

मेल पर एक बात: इनबाउंड कनेक्शन सीमित नहीं हैं, जबकि 25, 465 और 587 पर आउटबाउंड कनेक्शन नोड लेवल पर बंद रहते हैं, जब तक आप हमसे उन्हें खोलने के लिए न कहें। मशीन के अंदर के नियम इसमें कोई बदलाव नहीं करते — जानकारी के लिए Mail server: why it's hard and what to consider देखें।

डेटाबेस लगभग कभी बाहर के लिए खुले नहीं रखे जाते। अगर आपको अपने ऑफ़िस कंप्यूटर से एक्सेस चाहिए, तो सही तरीका SSH टनल है, खुला पोर्ट नहीं:

ssh -L 5432:127.0.0.1:5432 artem@<address>

मशीन किस पर लिसन कर रही है

ss -tulpn
ss -tlpn | grep 443
lsof -i -P -n | grep LISTEN

पोर्ट नंबर से पहले एड्रेस देखें। 127.0.0.1:5432 का मतलब है कि सर्विस सिर्फ़ अंदर से उपलब्ध है — आप चाहे कितने भी नियम जोड़ लें, यह बाहर से रीच नहीं होगी। 0.0.0.0:5432 का मतलब है कि सर्विस सभी नेटवर्क इंटरफ़ेस पर खुली है और इसे फ़ायरवॉल से प्रोटेक्ट करना ज़रूरी है।

बाहर से जाँचना

अपने कंप्यूटर से:

nc -vz <address> 443
curl -I http://<address>

ping से जाँचना बेकार है: ICMP और TCP अलग-अलग चीज़ें हैं; हो सकता है पोर्ट काम करे और ping ब्लॉक हो, और इसका उल्टा भी।

पोर्ट बंद है: स्टेप-बाय-स्टेप ट्रबलशूटिंग

  1. क्या सर्विस चल रही है? systemctl status <service>
  2. क्या यह सही एड्रेस पर लिसन कर रही है? ss -tulpn — 127.0.0.1 पर नहीं
  3. क्या फ़ायरवॉल इसे अलाउ करता है? ufw status verbose या nft list ruleset
  4. कहीं Docker बीच में नहीं है? पब्लिश किए गए कंटेनर पोर्ट ufw को बायपास कर देते हैं
  5. सर्विस लॉग देखें: journalctl -u <service> -n 50

क्रम मायने रखता है: ज़्यादातर मामलों में दिक्कत स्टेप दो पर होती है, फ़ायरवॉल में नहीं।

सर्विस का पोर्ट बदलना

उदाहरण के लिए, SSH को शिफ्ट करना:

sed -i "s/^#\?Port 22/Port 2222/" /etc/ssh/sshd_config
ufw allow 2222/tcp
sshd -t
systemctl restart ssh

पहले एक अलग विंडो में चेक करें कि आप नए पोर्ट पर लॉग इन कर पा रहे हैं, और उसके बाद ही पोर्ट 22 का नियम हटाएँ। जानकारी के लिए SSH hardening देखें।

आम गलतियाँ

लक्षणकारणसमाधान
Connection refusedसर्विस चल नहीं रहीsystemctl status, लॉग देखें
Connection timed outपैकेट फ़ायरवॉल से ड्रॉप हो रहा हैनियम चेक करें
लोकल चलता है, बाहर से नहीं127.0.0.1 पर बाइंड हैकॉन्फ़िग में एड्रेस बदलें
Address already in useपोर्ट किसी और सर्विस ने ले रखा हैss -tulpn चलाएँ और अतिरिक्त सर्विस बंद करें

पोर्ट सिर्फ़ तब खोलें, जब आप चेक कर लें कि उस पर क्या जवाब दे रहा है। किसी पुराने एक्सपेरिमेंट से छूटा हुआ पोर्ट हैकिंग का आम एंट्री पॉइंट होता है; signs of compromise देखें।