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

ufw فائر وال: جو ضروری نہیں اسے بند کریں

پانچ منٹ میں ufw کیسے سیٹ اپ کریں: ضروری پورٹس کی اجازت دیں، باقی بند کریں، پتے کے حساب سے رسائی محدود کریں، اور اپنی SSH کاٹنے سے بچیں۔

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

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

ufw کرنل رولز کے اوپر ایک سادہ ریپر ہے۔ یہ اکثر و بیشتر صورتوں میں کافی ہے؛ زیادہ پیچیدہ سیٹ اپ کے لیے nftables کے مضمون میں بتایا گیا ہے۔

بنیادی سیٹ اپ

apt install -y ufw
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp
ufw enable
ufw status verbose

یہاں ترتیب اہم ہے: SSH رول فعال کرنے سے پہلے شامل کیا جاتا ہے۔ ورنہ ufw enable آپ کا کنکشن کاٹ دے گا، اور آپ کو پینل /hosting/vds/m/<id> کے کنسول یا ریسکیو موڈ کے ذریعے واپس اندر آنا پڑے گا۔

پینل کا کنسول نیٹ ورک سے آزاد کام کرتا ہے، اس لیے آپ خود کو مکمل طور پر باہر نہیں کر سکتے — لیکن اس میں وقت لگتا ہے۔

عام رولز

ufw allow 80/tcp
ufw allow 443/tcp
ufw allow from 203.0.113.5 to any port 22 proto tcp
ufw limit 22/tcp
ufw delete allow 80/tcp
ufw status numbered
ufw delete 3

ufw limit ہر اس شخص کو سست کر دیتا ہے جو 30 سیکنڈ میں چھ سے زیادہ کنکشن کھولے — پاس ورڈ بروٹ فورسنگ کے خلاف سستی حفاظت۔ اسی کام کے لیے زیادہ باریک بین آلہ fail2ban ہے۔

allow from رول ان سروسز کے لیے مفید ہے جو عوامی نہیں ہونی چاہئیں: ڈیٹا بیسز، ایڈمن پینلز، میٹرکس ایکسپورٹرز۔

ufw allow from 203.0.113.5 to any port 5432 proto tcp

نتیجہ کی تصدیق کریں

ufw status verbose
ss -tulpn

ss دکھاتا ہے کہ سسٹم کس پر سن رہا ہے، ufw status دکھاتا ہے کہ باہر سے کس چیز کو گزرنے دیا گیا ہے۔ فہرستوں کے درمیان فرق وہ سروسز ہیں جو آپ نے بند کر دی ہیں، اور یہ ٹھیک ہے۔ اس کا الٹ برا ہے: کوئی پورٹ ufw میں کھلا ہے، لیکن سننے والا کوئی نہیں۔

باہر سے پنگ سے نہیں، پورٹ سے جانچیں:

nc -vz <address> 443

Docker اور ufw

اگر مشین پر Docker چل رہا ہے تو یاد رکھیں: کنٹینر پورٹ فارورڈنگ ufw رولز سے پہلے کرنل چینز میں ہینڈل ہوتی ہے۔ -p 5432:5432 کے ساتھ شروع کیا گیا کنٹینر باہر سے قابل رسائی ہو گا چاہے ufw status میں deny دکھائی دے۔ ایسے پورٹس کو لوکل انٹرفیس سے بائنڈ کریں:

docker run -p 127.0.0.1:5432:5432 postgres

عام غلطیاں

غلطینتیجہحل
SSH رول کے بغیر ufw enableنیٹ ورک رسائی کا خاتمہپینل کنسول کے ذریعے اندر آئیں، ufw allow 22/tcp
SSH پورٹ بدلا، پرانا رول چھوڑ دیاوہی باتپہلے رول، پھر پورٹ
پورٹ کھلا ہے، سروس جواب نہیں دیتیسروس 127.0.0.1 پر سن رہی ہےبائنڈ ایڈریس بدلیں
deny کے باوجود کنٹینر قابل رسائیDocker ufw کو بائی پاس کرتا ہے127.0.0.1 سے بائنڈ کریں

کوئی پورٹ بند کرنے سے پہلے ss -tulpn چلائیں اور یقینی بنائیں کہ آپ سمجھتے ہیں اس پر کیا بیٹھا ہے۔ بند شدہ مانیٹرنگ پورٹ بعد میں "سروس ڈاؤن ہو گئی" لگتا ہے۔