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

اسے ایک بار جان بوجھ کر دوبارہ پیدا کریں

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

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

انٹرفیس کا مالک کون ہے؟

WireGuard خود کا کوئی ڈیمن اور کوئی ترتیبی فائل نہیں۔ اس کے اوپر کوئی چیز بوٹ پر wg کو کال کرتی ہے، اور وہی چیز سچ کا ذریعہ ہے۔ عام امیدوار [email protected]، NetworkManager کنکشن پروفائل، تقسیم کے لیے مخصوص نیٹ ورک یونٹ، یا ایسا مینجمنٹ پینل جو اپنی ڈیٹا بیس لکھتا ہے۔

اپنی تقسیم کی دستاویزات سے نہیں، سسٹم سے پوچھیں۔ systemctl status wg-quick@wg0 اور nmcli connection show عام طور پر ہر ایک ایک کمانڈ میں یہ طے کر دیتے ہیں۔ اگر دونوں انٹرفیس پر دعویٰ کریں تو کوئی چیز ایڈٹ کرنے سے پہلے ہی آپ کو بگ مل گیا: دو مالک ہر آغاز پر ایک ہی ڈیوائس دوبارہ لکھتے ہیں، اور آخر میں چلنے والا جیتتا ہے۔

systemctl status wg-quick@wg0 --no-pager
grep -R "Address\|SaveConfig\|PostUp" /etc/wireguard/wg0.conf
nmcli -g NAME,TYPE connection show
wg show wg0 peers

دورانیہ حالت اور آغاز کی حالت ایک ہی فائل نہیں

wg set زندہ ڈیوائس کو netlink کے ذریعے سنبھالتا ہے۔ یہ /etc/wireguard/wg0.conf، NetworkManager پروفائل یا پینل کی ڈیٹا بیس نہیں لکھتا۔ بعد میں کامیاب wg show ثابت کرتا ہے کہ کرنل نے پیر قبول کیا، یہ نہیں کہ کوئی اسے بحال کرے گا۔

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

NetworkManager پھر مختلف برتاؤ کرتا ہے: پروفائل اسی کا ہے اور فعال ہونے پر اسے لاگو کرتا ہے، اس لیے فعال NetworkManager کنکشن کے ساتھ ہاتھ سے ایڈٹ شدہ .conf محض سجاوٹ ہے۔ انٹرفیس کے لیے ایک ہی مالک منتخب کریں اور دوسرے مینیجر کو اسے چھوڑنے دیں۔

ترمیم دونوں جگہ پہنچے یقینی بنائیں

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

# 1. persistent state (wg-quick owner)
sudo vi /etc/wireguard/wg0.conf

# 2. apply through the owner, not by hand
sudo systemctl restart wg-quick@wg0

# 3. verify runtime matches the file
sudo wg show wg0
sudo wg showconf wg0

wg showconf زندہ ترتیب کو اسی نحو میں چھاپتا ہے جو فائل استعمال کرتی ہے، جس سے دونوں کا براہ راست موازنہ ممکن ہے۔ اس آؤٹ پٹ کو راز سمجھیں: اس میں نجی چابیاں ہیں، اس لیے اسے ٹکٹ یا چیٹ چینل میں نہ چپکائیں۔ پیروں کی عوامی چابیاں اور اجازت یافتہ IP موازنہ کریں، اور جانچیں کہ جان بوجھ کر ہٹایا گیا پیر واپس نہیں آیا۔

ثابت کریں کہ یہ لائف سائیکل واقعے سے بچ نکلتا ہے

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

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

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