OpenVPN جڑتا ہے مگر کچھ بہتا نہیں: وہ تہہ تلاش کریں جہاں پیکٹ گرتا ہے
ٹریفک کے بغیر جڑی سرنگ کے کم از کم پانچ اسباب ہوتے ہیں۔ سننے والے کو ثابت کریں، بیرونی پیکٹ پکڑیں، پھر گنتی یا سراغ کو اصول کا نام بتانے دیں۔
OpenVPN کہتا ہے جڑا ہوا ہے اور کوئی ٹریفک نہیں ہلتی، یہ جملہ کم از کم پانچ غیر متعلق خرابیوں کو ڈھانپتا ہے۔ کون سی تہہ ناکام ہو رہی ہے یہ جاننے سے پہلے فائر وال کے اصول بدلنا نامعلوم چیزوں کو کئی گنا کرتا ہے اور اگلے انجینئر کے لیے گڑبڑ چھوڑ دیتا ہے۔ اس کے بجائے عمل سے باہر کی طرف کام کریں، کیونکہ نیچے کا ہر قدم یا تو ایک مرحلہ صاف کرتا ہے یا یہ تنگ کرتا ہے کہ پیکٹ کہاں مرتا ہے۔ یہاں ترتیب اہم ہے: کون سا پتہ بندھا ہے یہ جاننے سے پہلے لی گئی گرفت کچھ ثابت کرے گی، مگر وہ نہیں جو آپ کو درکار ہے۔
ساکٹ یا تو بندھا ہے یا نہیں
فعال ہونے کی اطلاع دینے والی خدمت اب بھی کسی ایسے پتے یا نقل و حمل سے بندھی ہو سکتی ہے جس کا آپ نے کبھی ارادہ نہیں کیا تھا۔ خود ساکٹ سے پوچھیں: ss -lunp UDP سننے والوں کی فہرست دیتا ہے اور ss -ltnp TCP کی، اور پڑھنے کے قابل کالم مقامی پتہ ہے، حالت نہیں۔
خالی جواب عام طور پر تین میں سے ایک بات کا مطلب ہوتا ہے: عمل شروع ہونے کے بعد باہر نکل گیا، اس نے دوسری ترتیب فائل لوڈ کی، یا وہ اس پتے سے مختلف پتے پر سن رہا ہے جس پر کال کی جاتی ہے۔
ss -lunp | grep 1194
ss -ltnp | grep 1194
local ہدایت سننے والے کو ایک ہی پتے پر جکڑ دیتی ہے، اس لیے اسی میزبان پر کہیں اور نشانہ لگانے والا کلائنٹ مسترد ہو جاتا ہے جبکہ خدمت باہر سے اب بھی صحت مند دکھائی دیتی ہے۔ مثال کا نام بھی ایسی فائل کی طرف اشارہ کر سکتا ہے جو آپ نے کبھی تبدیل نہیں کی، جو دو پروفائل ساتھ ساتھ چلانے والے میزبانوں پر ہوتا ہے۔
بیرونی پیکٹ پکڑیں، سرنگ نہیں
طبیعی انٹرفیس اور حقیقی پورٹ پر فلٹر کریں، اپنا انٹرفیس رکھ کر: tcpdump -ni eth0 udp port 1194۔ واپس کچھ نہ آنے والے باہر جانے والے پیکٹ اوپر بیٹھی چیز کی طرف اشارہ کرتے ہیں: فراہم کنندہ کی فلٹرنگ، NAT آلہ، یا ایسا دور کا پتہ جو آپ کے اندازے کا نہیں۔ دونوں سمتوں میں خاموشی کلائنٹ روٹنگ یا مقامی فائر وال کی طرف اشارہ کرتی ہے۔ سرنگ کی پیش رفت کے بغیر آنے والے جوابات کنٹرول چینل کی طرف اشارہ کرتے ہیں، یعنی کلید یا سائفر کا عدم مطابق، فلٹرنگ کی طرف نہیں۔
دونوں سمتوں کو پکڑیں اور فائل مختصر رکھیں۔ طویل گرفت دلچسپ تین سیکنڈ دفن کر دیتی ہے، اور جواب تقریباً ہمیشہ پہلے تبادلے میں ہوتا ہے۔
پہلے گنتی، سراغ صرف جب وہ جھوٹ بولیں
گنتی سے شروع کریں، کیونکہ ان کا کوئی خرچ نہیں۔ یا تو nft list ruleset یا iptables -L -n -v یہاں اہم واحد سوال کا جواب دیتا ہے: کیا اصول ملا؟ ترتیب نتیجہ طے کرتی ہے، کیونکہ پہلا میل جیتتا ہے، اسی لیے بعد کے ACCEPT سے پہلے وسیع DROP اس ACCEPT کو مردہ چھوڑ دیتا ہے اور اسی لیے اصول شامل کرنا اتنی کم بار کچھ درست کرتا ہے۔
ملکیت بھی لوگوں کو ٹھوکر کھلاتی ہے۔ کرنل مقامی طور پر بنائے گئے پیکٹ کو اس عمل سے منسوب کرتا ہے جس نے ساکٹ کھولا، اور OpenVPN عام طور پر root کے طور پر چلتا ہے، اس لیے عام صارف ID سے بندھا اصول سرنگ کی اپنی ٹریفک کبھی نہیں دیکھتا۔ اصول کو غلط ماننے سے پہلے مالک UID چیک کریں۔
صرف جب گنتی مبہم رہیں تو لاگ شور کے لائق ہے، اور تب بھی صرف ایک تنگ حصے کے لیے: iptables کا اصول جو رفتار محدود کرتا ہے اور اپنی لاگ سطروں کو سابقہ دیتا ہے، یا nftables کا اصول جو meta nftrace set 1 رکھتا ہے جبکہ nft monitor trace چل رہا ہو۔ سراغ اس زنجیر اور اصول کا نام لیتا ہے جس نے پیکٹ قبول یا خارج کیا۔ بعد میں دونوں ہٹا دیں اور پے لوڈ لاگنگ باہر رکھیں۔
نقل و حمل بھی چیک کریں۔ TCP تک محدود فائر وال خدمت اس نمبر پر UDP سننے والے کے بارے میں کچھ نہیں کہتی، اس لیے درست پڑھا گیا اصول بھی ہر پیکٹ خارج کر سکتا ہے۔
روٹنگ اور واپسی کا راستہ
قبول شدہ پیکٹ جو پھر بھی غائب ہو جائے اس کے منزل کے راستے کی جانچ ضروری ہے۔ ip route get ایک پتے کے لیے چنا گیا راستہ بتاتا ہے، اور الٹے راستے کی فلٹرنگ ایسے انٹرفیس سے آنے والا جواب خارج کر سکتی ہے جسے بنیادی جدول کبھی نہیں چنتا۔ علامت بالکل فائر وال کے خارج کرنے جیسی دکھائی دیتی ہے، اسی لیے یہ جانچ اگلے NAT اصول سے پہلے آتی ہے۔
گیٹ وے پر input زنجیر کے بجائے فارورڈنگ اور forward زنجیر چیک کریں۔ پھر تصدیق کریں کہ دور والا فریق ماخذ پتے تک کیسے پہنچنا جانتا ہے، کیونکہ کام کرنے والا باہر جانے والا راستہ جب کچھ واپس نہ آئے تو دونوں صورتوں میں خاموشی ہے۔
ریکارڈ کو کیا کہنا چاہیے
ہر تبدیلی کے لیے، جانچا گیا مرحلہ، پڑھا گیا ثبوت اور اس کے دونوں اطراف گنتی کی قدر لکھیں۔ وہی نوٹ "اب یہ چلتا ہے" کو اگلے جائزے میں ٹکا رکھتا ہے۔
دو شارٹ کٹ نوٹ کو ایماندار رکھتے ہیں۔ جو پیکٹ میزبان سے کبھی نہ نکلا وہ کہیں اور کے اصول سے خارج نہیں ہو سکتا تھا، دور والے فریق کی ترتیب کتنی ہی قائل دکھائی دے۔ جو پیکٹ نکلا اور واپس آیا وہ سوال کو نیٹ ورک تہہ سے اوپر منتقل کرتا ہے، جہاں فائر وال کی گنتی کے پاس آپ کو بتانے کے لیے اب کچھ نہیں بچا۔