EC2-তে Access Server ফুল টানেল: কেন একটি চেকবক্সই যথেষ্ট নয়
EC2-তে সোর্স ও ডেস্টিনেশন চেক বন্ধ করা ফরওয়ার্ডিংয়ের সমাধান, ক্লায়েন্টের ইন্টারনেট নীতি নয়। Access Server-এ ফুল টানেল সেট করুন, তারপর AWS-এর এক্সিট পথ অনুসরণ করুন।
EC2 ইনস্ট্যান্সে সোর্স ও ডেস্টিনেশন চেক বন্ধ করা Access Server-এর ইন্টারনেট এগ্রেস নিয়ে প্রশ্নের সবচেয়ে বেশি পুনরাবৃত্ত উত্তর, আর একা এটি আপনার ক্লায়েন্টদের জন্য কিছুই করে না। চেকটি AWS-এর ফরওয়ার্ডিং সীমা: এটি ইনস্ট্যান্সকে এমন প্যাকেট গ্রহণ করতে দেয় যার সোর্স বা ডেস্টিনেশন তার নিজের ঠিকানা নয়। এটি Access Server ক্লায়েন্টকে টানেল দিয়ে ইন্টারনেট ট্রাফিক পাঠাতে বলে না, উপরের দিকে রুট তৈরি করে না এবং 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-এর দিকটি আলাদা পথ। পাবলিক সাবনেটের ইনস্ট্যান্স সরাসরি ইন্টারনেট গেটওয়েতে পৌঁছায় এবং নিজের পাবলিক ঠিকানা বা elastic 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 ও ফায়ারওয়ালের প্রশ্ন, এবং রুট টেবিল থেকে অনুমান নয়, নিজের পরীক্ষা দরকার।