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

ٹنل میں کیا داخل ہوتا ہے، یہ طے کرنے کے دو طریقے

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

روٹ پر مبنی VPN ٹنل کی نمائندگی کرنے والا انٹرفیس بناتا ہے اور روٹنگ جدول کو اس میں ٹریفک بھیجنے دیتا ہے۔ IKE ڈیمن اب بھی حالت اور ہر انٹرفیس کی پالیسی نصب کرتا ہے، اور یہی وہ تفصیل ہے جو لوگ نظر انداز کرتے ہیں جب وہ فیصلہ کرتے ہیں کہ روٹوں نے خفیہ کاری کی جگہ لے لی ہے۔ دونوں ڈیزائن IPsec سے خفیہ کرتے ہیں؛ صرف انتخاب کا طریقہ کار مختلف ہے۔

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

AspectPolicy-basedRoute-based
What selects trafficNegotiated selectorsA route into the tunnel interface
Adding a networkEdit selectors on both peersAdd a route, widen the selector once
Dynamic routingAwkward to run over the tunnelRuns over the interface directly
Typical failureTunnel up, host outside the selectorTunnel up, no route or wrong source

پالیسی پر مبنی: منتخب کنندہ ہی معاہدہ ہے

منتخب کنندگان پر گفت و شنید ہوتی ہے، صرف ترتیب نہیں دیے جاتے۔ ایک طرف 10.10.0.0/16 اور دوسری طرف 10.10.1.0/24 تجویز کریں، پھر انجمن وہ احاطہ کرے گی جہاں گفت و شنید رکی تھی اور باقی ہر میزبان باہر رہے گا۔

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

sudo ip xfrm state
sudo ip xfrm policy
sudo swanctl --list-sas

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

روٹ پر مبنی: انٹرفیس ہی معاہدہ ہے

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

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

sudo ip link add xfrm0 type xfrm dev eth0 if_id 42
sudo ip route add 10.20.0.0/16 dev xfrm0
ip -s link show xfrm0
ip route get 10.20.5.10

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

دونوں ڈیزائن واقعی کہاں الگ ہوتے ہیں

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

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

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

واپسی راستہ کھوئے بغیر منتقلی

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

جب ساتھی جڑتے ہیں مگر LAN میزبان نہیں، تو واپسی روٹ اور وہ ماخذ پتہ دیکھیں جو دور دراز میزبان استعمال کرے گا۔ دو انٹرفیس والا میزبان غلط انٹرفیس سے جواب دے سکتا ہے، اور کوئی منتخب کنندہ تبدیلی اسے ٹھیک نہیں کرتی۔ الگورتھم میں ترمیم سے پہلے دونوں سروں پر ٹریفک پکڑیں۔

ip route get 10.20.5.10
sudo tcpdump -ni any host 10.20.5.10 and icmp
sudo swanctl --list-conns

کام کرتے وقت ایسا انتظامی راستہ رکھیں جو ٹنل پر منحصر نہ ہو۔ واپس جانا آسان ہوتا ہے جب گیٹ وے کی اپنی رسائی اس کنکشن پر سوار نہ ہو جسے آپ ڈی بگ کر رہے ہیں۔

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