کیسے مقامی SSH فارورڈ TCP OpenVPN سیشن کو لے جاتا ہے
ایک مقامی پورٹ، دو تصدیق شدہ تعلقات، تین منتقلیاں۔ SSH فارورڈ کیا منتقل کرتا ہے، اور لوپ اور سرٹیفکیٹ جانچ کہاں اب بھی لاگو ہیں۔
یہاں تین منتقلی تہیں جمع ہوتی ہیں، اور ہر ایک کی اپنی فریمنگ ہے۔ VPN پے لوڈ TLS سیشن کے اندر جاتا ہے، وہ TLS سیشن لوپ بیک پورٹ کی طرف TCP کنکشن کے اندر جاتا ہے، اور اس کنکشن کے بائٹس SSH کے اندر ریلے ہوسٹ کی طرف جاتے ہیں، جو VPN سننے والے کی طرف اصل TCP کنکشن کھولتا ہے۔ اس ترتیب میں کچھ بھی نہیں بدلتا کہ OpenVPN کیا تصدیق کرتا ہے، اور اس میں کچھ بھی UDP سننے والے کو TCP کے ذریعے قابل رسائی نہیں بناتا۔ باقی کو بائٹ راستے کی وضاحت کے طور پر پڑھیں، نیٹ ورک کنٹرول سے بچنے کی ترکیب کے طور پر نہیں۔
مقامی فارورڈ اصل میں کیا منتقل کرتا ہے
SSH کلائنٹ مقامی پورٹ پر سنتا ہے۔ جب کوئی مقامی عمل جڑتا ہے، کلائنٹ بائٹس کو اپنے خفیہ کردہ چینل میں پیک کرتا ہے، اور سرور کی طرف فارورڈ درخواست میں نامزد منزل کی طرف نیا TCP کنکشن کھولتی ہے۔
اس منزل کو ریلے حل کرتا ہے، آپ کی مشین نہیں، اسی لیے دوسرے نیٹ ورک کے اندر ہی موجود نام بھی کام کرتا ہے۔ اس کا مطلب یہ بھی ہے کہ ریلے کو VPN سننے والے تک پہنچنا اور وہاں واپسی کا راستہ رکھنا چاہیے۔ آپ کے لیپ ٹاپ پر حل ہونے والا نام ریلے کیا دیکھ سکتا ہے اس بارے میں کچھ نہیں بتاتا۔
SSH سیشن شروع کرنا صرف یہ ثابت کرتا ہے کہ ریلے قابل رسائی اور تصدیق شدہ ہے۔ یہ نہیں بتاتا کہ اگلا سننے والا چل رہا ہے یا نہیں، ریلے اور سننے والے کے درمیان فائر وال کنکشن قبول کرتا ہے یا نہیں، یا VPN آپ کی پروفائل قبول کرے گا یا نہیں۔
کلائنٹ کو مقامی سننے والے کی طرف موڑیں
اعلان شدہ مثال: ریلے gw.internal.example:443 پر TCP سننے والے تک پہنچ سکتا ہے، اور اونچا مقامی پورٹ وہ راستہ صرف اسی مشین کے لیے کھولتا ہے۔
ssh -N -L 127.0.0.1:24011:gw.internal.example:443 [email protected]OpenSSH دستی مقامی فارورڈ کو مقامی طور پر TCP کنکشن قبول کرنے اور دور کی طرف سے اگلا کنکشن کھولنے کے طور پر بیان کرتا ہے۔ سننے والے کو تمام انٹرفیس کے بجائے لوپ بیک سے باندھیں، کیونکہ نیٹ ورک سے قابل رسائی فارورڈ آپ کے نام والا کھلا ریلے ہے۔ وائلڈ کارڈ بائنڈنگ مشترکہ مشین پر کسی بھی دوسرے مقامی اکاؤنٹ کے لیے بھی پورٹ کھول دیتی ہے۔
پھر VPN کلائنٹ کو TCP موڈ میں رکھیں اور 127.0.0.1:24011 کی طرف موڑیں۔ اگر پروفائل UDP استعمال کرتی ہے، تو یہ ڈیزائن مدد نہیں کر سکتا: فارورڈ بائٹ اسٹریم لے جاتا ہے، اور اس میں سے ڈیٹا گرام کا راستہ نہیں۔
دونوں تصدیقیں الگ رکھیں
SSH ریلے ہوسٹ کی تصدیق کرتا ہے۔ OpenVPN اب بھی VPN ساتھی کی تصدیق کرتا ہے، اور لوپ بیک منزل وہ شرط نہیں بدلتی۔ ساکٹ اب localhost کی طرف اشارہ کرتا ہے اس لیے سرٹیفکیٹ جانچ بند کرنا اس ڈیزائن میں سب سے برا شارٹ کٹ ہے۔ یہ منتقلی ترتیب کو اعتماد کی ترتیب میں بدل دیتا ہے، اور دوسری کے لیے کسی نے رضامندی نہیں دی۔
پروفائل کا اعتماد اینکر، سرور کردار جانچ اور نام کی تصدیق اٹوٹ رکھیں۔ اگر آپ کا کلائنٹ سرور کے نام کا موازنہ اس پتے سے کرتا ہے جس پر کال کی، تو لوپ بیک کو بند جانچ کے بجائے واضح نام کی ترتیب درکار ہو سکتی ہے، اور کون سی فیلڈ موازنہ کی جاتی ہے اس کی تصدیق کی جگہ پروفائل دستاویزات ہیں۔
ریلے کو اعتماد کی کہانی میں دوسرا فریق سمجھیں: اس کا منتظم کنکشن میٹا ڈیٹا دیکھ سکتا ہے اور ترتیب بدلنے پر فارورڈ موڑ سکتا ہے۔ اس ترتیب کو ریلے اور VPN سروس کے مالک دونوں کی منظوری درکار ہے، صرف اس کی نہیں جسے آج ضرورت ہے۔
سرنگ کے نیچے لوپ نہ بنائیں
VPN کے راستے قائم کرنے کے بعد بھی اسے لے جانے والے SSH کنکشن کو ریلے تک ایسا راستہ چاہیے جو سرنگ سے نہ گزرے۔ اگر ڈیفالٹ راستہ VPN کی طرف چلا جائے اور ریلے صرف اسی سرنگ سے قابل رسائی ہو، تو منتقلی ڈھے جاتی ہے اور VPN بھی اس کے ساتھ چلا جاتا ہے۔ ناکامی راؤٹنگ کی غلطی کی طرح نہیں بلکہ گری ہوئی سرنگ کی طرح دکھتی ہے، اسی لیے غلط تشخیص ہوتی ہے۔
عام حل سرنگ کے اٹھنے سے پہلے فزیکل انٹرفیس پر پن شدہ ریلے پتے کی طرف ہوسٹ راستہ ہے، ساتھ میں یہ جانچ کہ دوبارہ جڑنے کے بعد بھی راستہ برقرار رہتا ہے۔ ترتیب درست تھی یہ ماننے کے بجائے ریلے پتے کے لیے راستہ تلاش کر کے اس کی تصدیق کریں۔
یہ بھی توقع رکھیں کہ یہ ڈھیر براہ راست کنکشن سے سست اور نازک ہوگا، کیونکہ اب دو ترتیب شدہ منتقلیاں اور دیکھ بھال کے لیے ایک اور آخری نقطہ ہے۔ یہ نیٹ ورک کی حد عبور کرنے کا طریقہ ہے، کارکردگی کی تکنیک نہیں۔
کام ختم ہونے پر سننے والا بند کریں
جب سرنگ کی ضرورت نہ رہے تو SSH سیشن روکیں، اور تصدیق کریں کہ مقامی پورٹ خالی ہو گیا ہے۔ بھولا ہوا فارورڈ مشترکہ ہو سکنے والی مشین پر تصدیق شدہ راستہ کھلا رکھتا ہے۔
ریلے کے اجازت شدہ فارورڈ منازل کا بھی جائزہ لیں، کیونکہ نرم ترتیب کسی بھی سمجھوتے والے اکاؤنٹ کو عام سہارا بنا دیتی ہے۔ پورٹ، ریلے اور منزل ایک ساتھ درج کریں، تاکہ اگلا شخص جان سکے کہ فارورڈ کس لیے تھا اور کیا اب بھی منظور ہے۔