Android پر L2TP آٹومیشن: اسکرپٹ درخواست کر سکتی ہے، بنا نہیں سکتی
shell راستہ Android پر L2TP/IPsec نہیں اٹھاتا۔ IPsec، L2TP، PPP اور پلیٹ فارم پالیسی میں سے ہر ایک کا اپنا حصہ ہے، اس لیے چنیں کہ کون اسے کنٹرول کر سکتا ہے۔
داستان یہ ہے کہ L2TP Android پر ایک اور چیز ہے جو shell اسکرپٹ شروع کر سکتی ہے: راستہ شامل کریں، پرانی سروس کو کال کریں، ہو گیا۔ ایسا نہیں ہو سکتا، کیونکہ سرنگ کے پیکٹ لے جانے سے پہلے چار مختلف تہوں کو متفق ہونا پڑتا ہے۔ IPsec تہہ راستے کی حفاظت کرتی ہے، L2TP سیشن لے جاتی ہے، PPP لنک پر بات چیت کرتی ہے، اور Android کو نتیجہ VPN کے طور پر رجسٹر کرنا ہوتا ہے جس کے گرد وہ روٹ کر سکے۔ میں نے یہ کاپی شدہ کمانڈز کے ساتھ دو بار ہوتے دیکھا ہے، اور دونوں بار راستہ موجود تھا جبکہ کچھ بھی انکرپٹ نہیں تھا۔
راستہ بدلنے سے واقعی کیا حاصل ہوتا ہے
راستہ شامل کرنا فیصلہ کرتا ہے کہ پیکٹ آگے کہاں جائے گا۔ یہ سیکیورٹی ایسوسی ایشن پر بات چیت نہیں کرتا، L2TP سیشن نہیں کھولتا، اور وہ PPP تبادلہ نہیں چلاتا جو پتہ، ساتھی اور DNS ترتیبات پیدا کرتا ہے۔ ہینڈ سیٹ پر نظر آنے والا نتیجہ وہ ٹریفک ہے جو غلط راستے سے نکلتا ہے، یا نکل کر مر جاتا ہے، کہیں بھی سرنگ کی حالت کے بغیر۔
یہی پرانی ریلیز سے کاپی کی گئی سروس کال پر بھی لاگو ہوتا ہے۔ Android کی اندرونی VPN پلمبنگ شائع شدہ آٹومیشن API نہیں ہے، اور کسی دوسرے ورژن کا شمار شدہ لین دین کسی اور آپریشن پر جا سکتا ہے یا ایسے مراعات مانگ سکتا ہے جو اسکرپٹ کے پاس نہیں۔ پاس ورڈ لے جانے والی آٹومیشن کو کبھی اندازہ لگائے گئے اندرونی دلائل پر انحصار نہیں کرنا چاہیے، کیونکہ ناکامی کی صورت یا خاموش no-op ہے یا آدھا بنا ہوا پروفائل جسے کوئی صاف نہیں کرتا۔
چار مالک، اور اسکرپٹ ان میں سے کوئی نہیں
انہیں ترتیب سے لیں۔ IPsec محفوظ راستہ قائم کرتا اور برقرار رکھتا ہے اور ساتھیوں کی تصدیق کرتا ہے۔ L2TP اس کے اوپر سیشن لے جاتی ہے، اور یہی تہہ بندی وجہ ہے کہ معیار انہیں ایک پروٹوکول کی بجائے الگ میکانزم سمجھتا ہے۔ اس کے اندر PPP ان لنک پیرامیٹرز پر بات چیت کرتی ہے جو کلائنٹ استعمال کرے گا۔ پھر Android پلیٹ فارم کا پہلو رکھتا ہے: رجسٹر شدہ VPN انٹرفیس، فی ایپ دائرہ، always-on حالت اور وہ زندگی کا چکر جو فیصلہ کرتا ہے کہ ایپ مارے جانے پر کیا ہوتا ہے۔
اسکرپٹ ان تہوں میں سے صرف آخری دیکھ سکتی ہے، اور عام طور پر بالواسطہ۔ اگر وہ کلائنٹ دستاویزی کنٹرول ظاہر کرے تو یہ کلائنٹ کو جڑنے کو کہہ سکتی ہے، اور بعد میں انٹرفیس کی حالت دیکھ سکتی ہے۔ یہ نیچے کی تین تہوں کا متبادل نہیں بن سکتی، اور پلیٹ فارم کو غیر رجسٹر شدہ انٹرفیس کو VPN ماننے پر مجبور نہیں کر سکتی۔
کیوں ڈیمن بھی مختصر راستہ نہیں
ڈیوائس پر مراعات یافتہ Linux ڈیمن شروع کرنا گمشدہ حصہ لگتا ہے، اور اکثر یہ واقعی سرنگ اٹھا دیتا ہے۔ جو یہ نہیں کرتا وہ اس سرنگ کو Android کے ساتھ رجسٹر کرنا ہے۔ انٹرفیس کرنل کے اندر موجود ہے، لیکن پلیٹ فارم کا VPN انتخاب، فی ایپ روٹنگ، always-on پالیسی اور زندگی کا چکر اسے نہیں جانتے، اور ڈیمن کی اپنی راستہ اور DNS تبدیلیاں انہی جدولوں کے لیے نیٹ ورک مینیجر سے مقابلہ کرتی ہیں۔
نتیجہ ایک ایسا کنکشن ہے جو ڈیمن کی ٹریفک کے لیے کام کرتا ہے اور پراسرار طور پر اس ایپ کے لیے نہیں جو آپ کے لیے اہم تھی، یا ایسا جو اس وقت تک رہتا ہے جب تک نظام اپنے نیٹ ورکس کا دوبارہ جائزہ نہ لے۔ ان میں سے کوئی بھی نتیجہ پلیٹ فارم بگ نہیں ہے؛ یہ socket رکھنے اور VPN سہولت رکھنے کے درمیان حد ہے۔
معاون راستے کیسے دکھتے ہیں
اگر تنظیم ایسی پروفائل پر جا سکتی ہے جو Android خود فراہم کرتا ہے، تو پلیٹ فارم کا راستہ ایماندار ہے۔ API 30 سے، VpnManager ایپس کے ذریعے پلیٹ فارم VPN پروفائلز کی فراہمی اور کنٹرول کی حمایت کرتا ہے، کال کرنے والی ایپ سے منسلک اجازت کے بہاؤ کے ساتھ۔ یہ L2TP کنورٹر نہیں ہے: IKEv2 کے لیے یہ جو پروفائل ماڈل فراہم کرتا ہے وہ موجودہ L2TP ترتیب کا ترجمہ نہیں کرتا، اور پروٹوکول بدلنا ہجرت ہے، نام بدلنا نہیں۔ شناختیں، راستے، نجی DNS اور رسائی اجازتیں جان بوجھ کر منتقل کرنی ہوں گی۔
اگر سروس کو L2TP/IPsec ہی رہنا ہے، تو معاون امتزاج وہ کلائنٹ اور OS ریلیز ہے جو آپریٹر واقعی دستاویز کرتا ہے، اور اس کا آٹومیشن معاہدہ اگر ہو۔ جب کوئی دستاویزی بغیر نگرانی کنٹرول نہ ہو، تو صحیح جواب معاون دستی کنکشن ہے، نہ کہ ایک بلڈ پر اتفاقاً کام کرنے والی نازک مراعات یافتہ اسکرپٹ۔
صحیح آٹومیشن کیا کرتی ہے
دستاویزی کنٹرول ملنے پر، آٹومیشن کا کام چھوٹا اور دفاعی ہے: نامزد کنکشن کی درخواست کریں، تیاری کا انتظار کریں، تصدیق یا سیٹ اپ ناکامی پر رکیں، مطلوبہ کام چلائیں، اور صفائی کنکشن کے مالک حصے کو چھوڑ دیں۔ اسناد اس کلائنٹ کے پاس رہتی ہیں جو انہیں محفوظ اور تبدیل کرنا جانتا ہے۔
پہلی سطر لکھنے سے پہلے لکھیں کہ کون سا حصہ کون سی تہہ رکھتا ہے، اور نتیجہ اس کے مطابق جانچیں:
- IPsec اور PPP کلائنٹ سنبھالتا ہے، اسکرپٹ کے راستے نہیں۔
- کنکشن پلیٹ فارم کی VPN حالت میں ظاہر ہوتا ہے، اس لیے فی ایپ دائرہ اور always-on اس پر لاگو ہوتے ہیں۔
- کوئی اندرونی سروس کال، لین دین نمبر یا اندازہ لگایا گیا دلیل سند نہیں لے جاتا۔
- کسی بھی مرحلے پر ناکامی آدھا رجسٹر شدہ پروفائل پیچھے نہیں چھوڑتی۔