EC2 پر Access Server کا مکمل ٹنل: ایک چیک باکس کیوں کافی نہیں
EC2 پر ماخذ اور منزل کی جانچ بند کرنا فارورڈنگ کی درستی ہے، کلائنٹ کی انٹرنیٹ پالیسی نہیں۔ Access Server میں مکمل ٹنل مقرر کریں اور پھر AWS کے اخراجی راستے کا سراغ لگائیں۔
EC2 انسٹانس پر ماخذ اور منزل کی جانچ بند کرنا Access Server کے انٹرنیٹ اخراج کے بارے میں سب سے زیادہ دہرایا جانے والا جواب ہے، اور اکیلا یہ آپ کے کلائنٹس کے لیے کچھ نہیں کرتا۔ یہ جانچ AWS کی فارورڈنگ پابندی ہے: یہ انسٹانس کو ایسے پیکٹ قبول کرنے دیتی ہے جن کا ماخذ یا منزل اس کا اپنا پتہ نہ ہو۔ یہ کلائنٹ سے یہ نہیں کہتی کہ انٹرنیٹ ٹریفک ٹنل سے بھیجے، اوپر کی طرف راستہ نہیں بناتی اور NAT شامل نہیں کرتی۔ افسانہ یہ ہے کہ چیک باکس ہی خصوصیت ہے۔
جانچ دراصل کیا کنٹرول کرتی ہے
ہر EC2 نیٹ ورک انٹرفیس وہ ٹریفک پھینک دیتا ہے جو اس کی طرف نہ بھیجا گیا ہو، جب تک انسٹانس راؤٹر، NAT ڈیوائس یا VPN گیٹ وے کا کردار ادا نہ کر رہا ہو اور آپ وہ جانچ بند نہ کریں۔ اسے بند کرنا فارورڈ کرنے کی اجازت دیتا ہے۔ اجازت کنفیگریشن نہیں ہے: انسٹانس کو اب بھی انٹرنیٹ گیٹ وے یا NAT ڈیوائس تک راستہ چاہیے، VPC روٹ ٹیبل کو اب بھی مماثل اندراج چاہیے، سیکیورٹی گروپس کو اب بھی بہاؤ کی اجازت دینی ہوگی، اور سرور کو اب بھی واپسی ٹریفک کا ترجمہ یا روٹنگ کرنی ہوگی۔
کچھ بھی بدلنے سے پہلے aws ec2 describe-instance-attribute --instance-id i-0123456789abcdef0 --attribute sourceDestCheck سے موجودہ قدر جانچیں۔ اگر آپ اسے کنسول میں بدلتے ہیں تو اس لیے بدلیں کہ انسٹانس دوسروں کے لیے فارورڈ کرتا ہے، اس لیے نہیں کہ کوئی کلائنٹ انٹرنیٹ تک نہیں پہنچتا۔
کلائنٹ کی روٹنگ پالیسی Access Server کی ہے
Access Server 3 میں Access Controls کھولیں اور Internet Access and DNS حصہ تلاش کریں۔ Internet Gateway کا انتخاب مکمل یا منقسم ٹنل پیش کرتا ہے؛ مکمل ٹنل کلائنٹ سے کہتا ہے کہ اپنا طے شدہ ٹریفک VPN کے اندر روٹ کرے، منقسم ٹنل انٹرنیٹ ٹریفک کو کلائنٹ کے مقامی راستے پر چھوڑ دیتا ہے۔ پروڈکٹ کے ورک فلو سے محفوظ کریں اور لاگو کریں، پھر ٹیسٹ کلائنٹ دوبارہ جوڑیں، کیونکہ پالیسی کنکشن کے وقت دی جاتی ہے۔
پرانے ورژن مختلف مینو استعمال کرتے ہیں اور کچھ Community OpenVPN بلڈز میں مساوی کنٹرول نہیں ہے۔ غیر موجود اسکرین تلاش کرنے سے پہلے نصب شدہ بنیادی ورژن جانچیں۔ پھر تصدیق کریں کہ کلائنٹ کو کیا ملا: مکمل ٹنل پروفائل کو ٹنل کے ذریعے طے شدہ راستہ نصب کرنا چاہیے، اور منقسم ٹنل پروفائل کو ایسا نہیں کرنا چاہیے۔
ٹنل کے بعد پیکٹ کا سراغ لگائیں
جب کلائنٹ انٹرنیٹ ٹریفک ٹنل میں بھیجتا ہے تو سرور کو اسے فارورڈ کرنا اور عام طور پر ترجمہ کرنا ہوتا ہے۔ Access Server اپنے NAT اور روٹنگ قواعد خود سنبھالتا ہے، اس لیے بنائی گئی فائلوں میں Community OpenVPN قواعد شامل کرنے کے بجائے مؤثر کنفیگریشن پڑھیں؛ غیر منظم قواعد اگلی پروڈکٹ اپ ڈیٹ پر اوور رائٹ ہوتے ہیں یا ٹکراتے ہیں۔ sudo iptables -t nat -L -n -v یا nftables کا مساوی دکھاتا ہے کہ واقعی کیا ترجمہ ہو رہا ہے۔
AWS کا رخ الگ راستہ ہے۔ عوامی سب نیٹ کا انسٹانس سیدھا انٹرنیٹ گیٹ وے تک پہنچتا ہے اور اپنا عوامی پتہ یا لچکدار IP برقرار رکھتا ہے۔ نجی سب نیٹ کے انسٹانس کو NAT گیٹ وے یا NAT انسٹانس تک راستہ چاہیے، اور NAT ڈیوائس کو اپنا راستہ انٹرنیٹ گیٹ وے تک چاہیے۔ انٹرنیٹ گیٹ وے کو VPC سے جوڑنا بذات خود کسی نجی ماخذ کو عوامی واپسی پتہ نہیں دیتا، اسی لیے وہی Access Server سیٹ اپ ایک سب نیٹ میں کام کرتا ہے اور دوسرے میں خاموشی سے ناکام ہوتا ہے۔
انسٹانس کے سب نیٹ سے منسلک روٹ ٹیبل جانچیں، صرف VPC کی مرکزی ٹیبل نہیں۔ سب نیٹ کی وابستگیاں مرکزی ٹیبل پر غالب آتی ہیں، اور پرانی وابستگی ایک عام وجہ ہے کہ کام کرنے والی کنفیگریشن دوبارہ تعمیر کے بعد رک جاتی ہے۔
IP اخراج اور DNS کو الگ رکھیں
ایک ہی کلائنٹ ایپ سے پہلے پتے کی حرفی شکل اور پھر نام جانچیں۔ اگر curl -4 https://checkip.amazonaws.com عوامی پتہ واپس کرتا ہے مگر میزبان نام ناکام ہوتے ہیں تو ٹنل اور NAT راستہ کام کر رہے ہیں اور مسئلہ DNS میں ہے: بھیجا گیا حل کنندہ، کلائنٹ کی حل کنندہ حالت، یا حل کنندہ کو روکنے والا سیکیورٹی گروپ۔ Access Server کی DNS ترتیبات اسی Internet Access علاقے میں ہیں، مگر وہ الگ کوڈ راستے سے جاتی ہیں۔
واپس ملے پتے کا موازنہ اس اخراج سے کریں جو آپ کا مقصد تھا۔ اگر یہ انسٹانس کا عوامی پتہ ہے تو ٹریفک انسٹانس ترجمہ کر رہا ہے؛ اگر یہ NAT گیٹ وے کا پتہ ہے تو نجی سب نیٹ کا راستہ استعمال ہو رہا ہے۔ دونوں درست ہو سکتے ہیں۔ جو آپ اخذ نہیں کر سکتے وہ یہ ہے کہ سرور پر براؤزر کلائنٹ فارورڈنگ ثابت کرتا ہے۔
ایک چیک باکس تحقیق کو بند نہ کرے
IPv6 ایک الگ فیصلہ ہے۔ IPv4 کے لیے مکمل ٹنل پالیسی اس بارے میں کچھ نہیں کہتی کہ IPv6 لے جایا جاتا ہے، روکا جاتا ہے یا رسنا ہے، اور دوہرے اسٹیک والا کلائنٹ IPv4 ٹنل میں ہونے کے دوران اپنا مقامی IPv6 راستہ استعمال کرتا رہ سکتا ہے۔ جس پتہ خاندان کی آپ کو واقعی پرواہ ہے اسے جانچیں، اور واضح طور پر فیصلہ کریں کہ دوسرے کو بند کرنا چاہیے یا نہیں۔
آخر میں، منقطع حالت جانچیں۔ مکمل ٹنل کا انتخاب منسلک حالت میں روٹنگ پالیسی بیان کرتا ہے، یہ نہیں کہ ٹنل گرنے پر کیا ہوتا ہے۔ اگر تقاضا یہ ہے کہ کوئی ٹریفک VPN سے باہر نہ نکلے تو یہ kill-switch اور فائر وال کا سوال ہے، اور اسے روٹ ٹیبل سے اندازے کے بجائے اپنی جانچ درکار ہے۔