Skip to content
VDS · نیٹ ورک، IP ایڈریس اور ڈومینز

پورٹس: کون سے کھولیں اور کیسے جانچیں

عام سروسز کو کون سے پورٹس درکار ہوتے ہیں، مشین کس پورٹ پر سن رہی ہے یہ کیسے دیکھیں، بیرونی دستیابی کیسے جانچیں، اور پورٹ بند ہو تو کیا کریں۔

اپ ڈیٹ 23 اگست، 2026

پورٹ ایک نمبر ہے جو سسٹم کو بتاتا ہے کہ آنے والا کنکشن کس سروس کو ملنا چاہیے۔ اصول سادہ ہے: صرف وہی کھلا ہونا چاہیے جو آپ واقعی استعمال کرتے ہیں۔ ہر اضافی کھلا پورٹ ایک اور دروازہ ہے جس کی کمزوریاں کوئی نہ کوئی ضرور آزماے گا۔

عام پورٹ نمبر

پورٹسروسباہر کے لیے کھلا
22SSHہاں، بہتر ہے کہ ایڈریس کے لحاظ سے محدود ہو
80HTTPہاں، اگر آپ کی ویب سائٹ ہے
443HTTPSہاں، اگر آپ کی ویب سائٹ ہے
25, 465, 587میلاندر آنے والا — صرف اُس صورت میں جب آپ اپنا میل سرور چلاتے ہوں۔ باہر جانے والا ہماری طرف سے بند ہے اور درخواست پر کھولا جاتا ہے
3306MySQLنہیں، صرف لوکل
5432PostgreSQLنہیں، صرف لوکل
6379Redisنہیں، صرف لوکل
27017MongoDBنہیں، صرف لوکل
25565Minecraftہاں، اگر یہ گیم سرور ہے

میل کے بارے میں ایک بات: اندر آنے والے کنکشن محدود نہیں ہیں، جبکہ 25، 465 اور 587 پر باہر جانے والے کنکشن نوڈ کی سطح پر بند رہتے ہیں جب تک آپ ہم سے کھلوانے کی درخواست نہ کریں۔ مشین کے اندر کے قواعد اسے تبدیل نہیں کرتے — تفصیل کے لیے میل سرور: یہ مشکل کیوں ہے اور کیا غور کرنا چاہیے دیکھیں۔

ڈیٹا بیس تقریباً کبھی باہر کے لیے کھلے نہیں ہوتے۔ اگر آپ کو اپنے کام کے کمپیوٹر سے رسائی چاہیے، تو درست طریقہ 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 ہارڈننگ دیکھیں۔

عام غلطیاں

علامتوجہحل
Connection refusedسروس چل نہیں رہیsystemctl status، لاگز دیکھیں
Connection timed outپیکٹ فائر وال کی طرف سے گرا دیا گیاقواعد چیک کریں
لوکل کام کرتا ہے، باہر سے نہیں127.0.0.1 پر بائنڈ ہےکنفگ میں ایڈریس تبدیل کریں
Address already in useپورٹ کسی اور سروس نے لے رکھا ہےss -tulpn اور اضافی سروس بند کریں

پورٹ صرف اُس وقت کھولیں جب آپ جانچ لیں کہ اس پر کیا جواب دے رہا ہے۔ پرانے تجربے کا بھولا ہوا پورٹ ہیک کے لیے عام داخلہ نقطہ ہوتا ہے؛ نقصان پہنچنے کی علامات دیکھیں۔