اسپلٹ ٹنل عوامی میزبان کو ASA کے NAT قواعد سے مستثنیٰ نہیں کرتا
split-include راستہ عوامی میزبان کو ٹنل میں کھینچ لاتا ہے، جہاں ASA کو hairpin کرنا اور ماخذ کا ترجمہ کرنا پڑتا ہے۔ دونوں میں سے کوئی بھی مرحلہ چھوڑیں تو بہاؤ ٹوٹ جاتا ہے۔
اسپلٹ ٹنلنگ کو عام طور پر یوں بیان کیا جاتا ہے کہ کارپوریٹ ٹریفک ٹنل کے اندر اور باقی انٹرنیٹ فائر وال سے باہر رہے۔ اس بیان کے دونوں حصے ایک ہی طرح غلط ہیں۔ اسپلٹ ٹنلنگ کلائنٹ کا لیے گئے راستے کا فیصلہ ہے، اور راستے کا فیصلہ اس بارے میں کچھ نہیں کہتا کہ پیکٹ headend تک پہنچنے کے بعد اس کے ساتھ کیا ہوتا ہے۔
عوامی پتے پر ایک ہی شراکت دار سروس، جو آپ کے مرکزی دفتر کا پتہ دیکھنے پر اصرار کرتی ہے، اس کہانی کو توڑنے کے لیے کافی ہے۔
افسانہ: اسپلٹ ٹنل فائر وال کو راستے سے ہٹا دیتا ہے
یقین یہ ہے کہ نجی حدود سے باہر کوئی بھی منزل مقصود مقامی انٹرنیٹ کنکشن پر ہی رہتی ہے، اس لیے فائر وال اسے کبھی نہیں دیکھتا اور اس کے لیے کبھی قاعدے کی ضرورت نہیں ہوتی۔ یہ صرف تب تک درست ہے جب تک منزل ٹنل کی فہرست میں نہ ہو۔ جس لمحے کوئی آپریٹر عوامی میزبان کو split-include ACL میں شامل کرتا ہے، کلائنٹ وہ ٹریفک ٹنل میں بھیج دیتا ہے، اور ASA کو اسے کسی بھی دوسرے ڈکرپٹ شدہ بہاؤ کی طرح روٹ، فلٹر اور ترجمہ کرنا پڑتا ہے۔ کلائنٹ پر منزل کی فہرست کے سوا کچھ نہیں بدلا۔
کلائنٹ راؤٹر نہیں بنا۔ اس نے وہی پالیسی مانگی جو آپ نے دی تھی۔
split-include راستہ درحقیقت کیا کرتا ہے
Cisco ASA ریموٹ رسائی سیٹ اپ میں گروپ پالیسی split-tunnel-policy tunnelspecified اور ایک معیاری ACL کا نام دینے والا split-tunnel-network-list رکھتی ہے۔ اس ACL کی ہر permit سطر ایک منزل ہے جو کلائنٹ کو ٹنل میں بھیجنی چاہیے، اور باقی سب مقامی ڈیفالٹ راستہ استعمال کرتا رہتا ہے۔
ایک میزبان شامل کرنا ایک ہی سطر ہے، اور تبدیلی کا یہی واحد حصہ ہے جو کلائنٹ دیکھ سکتا ہے: access-list RA-SPLIT standard permit host 203.0.113.20۔
اس کے بعد کلائنٹ کو دوبارہ جوڑیں۔ پالیسی جوڑنے کے وقت بدلی جاتی ہے، اس لیے قائم شدہ سیشن پرانی فہرست رکھتا ہے اور تبدیلی کو ایسا دکھاتا ہے جیسے اس نے کچھ نہ کیا ہو۔
پیکٹ اسی انٹرفیس پر آتا اور جاتا ہے
اب ڈکرپشن کے بعد بہاؤ کا پیچھا کریں۔ پیکٹ VPN ٹنل کے ذریعے بیرونی انٹرفیس پر آیا، اس کی منزل ایک عوامی پتہ ہے، اور روٹنگ جدول اسے اسی بیرونی انٹرفیس سے واپس انٹرنیٹ کی طرف بھیجتا ہے۔ ایک انٹرفیس پر آنے اور جانے والی ٹریفک رد کر دی جاتی ہے جب تک ASA کو اجازت نہ دی جائے، اور same-security-traffic permit intra-interface یہی کرتا ہے۔ اس کے بغیر کنکشن ایسے ناکام ہوتا ہے جو روٹنگ مسئلے جیسا لگتا ہے مگر ہے نہیں۔
یہ سیٹنگ عالمی ہے۔ یہ ہر اس بہاؤ کے لیے hairpinning کی اجازت دیتی ہے جسے ضرورت ہو، صرف اس شراکت دار میزبان کے لیے نہیں، اس لیے یہ جائزہ لی گئی تبدیلی کا حصہ ہے، فوری آزمائش کا نہیں۔
منزل تک محدود PAT کیوں اختیاری نہیں
ڈکرپٹ شدہ پیکٹ کا ماخذ پتہ اب بھی کلائنٹ کا VPN پتہ ہے، عام طور پر 10.77.0.0/24 جیسے پول سے۔ اس پتے کا عوامی انٹرنیٹ پر کوئی راستہ نہیں، اس لیے شراکت دار یا کبھی جواب نہیں دیتا یا کہیں جواب نہیں دیتا۔
ترجمہ ماخذ کو درست کرتا ہے اور منزل کو اچھوتا چھوڑتا ہے۔ چونکہ اشیاء پہلے ہی کہیں اور متعین ہیں، اس منزل تک محدود دستی قاعدہ اس شکل کا ہے:
same-security-traffic permit intra-interface
object network RA_POOL
subnet 10.77.0.0 255.255.255.0
object network PARTNER_HOST
host 203.0.113.20
nat (outside,outside) source dynamic RA_POOL interface destination static PARTNER_HOST PARTNER_HOSTdestination static حصہ اہم ہے۔ اسے چھوڑ دیں تو قاعدہ ایک وسیع ترجمہ بن جاتا ہے جو ارادے سے کہیں زیادہ ٹریفک سے میل کھا سکتا ہے، اور ترتیب میں پہلے موجود وسیع identity قاعدہ اسے مکمل طور پر ہرا سکتا ہے۔ یہ ماننے سے پہلے کہ آپ کا قاعدہ ہی میل کھاتا ہے، show nat detail اور حصوں کی ترتیب جانچیں۔
انٹرفیس PAT کا مطلب یہ بھی ہے کہ شراکت دار ASA کا انٹرفیس پتہ دیکھتا ہے، جس کا اوپر کی طرف دوبارہ ترجمہ ہو سکتا ہے۔ اگر معاہدہ کسی پتے کا نام لیتا ہے تو اسے ایک ہاپ پر نہیں بلکہ سرے سے سرے تک تصدیق کریں۔
درست آزمائشی منزل سے اسے ثابت کریں
عمومی what-is-my-ip صفحے کے بجائے شراکت دار میزبان ہی استعمال کریں۔ وہ صفحہ تقریباً یقینی طور پر split فہرست سے باہر ہے، اس لیے یہ آپ کا مقامی انٹرنیٹ پتہ بتاتا ہے اور اس راستے کے بارے میں کچھ نہیں کہتا۔ شراکت دار سروس سے نیا کنکشن کھولیں اور پوچھیں کہ انہوں نے کون سا ماخذ دیکھا، یا packet-tracer input outside tcp 10.77.0.10 12345 203.0.113.20 443 detailed چلائیں اور NAT اور روٹنگ کے مراحل سطر بہ سطر پڑھیں۔ کلائنٹ سے traceroute کمزور جانچ ہے، کیونکہ یہ وہ راستہ دکھاتا ہے جو پہلے ہو چکا، نہ کہ وہ پالیسی جس نے اسے چنا۔
پھر جانچیں کہ کیا نہیں بدلنا چاہیے۔ ایک عام ویب سائٹ کو اب بھی مقامی کنکشن سے باہر جانا چاہیے، اور ٹنل فہرست میں موجود نجی وسیلہ اب بھی قابل رسائی ہونا چاہیے۔ وہ تبدیلی جو شراکت دار کو ٹھیک کرے اور ان دونوں میں سے ایک توڑ دے، ایک اور خرابی ہے۔
اس ڈیزائن کا کام کرنے والا نسخہ مختصر ہے: split ACL میں ایک میزبان، hairpin کی اجازت، منزل تک محدود ایک PAT قاعدہ۔ کہانی میں باقی سب افسانہ ہے۔