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

زنجیر میں تین کڑیاں ہیں، اور Plex صرف آخری دیکھتا ہے

فراہم کنندہ کے پاس ایک عوامی پتہ ہے اور وہ اپنی ایک پورٹ کو آپ کے ٹنل پتے پر نقش کرتا ہے۔ آپ کی مشین اس پورٹ پر آنے والا سب کچھ لیتی ہے اور Plex سننے والے کی طرف ری ڈائریکٹ کرتی ہے، جو عام طور پر لوپ بیک پورٹ 32400 پر بیٹھتا ہے۔ پھر Plex کو بیرونی پورٹ کا نمبر بتایا جاتا ہے تاکہ اس کی اپنی جانچ باہر کی دنیا کے ڈائل سے میل کھائے۔

کوئی بھی ایک کڑی توڑ دیں اور ویب انٹرفیس دور دراز رسائی کو غیر دستیاب بتاتا ہے، بغیر کسی اشارے کے کہ کون سی کڑی ناکام ہوئی۔ یہی خاموشی سبب ہے کہ لوگ سرور دوبارہ شروع کرتے ہیں، ایپ دوبارہ انسٹال کرتے ہیں اور سیٹنگ بار بار بدلتے ہیں مگر سوئی نہیں ہلتی۔ تینوں کڑیاں آزادانہ ناکام ہوتی ہیں: پرانے ٹنل پتے کی طرف نشانہ شدہ فارورڈ، صرف Ethernet انٹرفیس کو ڈھانپنے والا ری ڈائریکٹ، اور اب بھی 32400 رکھنے والا Plex فیلڈ، سب ایک ہی سرخ متن پیدا کرتے ہیں۔ اندازہ لگانے کے بجائے سننے والے سے باہر کی طرف کام کریں، اور ناکام کڑی عام طور پر ایک منٹ میں اپنا نام بتا دیتی ہے۔

پہلی کڑی: VPN فراہم کنندہ پر ایک پورٹ فارورڈ کریں

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

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

دوسری کڑی: pf اینکر سے پورٹ ری ڈائریکٹ کریں

macOS پر ری ڈائریکٹ pf اینکر میں آتا ہے، ہر اس انٹرفیس کے لیے ایک قاعدہ جو پیکٹ لے جا سکے۔ پہلے ٹنل کا قاعدہ اور پھر Ethernet کا قاعدہ لکھیں، دونوں پر وہی بیرونی پورٹ رکھیں، ورنہ فیل اوور کے دوران Wi-Fi سے آنے والا ٹریفک کہیں نہیں اترتا۔

# /etc/pf.anchors/plex.forward
rdr pass on tun0 inet proto tcp from any to any port 41893 -> 127.0.0.1 port 32400
rdr pass on en0 inet proto tcp from any to any port 41893 -> 127.0.0.1 port 32400

اینکر فائل خود کچھ نہیں کرتی؛ مرکزی کنفیگریشن کو اس کا حوالہ دینا اور اسے لوڈ کرنا ہوتا ہے۔ یہ دو سطریں /etc/pf.conf میں رکھیں، کسی بھی موجودہ ری ڈائریکٹ قاعدے سے پہلے، پھر دوبارہ لوڈ کریں اور پڑھیں کہ کرنل نے واقعی کیا قبول کیا۔

rdr-anchor "plex"
load anchor "plex" from "/etc/pf.anchors/plex.forward"

sudo pfctl -vnf /etc/pf.anchors/plex.forward
sudo pfctl -f /etc/pf.conf
sudo pfctl -s nat

نامعلوم پورٹ کے بارے میں نحو کی شکایت کا مطلب ہے کہ آپ کی ترمیم سے کوئی پلیس ہولڈر بچ گیا۔ خالی nat جدول کا مطلب ہے کہ اینکر کبھی لوڈ نہیں ہوا، اور چونکہ موجودہ macOS پر pf بطور ڈیفالٹ فعال نہیں، sudo pfctl -E اصلاح کا حصہ ہے، اختیاری اضافوں کا نہیں۔ ہر ری بوٹ اور ہر نقش کی تبدیلی کے بعد اینکر دوبارہ لوڈ کریں۔ اینکر فائل کو ورژن کنٹرول میں رکھیں تاکہ فراہم کنندہ کی پورٹ تبدیلی دوبارہ دریافت کی مشق کے بجائے ایک سطر کی ترمیم بن جائے۔

تیسری کڑی: Plex کے اندر وہی پورٹ پن کریں

Plex میں ترتیبات کھولیں، پھر سرور، پھر دور دراز رسائی، اور وہ خانہ نشان زد کریں جو آپ کو ہاتھ سے پورٹ متعین کرنے دیتا ہے۔ 32400 کے بجائے فراہم کنندہ کی بیرونی پورٹ درج کریں، پھر رسائی کے امتحان کو چلنے دیں۔ نئے بلڈز نے یہ کنٹرول پرانے Connect صفحے سے ہٹا دیا ہے، اس لیے اگر فیلڈ وہاں نہیں جہاں کوئی گائیڈ دعویٰ کرتی ہے تو دور دراز رسائی کے نیچے دیکھیں۔

LAN سے جانچ کچھ ثابت نہیں کرتی۔ اسی Wi-Fi پر لیپ ٹاپ براہ راست سرور تک پہنچتا ہے، اس لیے عوامی راستہ مرنے کے باوجود جانچ کامیاب ہوتی ہے۔ سیلولر ڈیٹا والا فون، یا اپنے نیٹ ورک سے باہر کوئی بھی ہوسٹ استعمال کریں اور وہاں سے عوامی پتہ اور بیرونی پورٹ ڈائل کریں۔

Plex کو الزام دینے سے پہلے ہر کڑی کی تصدیق کریں

سننے والے سے شروع کریں اور باہر کی طرف کام کریں۔ اگر Plex صرف LAN پتے سے بندھا ہے تو وہ لوپ بیک کی طرف ری ڈائریکٹ کو نظر انداز کرے گا، اس لیے پہلا حکم وہی ہے جو ثابت کرتا ہے کہ یہ کہاں سنتا ہے۔

sudo lsof -nP -iTCP:32400 -sTCP:LISTEN

پھر ثابت کریں کہ ری ڈائریکٹ موجود ہے اور اس پورٹ سے میل کھاتا ہے جو آپ نے فراہم کنندہ کو دیا تھا۔ nat جدول کو دونوں انٹرفیس پر وہی بیرونی پورٹ دکھانا چاہیے۔

sudo pfctl -s nat | grep 41893
nc -vz 203.0.113.42 41893

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

متعلقہ مضامین