نجی راستے برقرار رکھیں اور ری ڈائریکشن چھوڑ دیں: OpenVPN کی منقسم سرنگ
صرف نجی نیٹ ورکس کے لیے سرنگ کو دو اصول درکار ہیں: نجی سابقے اس سے گزرتے ہیں، عام براؤزنگ اپنا مقامی راستہ برقرار رکھتی ہے۔ ڈیفالٹ راستہ حذف کرنا کوئی پالیسی نہیں۔
سرنگ اوپر آتی ہے، ایپلیکیشن لوڈ ہوتی ہے، اور پھر لیپ ٹاپ پر باقی سب کچھ عجیب سا برتاؤ کرنے لگتا ہے۔ ایک سطر حذف کر کے نافذ کی گئی صرف نجی پالیسی کی یہی عام شکل ہے۔ دھکیلا گیا ڈیفالٹ راستہ ہٹانا واقعی بدلتا ہے کہ ٹریفک کہاں جاتی ہے، مگر یہ نہیں بتاتا کہ ٹریفک اس کے بجائے کہاں جانی چاہیے، اور ناموں کی تحلیل کو بالکل نہیں چھوتا۔ جانچ سے پہلے پالیسی کو دو مثبت نصف حصے درکار ہیں۔
ری ڈائریکشن حذف کرنا تبدیلی کا محض آدھا حصہ ہے
مکمل سرنگ کی ری ڈائریکشن اور صرف نجی پالیسی دنیا کے بارے میں جو دعویٰ کرتی ہیں اس میں مختلف ہیں۔ ری ڈائریکشن ہر منزل کا دعویٰ کرتی ہے، جبکہ نجی پالیسی ایک فہرست کا دعویٰ کرتی ہے اور باقی کو حال پر چھوڑ دیتی ہے۔ فہرست لکھے بغیر دعویٰ ہٹانا ایسا کلائنٹ بناتا ہے جو مقامی نیٹ ورک سے باہر کہیں نہیں پہنچتا، جو پالیسی کی کمی کے بجائے روٹنگ کی ناکامی جیسا لگتا ہے۔ دعویٰ ہٹانے سے پہلے فہرست لکھیں، پھر ان دو مراحل کی ترتیب اہم نہیں رہے گی۔
دونوں نصف حصے طے شدہ نہیں بلکہ تقاضے ہیں۔ نجی سابقوں کو سرنگ میں داخل ہونا چاہیے، اور عام منزلوں کو کنکشن سے پہلے والا راستہ برقرار رکھنا چاہیے۔
اگر کوئی ادارہ مکمل سرنگ لازمی قرار دے تو اس میں سے کچھ بھی لاگو نہیں ہوتا۔ صرف نجی ڈیزائن ان تعیناتیوں کا حصہ ہے جہاں منقسم روٹنگ کی منظوری ہے۔
pull-filter ایک مطابقت ہے، سوئچ نہیں
pull-filter ہدایت ایسے دھکیلے گئے اختیارات ہٹاتی ہے جن کے نام کسی سابقے سے مطابقت رکھتے ہیں، اور بس اتنا ہی کرتی ہے۔ ری ڈائریکشن نظر انداز کرنے سے باقی ہر دھکیلا گیا اختیار اپنی جگہ رہتا ہے، جو عام طور پر آپ کی خواہش ہوتی ہے: راستے، DNS کی ترتیبات اور راستے کے گیٹ وے کی قدر سب آتے ہیں۔ یہ مقامی پروفائل میں لکھی ہدایت بھی نہیں ہٹا سکتی، کیونکہ فلٹرنگ سرور کے دھکیلنے والی چیزوں پر لاگو ہوتی ہے۔
route سے شروع ہونے والے ہر اختیار کو نظر انداز کرنے کے لالچ کا مقابلہ کریں۔ وہ انداز کنکشن کو درکار نجی راستے بھی پھینک دیتا ہے، اور سرنگ جس گیٹ وے معلومات پر منحصر ہے وہ گم ہو سکتی ہیں۔
route-nopull دکھائی دینے سے زیادہ وسیع فیصلہ ہے۔ یہ کلائنٹ کو دھکیلے گئے راستے اور DHCP طرز کے اختیارات ایک گروہ کے طور پر قبول کرنے سے روکتا ہے، جو ایک اختیار فلٹر کرنے سے مختلف پالیسی ہے۔
راستوں کی فہرست ایپلیکیشن سے باہر کی طرف لکھیں
اس چیز سے شروع کریں جو صارف واقعی کھولتا ہے، پھر معاون حصے شامل کریں۔ 10.60.20.15 پر ایک ایپلیکیشن اپنے ذیلی نیٹ ورک 10.60.0.0/16 کا اشارہ دیتی ہے، اور نجی نام اس حل کنندہ کا اشارہ دیتا ہے جو اس کا جواب دیتا ہے۔ اس لیے ایک ایپلیکیشن مانگنے والے صارف کو دو منزلیں اور ایک DNS فیصلہ درکار ہے۔ اس فہرست سے آگے سب کچھ بناوٹ ہی سے دائرے سے باہر ہے، اور یہی پالیسی کو قابل جائزہ رکھتا ہے۔
تعاون کرنے والے سرور پر وہ دو دھکیلے گئے راستے بن جاتے ہیں، اور ان میں سے کوئی بھی ری ڈائریکشن نہیں۔ موجودہ سروس جو سرنگ کی ٹوپولوجی اور راستے کے گیٹ وے کی قدریں دیتی ہے انہیں برقرار رکھیں۔
جب صرف کچھ صارفین کو یہ پالیسی درکار ہو تو اسے فی کلائنٹ یا فی گروہ لاگو کریں۔ ایک ٹیم کی ضرورت درست کرنے کے لیے سب کی روٹنگ بدلنا ہی وہ راہ ہے جس سے منقسم سرنگ رکاوٹ بن جاتی ہے۔
| Destination | Intended path |
|---|---|
10.60.0.0/16 | Tunnel, for the approved application services |
10.61.0.53/32 | Tunnel, to reach the internal resolver |
corp.example queries | Internal resolver, selected per namespace |
| Everything else | Local path and local resolver |
DNS کو وہی راستہ اختیار کرنے دیں
حل کنندہ تک راستہ حل کنندہ کی پالیسی نہیں ہے۔ systemd-resolved کلائنٹ پر معنوی نتیجہ نجی نام کی فضا کے لیے ایک روٹنگ ڈومین ہے جو اندرونی حل کنندہ کی طرف اشارہ کرتا ہے، اور یہی ان ناموں کو ہی اسے استعمال کرنے پر مجبور کرتا ہے۔ Windows کلائنٹ کو اس کے بجائے اپنا نام کی فضا پالیسی کا طریقہ کار درکار ہے۔ پروفائل میں DNS سرور کی سطر خود سے ان میں سے کوئی بھی نصب نہیں کرتی۔
دیکھیں آپریٹنگ سسٹم نے کیا چنا، نہ کہ پروفائل نے کیا مانگا۔ Linux پر resolvectl status ہر لنک کے لیے ڈومین اور سرور دکھاتا ہے؛ Windows پر نام کی فضا پالیسی کا جدول مساوی ثبوت ہے۔
حل کنندہ کو سرنگ کے ذریعے قابل رسائی رکھیں، ورنہ پالیسی ایسے پتے کی طرف اشارہ کرتی ہے جس سے پوچھا نہیں جا سکتا۔ ایسا حل کنندہ پتہ جہاں تک سرنگ نہیں پہنچتی، کام کرتی پالیسی کو وقت کی حد میں بدل دیتا ہے۔
دوبارہ کنکشن پر دونوں نصف حصے جانچیں
تبدیلی کے بعد کلائنٹ دوبارہ جوڑیں اور نجی پتے اور عوامی پتے تک مؤثر راستہ دیکھیں۔ پھر ایک نجی نام اور ایک عوامی نام حل کریں اور یقینی بنائیں کہ ہر ایک نے مطلوبہ حل کنندہ استعمال کیا۔ عوامی ویب سائٹ کا لوڈ ہونا صرف دوسرا نصف ثابت کرتا ہے، اور عام طور پر وہی نصف اتفاقاً کام کرتا ہے۔
تیار پالیسی کو ایک جملے میں درج کریں: یہ سابقے اور نام یہ کنکشن استعمال کرتے ہیں، باقی سب مقامی راستہ اختیار کرتا ہے۔ پھر اسے پروفائل میں رکھیں، ہر لاگ اِن کے بعد ایڈاپٹر کی ترتیبات درست کرنے کے بجائے۔