پہلے بوٹ پر WireGuard آلات کے بیڑے کے لیے اندراج
ایک امیج، ہر بورڈ کے لیے ایک کلید، اور ایسا اجازت کا مرحلہ جو آلے کے اپنے دعوے پر بھروسا نہیں کرتا۔ بوٹ سے تصدیق شدہ peer تک چار مراحل۔
بورڈ مشترکہ امیج سے بوٹ ہوتا ہے، DHCP لیز حاصل کرتا ہے، اور کسی کے آلے کو چھونے سے پہلے پروویژننگ اسکرپٹ چلتی ہے۔ اُس اسکرپٹ میں کہیں اُسے ایسی WireGuard شناخت حاصل کرنی ہوتی ہے جو صرف اِس بورڈ کی ہو اور کسی اَور کی نہ ہو، اُس شناخت کو مجاز کرانا ہوتا ہے، اور ایسی پروفائل لکھنی ہوتی ہے جو گیٹ وے قبول کرے۔ امیج کلائنٹ سافٹ ویئر، جائزہ شدہ ٹیمپلیٹ اور گیٹ وے کی عوامی کلید لے جا سکتی ہے۔ جو چیز اُسے کبھی نہیں لے جانا چاہیے وہ ایک نجی کلید ہے جو پورا بیڑا شیئر کرتا ہے، کیونکہ اِس سے ایک چوری شدہ بورڈ پورے بیڑے کا واقعہ بن جاتا ہے۔ نیچے کا ترتیب شناخت کو مقامی اور اجازت کو واضح رکھتا ہے۔
امیج کیا لے جاتی ہے، اور کیا نہیں
پیکج، پلیس ہولڈرز والا ٹیمپلیٹ، گیٹ وے کی عوامی کلید اور اندراج کلائنٹ بھیجیں۔ ٹیمپلیٹ ایک شکل ہے، راز نہیں: اُسے پروویژننگ صارف کے لیے پڑھنے کے قابل ہونا چاہیے اور اُس میں کوئی کلیدی مواد نہیں ہونا چاہیے۔
نجی کلید پہلے بوٹ پر آلے پر ہی بنتی ہے اور اُسے کبھی نہیں چھوڑتی۔ سفر صرف عوامی نصف کرتا ہے، ایک اندراج کی درخواست کے اندر جو آلے کے اپنے اِس دعوے کے علاوہ کسی اَور چیز سے مجاز ہوتی ہے کہ وہ کون ہے۔ یہی فرق ایک چوری شدہ بورڈ کو پورے بیڑے کا مسئلہ بننے سے روکتا ہے۔ اور یہی وہ حصہ ہے جسے زیادہ تر پہلے بوٹ اسکرپٹس غلط کرتی ہیں۔
مرحلہ 1: کلید مقامی طور پر بنائیں
بنیادی نیٹ ورک کنکشن کے منظور اور کارآمد ہونے کے بعد محفوظ ڈائریکٹری میں تخلیق چلائیں۔ ذیلی شیل umask کی تبدیلی کو اِسی کارروائی تک مقامی رکھتا ہے، اور set -C موجود فائل پر دوبارہ لکھنے سے انکار کرتا ہے:
(
umask 077
set -C
wg genkey > /etc/wireguard/device.key &&
wg pubkey < /etc/wireguard/device.key > /etc/wireguard/device.pub
)
WireGuard فوری آغاز اُس کلید تخلیق کے تعلق کو دستاویز کرتا ہے جس پر یہ دو کمانڈز انحصار کرتی ہیں۔ اگر تخلیق میں خلل پڑے تو آلے کو غیر اندراج شدہ چھوڑ دیں اور ورک فلو کو فائلیں ہم آہنگ کرنے دیں۔ صرف اِس لیے کہ اسکرپٹ شروع سے صاف چلے، موجودہ شناخت نہ مٹائیں۔
دوبارہ کوششوں کے دوران زیر التوا کلید محفوظ رکھیں۔ ہر عارضی نیٹ ورک ناکامی کے بعد شناخت دوبارہ بنانا ہی وہ طریقہ ہے جس سے بیڑا ایسے یتیم peer کے ساتھ رہ جاتا ہے جنہیں کوئی آلے سے نہیں جوڑ سکتا۔
مرحلہ 2: آلے کا ریکارڈ مجاز کریں
فرض کریں کہ انوینٹری اِس بورڈ کو device-042 کہتی ہے اور اُسے 10.90.0.42/32 مختص کرتی ہے۔ اندراج سروس کو تصدیق کرنا ہوگی کہ اِس درخواست دہندہ کا اُس ریکارڈ پر حق ہے۔ فارم میں ٹائپ کیا گیا سیریل نمبر ثبوت نہیں ہے، کیونکہ سیریل نمبر ڈبے کے باہر چھاپے جاتے ہیں۔
فی آلہ بوٹ اسٹریپ اسناد، آپریٹر کی منظوری، یا ہارڈ ویئر کی تائید والی تصدیق دعوے کو قائم کر سکتی ہیں۔ درخواست کی سالمیت اور جواب کی صحت کی حفاظت کریں، اور ایک مشترکہ VPN راز کو ایک مشترکہ فیکٹری اسناد سے نہ بدلیں۔
رجسٹرڈ ریکارڈ آلے، اُس کی عوامی کلید، مختص کردہ پتہ اور اجازت یافتہ انتظامی کردار کو باندھتا ہے۔ WireGuard خود کوئی اندراج API متعین نہیں کرتا، اِس لیے وہ سروس ایسی چیز ہے جو آپ دانستہ طور پر بناتے اور چلاتے ہیں۔
مرحلہ 3: دو ہم آہنگ کنفیگریشنز لکھیں
آلے کو ایسی پروفائل درکار ہے جو انتظامی سابقے سرنگ میں روٹ کرے، اور گیٹ وے کو ایسی peer اندراج درکار ہے جو صرف اِس آلے کے اپنے ماخذ پتے کی اجازت دے۔ گیٹ وے 10.90.0.1 پر اور انتظامی نیٹ ورک 10.60.0.0/16 ہونے پر آلے کا رخ ایسا دکھتا ہے:
[Interface]
PrivateKey = <device-042 private key>
Address = 10.90.0.42/32
[Peer]
PublicKey = <trusted gateway public key>
Endpoint = vpn.example.com:51820
AllowedIPs = 10.90.0.1/32, 10.60.0.0/16
PersistentKeepalive = 25
بریکٹوں کے اندر کی قدریں پلیس ہولڈر ہیں، کلیدیں نہیں۔ keepalive اُس وقت اہم ہے جب بورڈ NAT کے پیچھے ہو اور قابل رسائی رہنا ضروری ہو؛ یہ ہر جگہ ضروری نہیں، اور عادتاً شامل کرنا ریڈیو کو بلا وجہ جاگتا رکھتا ہے۔
گیٹ وے پر، peer اندراج دانستہ طور پر تنگ ہے:
[Peer]
PublicKey = <device-042 public key>
AllowedIPs = 10.90.0.42/32
آلے کی منزل کی فہرست گیٹ وے peer پر نقل نہ کریں۔ آلے پر وہ فہرست بتاتی ہے کہ سرنگ میں کیا روٹ کرنا ہے؛ گیٹ وے پر یہ بتاتی ہے کہ اِس peer کو کون سے ماخذ پتے استعمال کرنے کی اجازت ہے، اور یہ الگ بیانات ہیں۔
فارورڈنگ، فائر وال قواعد اور انتظامی نیٹ ورک کی طرف واپسی راستہ اب بھی منظور شدہ رسائی کی اجازت دینا چاہیے۔ رجسٹرڈ peer اُس کے پیچھے ہر ایپلیکیشن کے لیے اجازت نہیں ہے۔
مرحلہ 4: اندراج کو زندگی کے دورانیے کی حالت کے طور پر مستحکم کریں
ہر کنفیگریشن کے مالک کے ذریعے گیٹ وے ریکارڈ اور آلے کی پروفائل لاگو کریں، پھر اندراج کو صرف اُس وقت مکمل نشان زد کریں جب مطلوبہ شناخت اور پتہ قبول ہوں۔ دوبارہ کوششوں کو دوسرا peer یا دوسرا پتہ مختص کرنے کے بجائے وہی ریکارڈ ہم آہنگ کرنا چاہیے۔
منقطع پروویژننگ کے لیے بحالی کا راستہ رکھیں، بشمول وہ صورت جہاں گیٹ وے نے کلید قبول کی اور آلے نے کبھی اپنی پروفائل نہ لکھی۔
جب بورڈ بدلا یا ریٹائر ہو، تو اُس کی عوامی کلید اور اُس کی اجازت اکٹھی ہٹا دیں۔ نئی کلید ایک دانستہ دوبارہ اندراج کا واقعہ ہے، دوبارہ امیج بنانے کا ضمنی اثر نہیں۔ کام کی ترتیب: مقامی طور پر بنائیں، انوینٹری کے مقابلے میں مجاز کریں، دونوں اطراف لکھیں، حالت مستحکم کریں، پھر سرنگ کے ذریعے ایک انتظامی درخواست جانچیں۔