شناختیں دہرائے بغیر VPN سرور کو کیسے بحال کریں
بحال شدہ VPN سرور فائلیں واپس کرتا ہے، موجودہ رسائی نہیں۔ دوسری نقل ہینڈ شیک کا جواب دینے سے پہلے منسوخیاں، ہم منصب چابیاں اور آخری نکات ہم آہنگ کریں۔
آپ نے بیک اپ بحال کیا، سروس شروع ہوئی، اور ایک کلائنٹ پہلی کوشش میں جڑ گیا۔ یہی کامیابی جال ہے۔ بحالی وہ فائلیں واپس کرتی ہے جو سرور کے پاس اسنیپ شاٹ کے وقت تھیں، وہ رسائی کی حالت نہیں جو اس کے بعد بدلی، اور اگر پرانا آخری نقطہ اب بھی قابل رسائی ہو تو اب دو مشینیں ایک شناخت کا جواب دے رہی ہیں۔ حل بہتر بیک اپ نہیں؛ حل یہ طے کرنا ہے کہ بحال شدہ ہوسٹ ایک ہینڈ شیک کا جواب دینے سے پہلے کیا ہو سکتا ہے۔
بیک اپ فائلیں واپس کرتا ہے، اختیار نہیں
اسنیپ شاٹ میں سرور کی ترتیب، نجی چابیاں، سرٹیفکیٹ اتھارٹی، ہم منصبوں کی فہرست اور فائر وال کے قواعد اسی حالت میں ہوتے ہیں جیسے بیک اپ چلنے کے وقت تھے۔ اس میں وہ نہیں ہو سکتا جو بعد میں بدلا: وہ آلہ جو آپ نے منسوخ کیا، وہ چابی جو دوبارہ جاری کی، وہ ہم منصب جو لیپ ٹاپ بکنے پر ہٹایا، وہ ذیلی نیٹ ورک جو آپ نے منتقل کیا۔ بحالی فائلوں کو اسی لمحے واپس لے جاتی ہے۔ لوگوں نے اس کے بعد جو فیصلے کیے انہیں واپس نہیں لاتی۔
نقصان اسی خلا سے آتا ہے۔ بیک اپ کے دو ہفتے بعد منسوخ شدہ چوری کا لیپ ٹاپ ایسا سرٹیفکیٹ پیش کرتا ہے جو بحال شدہ درخت میں موجود پرانے CRL کے خلاف اب بھی درست تسلیم ہوتا ہے، اور سرور وہ آلہ قبول کر لیتا ہے جسے آپ نے ریٹائر کیا تھا۔ WireGuard زیادہ براہ راست ہے: ہم منصب فہرست میں ہونے سے مجاز ہوتا ہے، اس لیے اسنیپ شاٹ کے بعد حذف شدہ ہم منصب بس دوبارہ موجود ہوتا ہے۔ کسی نے اس رسائی کی دوبارہ منظوری نہیں دی۔ پرانی فائل نے دی۔
سرور کی شناخت اور کلائنٹ کی شناخت مختلف طریقوں سے ناکام ہوتی ہیں
WireGuard میں سرور کی شناخت wg0.conf میں نجی چابی ہے، اس لیے وہ فائل دوسرے قابل رسائی ہوسٹ پر نقل کرنے سے ایک ہی شناخت والے دو سرور بنتے ہیں جو ایک دوسرے کو نہیں جانتے۔ ہر ایک اپنی ہم منصبوں کی فہرست رکھتا ہے۔ نئے ہوسٹ پر ہم منصب ہٹائیں تو پرانا اب بھی قبول کرتا ہے؛ ایک پر wg show دیکھیں اور آدھی سچائی دیکھیں۔ کلائنٹ بھی خود نہیں بدلتے: پروفائل ایک Endpoint رکھتا ہے، اس لیے آلہ اسی پتے سے بات کرتا رہتا ہے جس پر ترتیب دیا گیا تھا، جو وہ ہوسٹ ہو سکتا ہے جسے آپ ریٹائر کرنا چاہتے تھے۔
OpenVPN اسی پرت پر سرور سرٹیفکیٹ، اس کی نجی چابی اور tls-auth یا tls-crypt کی مستقل چابی کے ساتھ دہرایا جاتا ہے۔ تینوں نقل کریں اور کلائنٹ مثالیں الگ نہیں کر سکتا؛ اگر دونوں قابل رسائی ہوں تو دوبارہ جڑنا کسی پر بھی پڑ سکتا ہے، اور ہر لاگ فائل آدھی کہانی سناتی ہے۔ سرٹیفکیٹ اتھارٹی گہری نقل ہے۔ بحال شدہ easy-rsa درخت سچائی کا دوسرا ذریعہ ہے جو آپ کے دیے ہوئے کسی بھی نام کے لیے درست سرٹیفکیٹ جاری کر سکتا ہے۔
کلائنٹ بھی دہرائے جاتے ہیں، عموماً منتقلی کے دوران ہی۔ پروفائل «صرف جانچ کے لیے» اضافی آلے پر نقل کرنے سے اسی چابی اور عام نام والا دوسرا آلہ بنتا ہے۔ duplicate-cn کے ساتھ دونوں سیشن ایک ساتھ کھلے رہ سکتے ہیں، اور ccd یا ifconfig-pool-persist میں مستقل پتہ تفویض اصل آلے سے ٹکرا سکتا ہے۔ یہ ایک شناخت پہنے دو مشینیں ہیں، اور سرور کی ترتیب میں کوئی چیز انہیں الگ نہیں کرتی۔
پرانے آخری نقطے کے لیے تین حالتوں میں سے ایک چنیں
بحالی تبھی محفوظ ہے جب پرانے آخری نقطے کا انجام طے ہو جائے۔ ریٹائر کریں: نئے ہوسٹ کے شروع ہونے سے پہلے پرانی سروس کو VPN پورٹ قبول کرنا بند کرنا ہوگا، اور اگر آپ مشین تک نہیں پہنچ سکتے تو اس پورٹ کو نیٹ ورک کے کنارے پر اپنے انتظامی ذریعے کے سوا سب کے لیے بند کریں۔ اسی ہوسٹ کی مرمت کریں: شناخت دوبارہ استعمال کرنا ٹھیک ہے کیونکہ ایک مشین اسے رکھتی ہے، لیکن بعد میں پرانی چابی کی ڈسک نقل یا VM اسنیپ شاٹ تباہ کریں تاکہ وہ واپس نہ آ سکے۔ دستیابی کا جوڑا بنائیں: دو ہوسٹوں کو الگ ہوسٹ شناختیں اور ایک مشترکہ آخری نقطہ درکار ہے، جیسے تیرتا پتہ، لوڈ بیلنسر یا وہ DNS جسے آپ منتقل کر سکیں۔ نجی چابی کی نقل کرنا failover ڈیزائن نہیں؛ یہ ایک نام کا دعویٰ کرنے والے دو سرور ہیں۔
کلائنٹ کو چھونے سے پہلے تصدیق کریں کہ آپ واقعی کس حالت میں ہیں۔ VPN پورٹ پر جواب دینے والا پرانا ہوسٹ ہی منسوخ شدہ آلہ قبول کرے گا، چاہے DNS منتقل ہو چکا ہو۔ سامعین اور عوامی چابی دیکھیں:
ss -lunp | grep -E ':51820|:1194'
wg show wg0
wg pubkey < /etc/wireguard/server.key
پہلے ہم منصب، منسوخیاں اور پتے ہم آہنگ کریں
فہرست بنائیں کہ بحالی کیا دعویٰ کرتی ہے اس کے مقابلے میں جو ابھی مجاز ہے۔ WireGuard میں wg show wg0 ہر ہم منصب کی چابی، آخری نقطہ، تازہ ترین ہینڈ شیک اور منتقلی کے شمارندے دیتا ہے، جو ایسے آلے کو پہچاننے کے لیے کافی ہے جو آپ کی ملکیت میں نہیں۔ اسے براہ راست wg set wg0 peer <key> remove سے ہٹائیں، پھر ترتیب بھی درست کریں، ورنہ ہم منصب اگلی شروعات پر واپس آئے گا۔ wg show wg0 allowed-ips دوسرا مسئلہ کھولتا ہے: ایک پتے پر دو ہم منصب، یا وہ پتہ جو آپ پہلے ہی دوبارہ تفویض کر چکے ہیں۔
OpenVPN میں منسوخی کی فہرست تاریخ والی فائل ہے، اور بحالی پرانی واپس لا سکتی ہے۔ کلائنٹ جڑنے سے پہلے اسے دیکھیں:
openssl crl -in /etc/openvpn/crl.pem -noout -lastupdate -nextupdate
grep -E 'crl-verify|reneg-sec' /etc/openvpn/server.conf
اگر آخری اپ ڈیٹ منسوخی سے پہلے کا ہے تو سرور اب بھی اس سرٹیفکیٹ کا احترام کر رہا ہے جو آپ نے منسوخ کیا۔ OpenVPN 2.4 اور بعد کے ورژن ہر نئی کنکشن کے لیے CRL فائل دوبارہ پڑھتے ہیں، اس لیے فائل بدلنے سے نئے سیشن رک جاتے ہیں، لیکن قائم شدہ سرنگیں دوبارہ گفتگو تک رہتی ہیں؛ reneg-sec کی طے شدہ قدر 3600 سیکنڈ ہے، اور اسے کم کرنا یا سروس دوبارہ شروع کرنا ہی آپ کو تبدیلی ابھی دیتا ہے۔ پرانے بلڈ فائل کو اتنی اعتبار سے نہیں اٹھا سکتے، اس لیے جب ورژن کا رویہ تصدیق نہ کر سکیں تو دوبارہ شروع کریں۔ wg(8) دستی اوپر استعمال شدہ ہم منصب ہٹانے اور allowed-ips نحو کا احاطہ کرتا ہے۔
اب نہ موجود آلات کے مستقل تفویضات بھی صاف کریں۔ پرانی پروفائل نصب رہنے کے دوران ریٹائر شدہ آلے کا پتہ نئے کے لیے دوبارہ استعمال کرنا بالکل وہی تکرار بناتا ہے جس سے آپ بچنا چاہتے ہیں۔
اس کلائنٹ سے تصدیق کریں جسے آپ نے منسوخ کیا
جانچیں ترتیب سے، سرنگ سے باہر کے نیٹ ورک سے چلائیں۔ پہلے مجاز آلہ جڑتا ہے، دھکیلے گئے حل کنندہ سے DNS حل کرتا ہے اور نجی وسیلے تک پہنچتا ہے۔ پھر منسوخ شدہ آلہ کو نئی کے بجائے اپنی موجودہ پروفائل سے ناکام ہونا چاہیے۔ پھر باہر سے پرانا آخری نقطہ آزمائیں: اگر VPN پورٹ اب بھی ہینڈ شیک مکمل کرتا ہے تو پرانا ہوسٹ زندہ ہے اور تکرار حقیقی ہے، نظریاتی نہیں۔
بحال شدہ ہوسٹ دوبارہ بوٹ کریں اور مجاز و منسوخ جانچیں دہرائیں، کیونکہ تبھی ترتیب کی فائل رن ٹائم میں آپ کی تبدیلیوں پر بھاری پڑتی ہے۔ ہوسٹ کی عوامی چابی یا سرٹیفکیٹ فنگر پرنٹ کا موازنہ ریٹائر شدہ مشین کے استعمال کردہ سے کریں۔ دو زندہ مشینوں پر یکساں فنگر پرنٹ کا مطلب ہے بحالی نے شناخت کلون کی؛ ایک مشین پر یکساں فنگر پرنٹ معمول ہے۔ بحال شدہ ورژن، چابیوں کے فنگر پرنٹ اور منسوخ شدہ سیریل نمبر یا ہم منصب چابی درج کریں، پھر اس ہم آہنگی کے بعد اگلا بیک اپ لیں، تاکہ وہ سروس کو اب جیسی ہے ویسا پیش کرے۔ کام کرنے والی جانچ یہ نہیں کہ کلائنٹ جڑے۔ یہ ہے کہ آپ کا ہٹایا ہوا کلائنٹ باہر رہے جبکہ پرانا آخری نقطہ بند رہے۔