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

پورٹ قاعدہ طے شدہ راستہ نہیں ہے

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

wg-quick کی دو سیٹنگز پیشگی شرائط ہیں، پالیسی کا حصہ نہیں۔ AllowedIPs = 0.0.0.0/0 peer کو منمانے IPv4 منزلیں لے جانے دیتا ہے، اور Table = off wg-quick کو اس سابقے کے لیے اپنا طے شدہ راستہ نصب کرنے سے روکتا ہے۔ ان ہدایات کو ایسے منیجر کے ساتھ نہ ملائیں جو اپنی روٹ پالیسی لاگو کرتا ہو، کیونکہ دونوں اس بات پر متفق نہیں ہوں گے کہ مرکزی جدول کس کا ہے۔

روٹ، منتخب کنندہ اور محافظ لکھیں

ایسا جدول نمبر اور ترجیحات کا جوڑا منتخب کریں جو اور کوئی استعمال نہ کرتا ہو، پھر اسی ترتیب میں روٹ، منتخب کنندہ اور محافظ لاگو کریں۔ نیچے دیے گئے نمبر مثالیں ہیں، محفوظ قدریں نہیں:

ip -4 route add default dev wg0 src 10.77.0.2 table 51825
ip -4 rule add priority 10000 iif lo ipproto tcp dport 25 lookup 51825
ip -4 rule add priority 10001 iif lo ipproto tcp dport 25 unreachable

iif lo قاعدے کو مقامی ماخذ کی ٹریفک تک محدود کرتا ہے، اور ipproto tcp dport 25 کنکشن کی سمت کی نشاندہی کرتا ہے؛ ip-rule کا حوالہ دونوں منتخب کنندگان کو دستاویز کرتا ہے۔ یہ موجودہ کرنلز اور iproute2 ورژنز میں موجود ہیں، اور پرانے نظام پر قاعدہ بالکل مسترد ہو جاتا ہے، جو ایسے قاعدے سے زیادہ واضح ناکامی ہے جو لوڈ ہو کر کسی چیز سے نہ ملے۔

اگلی ترجیح کا unreachable قاعدہ محافظ ہے۔ اس کے بغیر، جدول 51825 میں غائب روٹ عام طے شدہ میں گر جاتا ہے، اور سرنگ کی رکاوٹ کے دوران میل جسمانی لنک سے باہر نکل جاتی ہے، جو بالکل وہی صورت ہے جسے روکنے کے لیے پالیسی بنائی گئی تھی۔

ماخذ پتہ ہم آہنگ ہونا چاہیے

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

گیٹ وے پر، کلائنٹ کے peer کو وہ ماخذ اجازت دینا ہوگا جو اسے واقعی ملتا ہے، یعنی چوڑے منزل سابقے کے بجائے 10.77.0.2/32۔ کلائنٹ کے 0.0.0.0/0 کو ہر گیٹ وے peer میں کاپی کرنا یہ الجھا دیتا ہے کہ کون سا peer کس ٹریفک کا مالک ہے۔ گیٹ وے کو فارورڈنگ، بہاؤ کی اجازت دینے والی فائر وال پالیسی، اور واپسی راستہ بھی درکار ہے، بشمول باہر جانے والا ترجمہ جب بالائی جانب نجی سرنگ پتہ روٹ نہ کر سکے۔

واپسی راستہ جانچیں، پھر استحکام

کسی بھی چیز پر بھروسہ کرنے سے پہلے تلاشیں پڑھیں، کیونکہ وہ بتاتی ہیں کہ ہر سمت کو کون سا جدول اور کون سا ماخذ ملتا ہے۔ پورٹ 25 پر ایک منزل اور پورٹ 443 پر وہی منزل کافی ہے:

ip -4 route get 198.51.100.25 ipproto tcp dport 25
ip -4 route get 198.51.100.25 ipproto tcp dport 443

پہلی تلاش میں wg0 اور مطلوبہ ماخذ ہونا چاہیے، اور دوسری میں عام اوپری لنک برقرار رہنا چاہیے۔ جب ایپلیکیشن اپنا پتہ باندھے تو اس پتے کے ساتھ from تلاش میں شامل کریں۔ جو جوابی سمت wg0 تک پہنچ کر مقامی طور پر خارج ہو جاتی ہے وہ IPv4 ریورس پاتھ فلٹرنگ کی طرف اشارہ کرتی ہے، کیونکہ صرف باہر جانے والے پورٹ کا قاعدہ ریورس تلاش کو سرنگ منتخب کرنے پر مجبور نہیں کرتا۔

جہاں غیر متوازن روٹنگ کی اجازت ہے، وہاں net.ipv4.conf.wg0.rp_filter=2 کے ذریعے انٹرفیس تک محدود نرم موڈ مناسب ہو سکتا ہے، اور پہلے all اور انٹرفیس قدروں کی مؤثر زیادہ سے زیادہ جانچنا مناسب ہے۔ توثیق کو شارٹ کٹ کے طور پر عالمی سطح پر بند نہ کریں۔ پھر جدول، ترجیحات اور محافظ کنفیگریشن کے مالک کے حوالے کریں، اور دوبارہ جڑنے کے بعد نئے کنکشن کھول کر تصدیق کریں کہ انتخاب اب بھی قائم ہے۔ یاد رکھیں کہ مقامی SMTP سننے والے کے جوابات ماخذ پورٹ 25 لے کر آتے ہیں، منزل پورٹ 25 نہیں، جو الگ پالیسی سوال ہے۔

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