AWS Client VPN پر وقفے وقفے سے رسائی: ہر منسلک سب نیٹ کا آڈٹ کریں
کچھ AWS Client VPN سیشنز ایپ کے VPC تک پہنچتے ہیں اور کچھ وقت سے گزر جاتے ہیں۔ پہلے ہر ایسوسی ایشن کے VPC روٹ ٹیبل سے اینڈ پوائنٹ روٹ کا موازنہ کریں۔
ایک صارف جڑتا ہے، اندرونی ایپ کھولتا ہے اور جواب پاتا ہے؛ اسی اینڈ پوائنٹ پر ایک ساتھی کو اسی Wi-Fi پر اسی جیسے لیپ ٹاپ سے وقت ختم ہونے کا پیغام ملتا ہے۔ یہ نمونہ ایک سے زیادہ منسلک سب نیٹ والے client VPN اینڈ پوائنٹ کی علامت ہے، جہاں راستے برابر نہیں ہیں۔ میں اسے کنسول سے باہر کی طرف دیکھتا ہوں، کیونکہ باقی تفتیش کے لائق ہونے کا فیصلہ دو ٹیب کرتے ہیں۔ کلائنٹ کنفیگریشن میں کوئی چیز اس کی وضاحت نہیں کرتی۔
اینڈ پوائنٹ سے شروع کریں اور ایسوسی ایشنز کی فہرست بنائیں
VPC کنسول میں Client VPN endpoints کھولیں، اینڈ پوائنٹ منتخب کریں اور Associations ٹیب پڑھیں۔ ہر ایسوسی ایشن دستیابی زون میں ایک سب نیٹ ہے، اور کنکشن بننے پر صارف وہاں اترتا ہے جہاں سروس منتخب کرتی ہے۔ سب نیٹ IDs اور ہر ایک کا واقعی استعمال شدہ روٹ ٹیبل نوٹ کریں، کیونکہ یہی دو فہرستیں وہ موازنہ ہیں جو آپ کرنے والے ہیں۔
اگر اینڈ پوائنٹ صرف ایک ایسوسی ایشن دکھائے تو یہ نظریہ غلط ہے اور کلائنٹ بہتر مشتبہ ہے۔
اینڈ پوائنٹ روٹ ٹیبل کا ہر ایسوسی ایشن سے موازنہ کریں
اسی اینڈ پوائنٹ پر Route table ٹیب کھولیں۔ وہاں ہر منزل CIDR کا ایک ہدف ہے، اور client VPN میں ہدف گیٹ وے نہیں بلکہ ایسوسی ایشن ہے۔ AWS ہر منسلک سب نیٹ کے لیے منزل کا اندراج مانگتا ہے، اس لیے صرف ایک کی طرف اشارہ کرنے والا روٹ رسائی کو اس پر منحصر کر دیتا ہے کہ سیشن کہاں اترا۔ جس منزل کی آپ کو واقعی ضرورت ہے اسے دیکھیں، پھر اس کا اجازت نامہ دیکھیں، کیونکہ روٹ راستہ دیتا ہے اور قاعدہ فیصلہ کرتا ہے کہ کون استعمال کر سکتا ہے۔
دونوں سطحوں کو جدول میں لانے کے بعد خرابی کو نظر انداز کرنا مشکل ہے۔
| Associated subnet | Endpoint route to 10.200.0.0/16 | VPC route in that subnet |
|---|---|---|
| subnet-aaa | Targets the association | 10.200.0.0/16 to pcx-example |
| subnet-bbb | Targets the association | No matching entry |
زیادہ تر ٹکٹوں میں دوسری سطر ہی پوری خرابی ہے۔ اینڈ پوائنٹ روٹ موجود ہے، اس لیے کوئی آگے نہیں دیکھتا، اور پیکٹ ایک ہاپ بعد VPC کے اندر مر جاتا ہے۔
ہر سب نیٹ کا اس کے مؤثر روٹ ٹیبل تک پیچھا کریں
جس سب نیٹ کا واضح روٹ ٹیبل ایسوسی ایشن نہیں وہ VPC کا مرکزی ٹیبل ورثے میں پاتا ہے۔ وہ ٹیبل پڑھیں جو واقعی نافذ ہے، نہ کہ وہ جس کا نام درست لگتا ہے، اور سطر کے لیبل کی جگہ منزل اور ہدف کا موازنہ کریں۔
AWS کی وقفے وقفے سے رسائی کی رہنما اسے ایسوسی ایشنز کے دوران روٹ کوریج کے طور پر بیان کرتی ہے، جو درست ماڈل ہے۔ اینڈ پوائنٹ پیکٹ کو ایک سب نیٹ تک پہنچاتا ہے، اور اس سب نیٹ کے ٹیبل کو اب بھی جاننا ہوگا کہ ایپلیکیشن نیٹ ورک کہاں ہے۔
غائب سطر کو اسی ٹیبل میں ٹھیک کریں جو اس کی مالک ہے۔ کسی کام کرنے والے سب نیٹ سے پورا روٹ ٹیبل کاپی کرنا انٹرنیٹ، آلات اور تنہائی کے وہ انتخاب بھی کاپی کرتا ہے جو کبھی اس کے لیے نہیں سوچے گئے تھے، اور یہ تبادلہ عام طور پر اس رکاوٹ سے بدتر ہوتا ہے جس سے آپ نے شروع کیا۔
اجازت کے قواعد دیکھیں، پھر واپسی کا راستہ
اجازت کے قواعد ہر منزل اور ہر گروہ کے لیے ہوتے ہیں اور روٹس سے الگ جانچے جاتے ہیں۔ جس منزل کے ہر جگہ روٹ ہوں مگر صارف کے گروہ کے لیے قاعدہ نہ ہو، وہ صحت مند دکھنے والے روٹ ٹیبل کے ساتھ کالے سوراخ کی طرح برتاؤ کرتی ہے۔
واپسی کا راستہ بھی اتنی ہی توجہ کا مستحق ہے۔ peering کنکشن کو ایپلیکیشن VPC میں کلائنٹ CIDR کی طرف واپس جانے والا روٹ، دونوں سروں پر ٹریفک کی اجازت دینے والے سیکیورٹی گروپ قواعد اور اسے نہ گرانے والے نیٹ ورک ACL درکار ہیں۔ یک طرفہ رسائی، یعنی ping کام کرتا ہے مگر TCP ہینڈ شیک نہیں، عام طور پر VPN کی طرف نہیں بلکہ ACL یا سیکیورٹی گروپ کی طرف اشارہ کرتی ہے۔
اینڈ پوائنٹ کے اپنے سیکیورٹی گروپس ایسوسی ایشن کے لچکدار نیٹ ورک انٹرفیسز پر ہوتے ہیں، اس لیے کلائنٹ CIDR سے ایپلیکیشن پورٹ کی اجازت دینے والا قاعدہ صرف انسٹانس کے ساتھ نہیں بلکہ ایسوسی ایشن کے ساتھ بھی منسلک کرنا ہوگا۔
ایک خوش قسمت درخواست سے نہیں، دوبارہ جڑ کر تصدیق کریں
split tunnel کے ساتھ، کنکشن قائم ہونے پر اینڈ پوائنٹ روٹس بھیجے جاتے ہیں، اس لیے بدلا ہوا روٹ سیٹ جڑے رہنے والے کلائنٹ تک کبھی نہیں پہنچتا۔ معاون کلائنٹ کے ذریعے منقطع ہو کر دوبارہ جڑیں، پھر تصدیق کریں کہ نئے روٹس مشین پر موجود ہیں۔
آخر میں، کنکشن لاگ کو اس پتے سے منسلک کریں جو کلائنٹ کو ملا، اور ٹیسٹ کو اتنی بار دہرائیں کہ ایک سے زیادہ ایسوسی ایشن تک پہنچیں۔ درستی کے بعد ایک کامیاب درخواست ثابت کرتی ہے کہ ایک راستہ کام کرتا ہے، اور ٹکٹ دوسرے کے بارے میں تھا۔