AWS VPN PSK گھمانا: کون سی ٹنل گرتی ہے، اور کب
AWS VPN ٹنل کی ایک پہلے سے مشترکہ کلید بدلنے سے وہ ٹنل گر جاتی ہے جب تک دونوں فریق متفق نہ ہوں۔ پہلے متبادل راستہ ثابت کریں، پھر ایک وقت میں ایک ٹنل گھمائیں۔
ٹنل اسی لمحے گرتی ہے جب دونوں سرے پہلے سے مشترکہ کلید پر متفق نہ ہوں، اور دونوں فریق نئی قدر لے کر نہ آئیں تب تک وہ نیچے رہتی ہے۔ یہ حصہ متوقع ہے: AWS اس تبدیلی کو منتخب ٹنل کی رکاوٹ سمجھتا ہے، اور جب تک کلیدیں مختلف ہوں ساتھی IKE مکمل نہیں کرے گا۔ لوگوں کو حیران کرنے والا دوسرا نصف ہے۔ دوسری ٹنل خود بخود ٹریفک نہیں لیتی جب تک آپ نے جانچ نہ کی ہو کہ وہ اسے اٹھا سکتی ہے۔ اسی ترتیب سے گھمائیں اور رکاوٹ ایک ہی ٹنل کے اندر رہتی ہے۔
کلید بدلنے پر واقعی کیا ہوتا ہے
ModifyVpnTunnelOptions ایک ٹنل کے اختیارات دوبارہ لکھتا ہے، جس کی شناخت اس کے بیرونی IP پتے سے ہوتی ہے۔ ٹنل توڑ کر دوبارہ بنائی جاتی ہے، اس لیے IKE اور IPsec نئی کلید کے ساتھ شروع سے بات چیت کرتے ہیں۔ AWS بتاتا ہے کہ رکاوٹ کئی منٹ چل سکتی ہے، جو کسی روٹنگ پروٹوکول کے لیے اسے نوٹس کرنے کے لیے کافی طویل ہے۔ اسی کنکشن کی دوسری ٹنل کو یہ کال نہیں چھوتی۔
کچھ بھی بھیجنے سے پہلے جاننے کے قابل دوسرا اثر ہے۔ تبدیلی کی کارروائی ٹنل کے اختیارات کا پورا مجموعہ لیتی ہے، اس لیے جو فیلڈ آپ چھوڑتے ہیں وہ اپنی طے شدہ قدر کے ساتھ واپس لکھا جاتا ہے۔ اگر آپ نے مرحلہ 1 یا مرحلہ 2 کی عمر، یا مردہ ساتھی کی شناخت کی ترتیبات ایڈجسٹ کی ہیں، تو موجودہ قدریں اسی درخواست میں بھیجیں یا بعد میں بحال کرنے کا منصوبہ بنائیں۔
پہلے موجودہ قدریں پڑھیں، پھر ایک فیلڈ بدلیں۔ یہی ترتیب اس کام کا پورا نظم ہے۔
پہلے AWS ٹنل کو صحیح ساتھی سے ملائیں
کنسول ٹنلوں کو ترتیب کے مطابق لیبل کرتا ہے، اور آپ کا آلہ وہ لیبل استعمال نہیں کرتا۔ ٹنل کو اس کے بیرونی IP پتے سے پہچانیں اور گاہک گیٹ وے پر ساتھی حصے سے ملائیں۔ مقامی ترتیب میں ٹنل 1 ہونا اس بات کا ثبوت نہیں کہ آپ وہ ٹنل تبدیل کر رہے ہیں جسے AWS ٹنل 1 کہتا ہے۔
خود کنکشن سے شروع کریں، جو دونوں ٹنلیں اور وہ کلید جو ہر ایک کے پاس ابھی ہے فہرست کرتا ہے:
aws ec2 describe-vpn-connections --vpn-connection-ids vpn-0123456789abcdef0 \
--query "VpnConnections[0].Options.TunnelOptions[].[OutsideIpAddress,PreSharedKey]"واپس آنے والی کلید وہی ہے جو ابھی استعمال ہو رہی ہے۔ کچھ بھی بدلنے سے پہلے اس کا ساتھی کی ترتیب سے موازنہ کریں، کیونکہ پہلے سے موجود عدم مطابقت اس ٹنل کی وضاحت کرتی ہے جو کبھی مستحکم نہیں تھی۔
پہلے دوسری ٹنل کو ٹریفک اٹھانے دیں
ایک کنکشن میں دو ٹنلیں یہ ثابت نہیں کرتیں کہ آپ کے آلے نے دونوں ترتیب دی ہیں، دونوں آپ کو درکار سابقے اعلان کرتی ہیں، یا ان کے درمیان ٹریفک چلتی ہے۔ متبادل ٹنل کی بات چیت، اس کے راستے اور دونوں سمتوں میں حقیقی ایپلیکیشن بہاؤ جانچیں۔ BGP کے ساتھ، زندہ ہمسایگی مفید ثبوت ہے مگر سابقوں کی تصدیق کے برابر نہیں۔ مستقل روٹنگ کے ساتھ، تصدیق کریں کہ گیٹ وے راستہ کیسے چنتا ہے اور پسندیدہ راستہ غائب ہونے پر کیا کرتا ہے۔
اگر متبادل کام کا بوجھ نہ اٹھا سکے، تو کلید چھونے سے پہلے رکاوٹ کا شیڈول بنائیں یا متبادل ٹنل مرمت کریں۔ کنسول صفحے پر روشنی کی حالت بلاناغہ سروس کا وعدہ نہیں ہے۔
ایک ٹنل گھمائیں، پھر حقیقی ٹریفک سے تصدیق کریں
متبادل راستہ ثابت ہونے کے بعد ترتیب مختصر ہے۔ ٹنل کا پتہ، اس کا ساتھی اور غیر خفیہ ترتیبات درج کریں، اور گیٹ وے کی طرف انتظامی راستہ رکھیں جو اس ٹنل پر منحصر نہ ہو جسے آپ توڑنے والے ہیں۔
- منتخب بیرونی پتے کے لیے گاہک گیٹ وے کا ساتھی اپ ڈیٹ کریں، یا تبدیلی کو ایسے تیار کریں کہ وہ API کال کے چند سیکنڈ بعد نافذ ہو۔
- تبدیلی کی کال نئی کلید کے ساتھ موجودہ عمریں اور DPD قدریں شامل کر کے بھیجیں۔
- IKE اور IPsec کے واپس آنے کا انتظار کریں، پھر راستوں اور درکار سابقوں کی تصدیق کریں۔
- اس ٹنل سے نمائندہ ایپلیکیشن بہاؤ گزاریں اور دونوں سمتیں دیکھیں۔
جب تک سرے متفق نہ ہوں اور AWS تبدیلی لاگو کر رہا ہو ٹنل قابل استعمال نہیں، اس لیے ساتھی کی اپ ڈیٹ دوپہر کے کھانے کے بعد نہیں بلکہ فوراً بعد آنی چاہیے۔ صرف اس وقت جب بدلی ہوئی ٹنل حقیقی ٹریفک اٹھائے، دوسری پر طریقہ کار دہرائیں۔
پہلی ٹنل کے بعد اگر بحالی یا روٹنگ ابھی غیر یقینی ہو تو رک جائیں۔ آدھی چلنے والی دو ٹنلیں اس ایک سے بدتر ہیں جس کے بارے میں آپ جانتے ہیں کہ وہ چلتی ہے۔
جب بحالی اٹک جائے، تو IKE کا پہلو پڑھیں
دونوں سروں کے پاس نئی کلید ہونے کے بعد بھی نیچے رہنے والی ٹنل عام طور پر پالیسی کی عدم مطابقت ہوتی ہے جسے گھمانے نے بے نقاب کیا، بنایا نہیں۔ تجاویز، ساتھی کی بھیجی ہوئی شناخت اور ٹریفک منتخب کرنے والے سب کو AWS پہلو سے متفق ہونا چاہیے، اور قائم شدہ ٹنل میں بچ جانے والی قدر بھی نئی بات چیت کے دوران مسترد ہو سکتی ہے۔ دوسری بار کلید بدلنے سے پہلے بات چیت کی حالت اور اس سے منسلک پیغام پڑھیں۔
aws ec2 describe-vpn-connections --vpn-connection-ids vpn-0123456789abcdef0 \
--query "VpnConnections[0].VgwTelemetry[].[OutsideIpAddress,Status,StatusMessage]"اگر تبدیلی واپس لینی ہو، تو پرانی کلید صرف اس لیے بحال نہ کریں کہ وہ پہلے چلتی تھی۔ سمجھوتے میں آئی کلید کو سمجھوتے میں آیا ہوا مانیں اور اس کے بجائے بات چیت درست کریں۔ دونوں ٹنلوں کی تصدیق اور ہر ساتھی کے پاس موجود قدر درج کرنے کے لیے خفیہ فہرست اپ ڈیٹ کر کے مکمل کریں، اور AWS ٹنل اختیارات کی دستاویز رن بک کے پاس رکھیں۔