Ubuntu سے مقامی سروس کو انٹرنیٹ پر ظاہر کرنا: پورٹ فارورڈنگ (port forwarding) کی مکمل گائیڈ
شائع شدہ: 28 May 2025
- مسئله: NAT اور خفیہ پتے
- مرحلہ 1: اپنی عوامی IP آدرس کی شناخت کریں
- مرحلہ 2 : اپنی اوبونٹو مَشین کے مقامی IP پتے جانیں
- مرحلہ 3: پورٹ فوروارڈنگ کنجگر آپ کے باکس پر
- مرحلہ 4 : اوبونٹو پر خدمت کی تنظیمات
- مرحلہ 5: اوبونٹو فائرووال کی تنظیم
- مرحلہ 6 : ٹیسٹ اور تصدیق
- بہتر طریقے اور محفوظی
- پورت فوروارڈنگ کے متبادل
- خربہ یابی
- نتیجہ
-
مفروض مقدمات : اوبونٹو کی بنیادی معلومات، ٹرمینل کی بنیادی معلومات، بنیادی نیٹورک مفاهیم
-
تقنی مفاهیم : NAT, پورٹ فوروارڈنگ, فائروال, ریورس پروکسی
-
سیستم کے حکم : ٹرمینل کا استعمال، نیٹ ورک کی ترتیب
-
متقدمہ سیکشن : مانٹرنگ, سیکیورٹی, کلاؤڈ کے بدائل
مسئله: NAT اور خفیہ پتے
ڈیفالٹ طور پر، آپ کی انٹرنیٹ باکس NAT (Network Address Translation) استعمال کرتی ہے تاکہ ایک ہی پبلک IP پتے کو آپ کے گھر کے نیٹ ورک کے تمام ڈвайسز کے درمیان شریک کیا جائے۔ آپ کے مقامی مشین خصوصی IP पतوں (192.168.x.x, 10.x.x.x وغیرہ) استعمال کرتی ہیں جو انٹرنیٹ پر روٹبل نہیں ہیں۔
آپ اپنی اوبونٹو مشین پر ایک سروس چلاتے ہیں (مثلاً پورٹ 8080 پر ایک ویب سرور)، یہ صرف آپ کے مقامی نیٹ ورک سے قابل رسائی ہے۔ اس سے انٹرنیٹ سے رسائی حاصل کرنے کے لیے، ہم پورت فوروارڈنگ کو کنفیگر کریں گے۔
مرحلہ 1: اپنی عوامی IP آدرس کی شناخت کریں
سب سے پہلے، اپنے انٹرنیٹ کنکشن کا عام IP پتہ دریافت کریں :
# Plusieurs méthodes au choix
curl ifconfig.me
curl ipecho.net/plain
wget -qO- http://ipecho.net/plain
# Ou encore
curl -s checkip.amazonaws.com
یہ IP پتہ وہ ہے جو انٹرنیٹ استعمال کرنے والے آپ کی سروس تک رسائی کے لیے استعمال کریں گے۔
مرحلہ 2 : اپنی اوبونٹو مَشین کے مقامی IP پتے جانیں
آپ کی Ubuntu مشین کا مقامی نٹ ورک پر ایک خصوصی IP پتہ ہے۔ جاننے کے لیے :
# Afficher toutes les interfaces réseau
ip addr show
# Ou plus spécifiquement pour l'interface principale
ip route get 1.1.1.1 | awk '{print $7; exit}'
# Alternative avec hostname
hostname -I | awk '{print $1}'
یہ پتا نکالیں (مثلاً`192.168.1.100`), ہم اس کی ضرورت سیٹاپ کے لیے ہوں گے۔
مرحلہ 3: پورٹ فوروارڈنگ کنجگر آپ کے باکس پر
کانفیگریشن آپ کے باکس کے مودل کے مطابق بدلتی ہے، لیکن اصول ایک جیسا رہتا ہے:
اداری انٹرفیس تک رسائی
اپنی براؤزر کھولیں اور اپنے باکس کی ویب انٹرفیس پر جائیں:
-
Freeboxآپ ایک پیشہ ور مترجم ہیں۔ فرانسیسی سے اردو میں ترجمہ کریں۔
تمام بیک ٹِک کوڈ اسپینز (…) کو بالکل ویسا ہی رکھیں — بیک ٹِک کے مواد، اسپیسنگ یا پوزیشن میں کبھی تبدیلی نہ کریں۔ یہ متن ایک بڑے جملے کا حصہ ہو سکتا ہے — مزید سیاق و سباق کی درخواست کیے بغیر اس ٹکڑے کا ترجمہ کریں۔ صرف ترجمہ شدہ متن فراہم کریں — کوئی وضاحت، کوئی تبصرہ، کوئی تعارف، کوئی متبادل یا کوئی آپشن نہیں۔192.168.1.1 ou mafreebox.freebox.fr
-
Livebox OrangePlease provide the French text you would like me to translate into Urdu.
192.168.1.1 -
SFR Boxبراہ کرم اپنا متن فراہم کریں۔
192.168.1.1 -
Bbox Bouyguesبراہ کرم اپنی
settingsمیں جائیں۔192.168.1.254
ری ڈائریکشن کی کنفیگریشن
پورٹ فوارڈنگ کی مخصوص ڈیکشن تلاش کریں (نام مختلف ہو سکتے ہیں):
-
پورٹ فوروارڈنگ
-
NAT/PAT
-
پورٹ فوروارڈنگ
-
گیم سروس
ان پارامیٹرز کے ساتھ نئی رَغل بنائیں :
| میدان | قدر |
|---|---|
نام/تفصیل |
Ubuntu ویب سروس" (یا أي واضح نام) |
باہری پورٹ (یا عام پورٹ) |
8080 |
درونی IP پتہ |
آپ کی Ubuntu مشین کا IP (مثلاً: 192.168.1.100) |
داخلی پورٹ (یا خفی پورٹ) |
8080 |
پروتوكول |
TCP |
حالت |
فعال |
مرحلہ 4 : اوبونٹو پر خدمت کی تنظیمات
پتہ کریں کہ آپ کی سروس تمام انٹر فیسز پر سن کر رہی ہے، صرف لوکال ہوسٹ پر نہیں:
# ✅ Correct : écoute sur toutes les interfaces
python3 -m http.server 8080 --bind 0.0.0.0
# ❌ Incorrect : écoute seulement en local
python3 -m http.server 8080 --bind 127.0.0.1
پتہ کرنے کے لیے کہ آپ کی سرویس صحیح طریقے سے سن رہی ہے :
# Vérifier les ports en écoute
sudo netstat -tlnp | grep :8080
# ou avec ss (plus moderne)
sudo ss -tlnp | grep :8080
آپ کو کچھ جیسا دیکھنا چاہیے`0.0.0.0:8080`اور نہیں`127.0.0.1:8080`.
مرحلہ 5: اوبونٹو فائرووال کی تنظیم
UbuntuU UFW (Uncomplicated Firewall) کو ڈیفالٹ استعمال کرتا ہے۔ اس کی حالت چیک کریں اور ضرورت پڑنے پر پورٹ کی اجازت دیں :
# Vérifier le statut du pare-feu
sudo ufw status
# Si le pare-feu est actif, autoriser le port 8080
sudo ufw allow 8080/tcp
# Ou plus spécifiquement pour un service web
sudo ufw allow 'Apache' # si vous utilisez Apache
sudo ufw allow 'Nginx Full' # si vous utilisez Nginx
مرحلہ 6 : ٹیسٹ اور تصدیق
مقامی نیٹ ورک سے ٹیسٹ
پہلے، اپنے مقامی نेटورك کی کسی اور مشیں سے رسائی کا ٹیسٹ کریں :
# Remplacez par l'IP locale de votre machine Ubuntu
curl http://192.168.1.100:8080
باہر سے ٹیسٹ
اب انٹرنیٹ سے ٹیسٹ کریں، اپنی عوامی IP کا استعمال کرتے ہوئے :
# Remplacez par votre IP publique
curl http://VOTRE_IP_PUBLIQUE:8080
آپ آن لائن ٹولز بھی استعمال کر سکتے ہیں جیسے :
بہتر طریقے اور محفوظی
بنیادی سکیورٹی
# Configurer fail2ban pour protéger contre les attaques par force brute
sudo apt update && sudo apt install fail2ban
# Limiter l'accès avec UFW (exemple : autoriser seulement certaines IP)
sudo ufw allow from 203.0.113.0/24 to any port 8080
کنیکشنز کا مانیٹرنگ
# Surveiller les connexions en temps réel
sudo netstat -an | grep :8080
# Logs des connexions (selon votre application)
sudo tail -f /var/log/nginx/access.log # pour Nginx
sudo journalctl -f -u your-service # pour un service systemd
ریورس پروکسی کا استعمال
بہتتر امنیتی اور لچکداری کے لیے، نجنکس جیسے ریورس پروکسی استعمال کرنے پر غور کریں
server {
listen 80;
server_name votre-domaine.com;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
پورت فوروارڈنگ کے متبادل
سحابی حلول
-
ngrok: سرنگ محفوظ موقت
-
Cloudflare ٹنلمفت و محفوظ حل
-
serveo.net: سادہ SSH نال
# Exemple avec ngrok
ngrok http 8080
# Exemple avec serveo
ssh -R 80:localhost:8080 serveo.net
VPS اور ریورس پروکسی
حِسّہ ورانہ استعمال کے لیے، خود کے مقامی انفراسٹرکچر سے وائ پی ن کے ذریعے ریورس پروکسی کے ساتھ VPS استعمال کرنے پر غور کریں۔
خربہ یابی
عام مشاكل
| مشکل | حل |
|---|---|
باہر سے سرویس رسائی ناممکن |
پورٹ فوروارڈنگ کی تنظیم کی جانچ کریں اور اس بات کو یقینی بنائیں کہ سروس 0.0.0.0 پر سنتا ہے |
کنکشن منکر کردہ |
خدمت شروع نہیں کی گئی ہے یا صرف 127.0.0.1 پر سنا جا رہا ہے |
کنکشن ٹائم آؤٹ |
فایروال (باکس یا ابونتو) یا غلط سیٹ کردہ پورٹ فوروارڈنگ کی masalah |
عام آئی پی منظم طور پر بدلتی ہے |
داینامیک DNS کو تنظیم کریں (DynDNS, No-IP, etc.) |
نیٹ ورک ڈیبگ
# Tester la connectivité locale
telnet localhost 8080
# Tester depuis une autre machine du réseau
telnet 192.168.1.100 8080
# Vérifier les routes réseau
ip route show
# Analyser le trafic réseau
sudo tcpdump -i any port 8080
نتیجہ
لokal سروس کو انٹرنیٹ پر انکشاف کرنے کے لئے پورٹ فوروارڈنگ، سکیورٹی اور مونٹرینگ کی احتیاطي ترتیبات لازم ہیں۔ اگرچہ یہ طریقہ ڈویلپمنٹ یا ذاتی پروجیکٹس کے لیے مناسب ہے، پروڈکشن کے استعمال کے لیے مضبوط alternates (VPS، CDN، كلاود سروسز) پر غور کریں۔
مہत्त्वیہ یہ ہے کہ ہمیشہ محفوظی کو ذہن میں رکھیں: مضبوط پاس ورڈ استعمال کریں، اپنی نظام کو منظم طریقے سے اپ ڈیٹ کریں، اور اپنی ظاہر کردہ سروسز تک رسائی کی نگرانی کریں۔
کبھی بھی ہاتھ نہیں ڈھالیں، اپنی تجربات اور سوالوں کو تبصرے میں شیئر کریں !