دو VPN کلائنٹ دو مختلف عوامی IPv4 پتوں سے باہر جا سکتے ہیں، اور یہ کرنے والا قاعدہ زیادہ تر لوگوں کی توقع سے چھوٹا ہے۔ اسے کام کرنے والی چیز iptables کی نحو نہیں بلکہ پیکٹ کی وہ حالت ہے جب وہ ایگریس زنجیر تک پہنچتا ہے: وہاں کا ماخذ پتہ اب بھی کلائنٹس میں تمیز کرنا چاہیے۔ اگر پہلے کا masquerade دونوں کو پہلے ہی ایک پتے پر یکجا کر چکا ہے، تو کوئی بھی فی کلائنٹ قاعدہ وہ فرق واپس نہیں لا سکتا۔ پہلے یہ سوال طے کریں، پھر ترجمہ لکھیں۔

کون سی شناخت گیٹ وے تک بچتی ہے

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

iptables -t nat -S POSTROUTING

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

داخلی پتے کی تقسیم کو تصدیق شدہ کلائنٹ سے جوڑیں۔ وہ پتہ کسی دوسرے آلے کو دینا ایگریس پالیسی بھی ساتھ دے دینا ہے، اور ماخذ ترجمہ بذات خود شناخت کا ثبوت نہیں۔

ترجمہ پتہ ایجاد نہیں کر سکتا

ہر عوامی پتہ اس ایگریس مقام کو تفویض یا یہاں روٹ ہونا چاہیے، اور جوابات کو واپس یہاں آنے کا راستہ ملنا چاہیے۔ جو قاعدہ ایسے پتے سے ٹریفک بھیجتا ہے جہاں کوئی واپس روٹ نہیں کرتا، وہ دور سرے پر گرا دیا جاتا ہے یا ایسے ہوسٹ کو جواب دیا جاتا ہے جس نے کبھی طلب نہیں کیا۔ کلاؤڈ فراہم کنندہ کی مثال کا عوامی پتہ عام طور پر پیکٹ نکلنے سے پہلے نجی انٹرفیس پتے میں ترجمہ ہو چکا ہوتا ہے، اس لیے SNAT ماخذ وہ پتہ ہونا چاہیے جو فراہم کنندہ قبول کرے گا، کنسول کا دکھایا ہوا قدر نہیں۔ فراہم کنندہ کا پتہ ماڈل پڑھیں اور ہر پیکٹ میں عوامی قدر نقل کرنے کے بجائے اس کی پیروی کریں۔

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

عام masquerade سے پہلے داخل کریں

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

ip -4 route show default
iptables -t nat -L POSTROUTING -n -v --line-numbers

پہلا حکم اس انٹرفیس کا نام لیتا ہے جس سے انٹرنیٹ کی طرف جانے والا پیکٹ واقعی نکلتا ہے۔ دوسرا لائن نمبروں کے ساتھ زنجیر چھاپتا ہے۔ عام masquerade اندراج وہ سطر ہے جس کے اوپر رہنا ہے۔

iptables -t nat -I POSTROUTING 1 -s 10.88.4.20/32 -o ens3 -j SNAT --to-source 198.51.100.77
iptables -t nat -I POSTROUTING 1 -s 10.88.4.21/32 -o ens3 -j SNAT --to-source 198.51.100.78

اوپر کے دو قواعد ہر ایک ایک داخلی پتے سے میل کھاتے ہیں، میل کو ایگریس انٹرفیس تک محدود کرتے ہیں اور ماخذ واضح طور پر مقرر کرتے ہیں۔ شامل کرنے کے بجائے داخل کریں: مقام 1 پر وہ masquerade سطر سے پہلے جانچے جاتے ہیں۔ دونوں کے درمیان ترتیب اہم نہیں کیونکہ ان کے ماخذ مختلف ہیں۔ route حکم نے جو بتایا اس سے ens3 بدلیں، اور دیگر فائر وال منتظمین کو انہی ہکس سے دور رکھیں، کیونکہ دو آلات کا ایک ہی جدول لکھنا درست قاعدے کے بے اثر ہونے کی عام وجہ ہے۔

نئے بہاؤ سے ماخذ ثابت کریں

Stateful NAT بہاؤ شروع ہونے پر ترجمہ باندھتا ہے اور بعد کے پیکٹوں کے لیے اسے دوبارہ استعمال کرتا ہے، اس لیے تبدیلی سے پہلے کھلا سیشن تبدیلی کے بعد بھی اپنا پرانا ماخذ برقرار رکھتا ہے۔ قاعدہ صرف نو شروع شدہ کنکشن ثابت کرتا ہے۔

conntrack -L -s 10.88.4.20 -p tcp --dport 443

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

ترجمہ اب بھی راستہ منتخب نہیں کرتا، فلٹر سے بہاؤ نہیں گزرنے دیتا اور اندرونی سروس شائع نہیں کرتا۔ غلط راستہ اور غائب اجازت قاعدہ کامل SNAT قاعدے کے بعد بھی ناکام رہتے ہیں۔ IPv6 اور کسی بھی ثانوی ایگریس راستے کی بھی جانچ کریں، پھر داخلی-سے-عوامی جوڑوں کو فائر وال کی دستاویزات میں نوٹ کریں تاکہ اگلی تبدیلی قاعدے کے متن کے بجائے نقشہ سازی سے شروع ہو۔

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