دو WireGuard peer ایک رینج شیئر کرتے ہیں: پیکٹ کس کو ملتا ہے
اوورلیپ ہونے والی رینجز سب سے مخصوص سابقہ سے طے ہوتی ہیں، ترتیب سے نہیں۔ کچھ بھی بڑھانے سے پہلے پہلے راستہ، پھر peer فہرست دیکھیں۔
دو peer ایسی رینجز کی فہرست دیتے ہیں جو ایک دوسرے کو چھوتی ہیں، اور ٹریفک غلط والے تک پہنچتا ہے۔ کچھ بھی خراب نہیں: WireGuard منزل کو کنفیگر شدہ رینجز سے ملا کر peer منتخب کرتا ہے، اور سب سے مخصوص مماثلت جیتتی ہے۔ کچھ بھی بڑھانے سے پہلے فیصلہ کریں کہ کون سا peer کون سا سابقہ رکھے گا۔
WireGuard کے اندر سب سے طویل سابقہ جیتتا ہے
ہر peer اندراج منزل کے سابقوں کا ایک مجموعہ رکھتا ہے۔ جب پیکٹ انٹرفیس میں روٹ ہوتا ہے، عمل درآمد سب سے مخصوص مماثل سابقے والا اندراج تلاش کرتا ہے — وہی قاعدہ جو روٹنگ ٹیبل لاگو کرتا ہے۔ اسی لیے /24 اس /16 کو ہرا دیتا ہے جس میں وہ شامل ہے، اور تنگ peer ٹریفک وصول کرتا ہے۔
road-warrior سیٹ اپ اسے جان بوجھ کر استعمال کرتے ہیں۔ ایک peer کسی سائٹ کے لیے وسیع رینج رکھتا ہے، اور انفرادی ہوسٹ دوسرے peerوں کی /32 اندراجات سے الگ کیے جاتے ہیں۔ یہ نمونہ اس لیے کام کرتا ہے کہ الگ کیے گئے حصے زیادہ مخصوص ہیں، ترتیب کی وجہ سے نہیں۔
ملکیت کو سابقہ اور peer کی جدول کے طور پر لکھیں۔ اگر دو اندراجات ایک ہی سابقہ بیان کریں، تو کنفیگریشن اب ارادہ نہیں، بلکہ دوڑ بیان کرتی ہے۔
آپریٹنگ سسٹم پہلے انٹرفیس منتخب کرتا ہے
WireGuard صرف ایک انٹرفیس کے peerوں میں سے منتخب کرتا ہے۔ کون سا انٹرفیس پیکٹ وصول کرے گا یہ پہلے ہی ہوسٹ کے روٹنگ ٹیبل سے طے ہوتا ہے، اور دوسرا ڈیفالٹ راستہ یا پرانا راستہ ٹریفک کو ایسی جگہ بھیج سکتا ہے جہاں peer فہرست اسے کبھی نہیں دیکھتی۔ اسی لیے peer سطح کی تشخیص درست ہو سکتی ہے اور پھر بھی ناکامی کی وضاحت نہیں کرتی۔ peer کنفیگریشن پڑھنے سے پہلے منزل کا راستہ دیکھیں، کیونکہ جسمانی انٹرفیس کی طرف اشارہ کرنے والا راستہ پورے سوال کو نظر انداز کر دیتا ہے۔
اوزار عام طور پر وہ راستے peer رینجز سے نصب کرتا ہے، جس کا مطلب ہے کہ ایک peer کی فہرست میں تبدیلی پہلے کسی اور کی ٹریفک کو خاموشی سے دوبارہ موڑ سکتی ہے۔ اس لیے peer میں ترمیم بھیس بدلی ہوئی روٹنگ تبدیلی ہے۔ دونوں کا ایک ساتھ جائزہ لیں، ورنہ ایک ٹھیک کریں گے اور دوسرا توڑ دیں گے۔
آنے والے پیکٹ ماخذ کے مطابق جانچے جاتے ہیں
رینج فہرست دوہرا کردار ادا کرتی ہے۔ باہر جانے والی ٹریفک کے لیے یہ منزل کے مطابق peer منتخب کرتی ہے، اور اندر آنے والی ٹریفک کے لیے یہ ماخذ پتہ اختیار کرتی ہے۔ اس peer کی رینجز سے باہر کے پتے سے آنے والا پیکٹ کسی بھی فائر وال کے دیکھنے سے پہلے ہی ضائع کر دیا جاتا ہے۔
کنفیگریشن کا ایک پہلو پڑھتے وقت یہ عدم توازن چھوڑنا آسان ہے۔ جو peer کسی سب نیٹ تک پہنچ سکتا ہے اسے اس سے اس سب نیٹ سے بھیجنے کی اجازت نہیں ملتی، اور دونوں سمتوں پر مختلف جانچوں سے عمل کیا جاتا ہے۔
ماخذ کی تنگ ملکیت اسے فائدے میں بدل دیتی ہے۔ ہر peer کو اس کے اپنے پتے کے لیے /32 دیں اور نیچے کی فائر وال کے پاس ملانے کے لیے قابل اعتماد ماخذ ہوگا، بجائے پورے گروپ کی ایسی رینج کے جس پر کوئی بھی رکن دعویٰ کر سکتا ہے۔
دہری رینجز failover نہیں ہیں
ایک ہی سابقہ دو peerوں کو دینے سے لوڈ بیلنسر یا اسٹینڈ بائی راستہ نہیں بنتا۔ نہ صحت کی جانچ ہے اور نہ سیشن کی وابستگی: جیتنے والا اندراج عمل درآمد کی داخلی ترتیب سے طے ہوتا ہے، جو ایسا معاہدہ نہیں جس پر ڈیزائن کرنا چاہیے۔ اگر آپ کو متبادل اخراج چاہیے تو انہیں وہاں بیان کریں جہاں انتخاب متعین ہے۔ روٹنگ پالیسی، ایک میٹرک، یا ہر ایک کے لیے دستاویزی مالک والے دو مختلف سابقے ایسا رویہ پیدا کرتے ہیں جس کی آپ پیش گوئی اور جانچ کر سکتے ہیں۔
غیر متعلق ناکامی ٹھیک کرنے کے لیے رینج بڑھانا دوسری عام غلطی ہے۔ یہ ٹریفک کو کام کرنے والے peer سے دور کرتی ہے، اور پرانا سمجھے جانے سے پہلے نیا علامت آ جاتا ہے۔
ترمیم سے پہلے انتخاب کی تصدیق کریں
تین کمانڈز تین سوالوں کے جواب ترتیب سے دیتے ہیں۔ پہلا ہر peer کی دعویٰ کردہ رینجز کی فہرست دیتا ہے۔ دوسرا دکھاتا ہے کہ ہوسٹ کسی منزل کے لیے کون سا انٹرفیس استعمال کرے گا۔ تیسرا ٹریفک بہنے کے بعد peerوں کی زندہ حالت دکھاتا ہے۔
wg show wg0 allowed-ips ip route get 10.66.8.20 wg show wg0 ip rule show
تبدیلی سے پہلے اور بعد میں انہیں چلائیں اور موازنہ کریں۔ اگر راستے کی آؤٹ پٹ بدل گئی لیکن ٹریفک اب بھی غلط peer تک پہنچتی ہے، تو سابقہ فہرستیں اس طرح اوورلیپ ہوتی ہیں جو آپ نے ابھی نہیں لکھی۔ اگر راستے کی آؤٹ پٹ نہیں بدلی، تو peer کنفیگریشن ہی وہ چیز نہیں تھی جس کے بارے میں پوچھا گیا۔
ٹکٹ میں منزل، منتخب انٹرفیس اور منتخب peer درج کریں۔ یہی تین چیزیں اوورلیپ کو بعد میں قابل جائزہ بناتی ہیں، اور یہ کنفیگریشن کے اسکرین شاٹ سے کہیں زیادہ مفید ہے۔