টানেল ক্ষণস্থায়ী; নীতি তেমন হওয়া উচিত নয়। Linux গেটওয়েতে যে nftables নিয়ম টানেল ইন্টারফেসকে নাম দিয়ে মেলায়, তা একবার লোড করে রাখা যায় এবং ওই ইন্টারফেস প্রতিবার আবির্ভূত হলে প্রয়োগ হতে থাকে। ইন্টারফেসের এখনও একটি জীবনচক্র আছে: এটি তৈরি হয়, চলে যায়, আর তার চারপাশের রুট ও অনুবাদ নিজেদের সময়সূচি অনুসরণ করে। এই মালিকদের আলাদা করাই পুনঃসংযোগের সময় অ্যাক্সেস স্থির রাখে।

নামের মিল ইন্টারফেসের চেয়ে বেশি টেকে

nftables সংখ্যাভিত্তিক ইন্টারফেস-সূচক মিল এবং গতিশীল নাম-মিল iifname ও oifname দেয়। এই নাম ব্যবহারকারী নিয়ম টানেল ডিভাইস এখনো তৈরি না হলেও পরিষ্কারভাবে লোড হয়, যা বুটকালীন নিয়মসেটের ঠিক যা দরকার। ইন্টারফেসের নাম বদলালে মিল বন্ধ হয় এবং নতুন ইন্টারফেস ওই নাম নিলে আবার শুরু হয়। সংখ্যাসূচকের সেই বৈশিষ্ট্য নেই, তাই নামের রূপই টানেলের জন্য স্বাভাবিক পছন্দ।

নাম হলো মেলানোর চাবি, অপর প্রান্তে কে আছে তার প্রমাণ নয়। পিয়ার প্রমাণীকরণ VPN-এর কাজই থাকে।

নিয়ম যোগ করার আগে চেইন পড়ুন

নিয়মসেটে এখন কী আছে এবং নতুন নিয়ম কোথায় বসবে তা দেখুন, কারণ ক্রমই ফলাফল ঠিক করে।

nft list ruleset
nft -c -f /etc/nftables.conf

তালিকাটি চেইন, নিয়ম ও হ্যান্ডেল দেখায়, আর চেক মোড কোনো প্রার্থী ফাইল লোড না করেই যাচাই করে। একই প্রবাহের আগের গ্রহণের পরে বসানো কেবল-টানেল অনুমতি কিছুই বদলায় না, কারণ প্রথম মিলে যাওয়া নিয়মই জেতে। তাই দেরিতে আসা নিয়ম সঠিক দেখাতে পারে কিন্তু কোনো প্রভাব না রাখতে পারে। চেইনটি ক্রমানুসারে পড়ুন এবং ক্লায়েন্ট-থেকে-আপলিংক ট্রাফিকের অস্বীকৃতি এখনও যেকোনো প্রশস্ততর নিয়মের আগে আছে কিনা নিশ্চিত করুন।

রুট, অনুবাদ ও প্রবাহের অন্য মালিক আছে

ইন্টারফেসের উপস্থিতি কোনো রুট তৈরি করে না, পিয়ারকেও প্রমাণ করে না। সেগুলো VPN ম্যানেজারের, আর অনুবাদের তৃতীয় জীবনচক্র আছে।

conntrack -L -s 10.20.0.0/24 | head
ip route show dev vpn0

conntrack তালিকা বিদ্যমান প্রবাহগুলোকে তাদের মূল ও অনূদিত মানসহ দেখায়, আর রুট তালিকা দেখায় ম্যানেজার ইন্টারফেসের জন্য কী বসিয়েছে। NAT নিয়ম প্রথম প্যাকেটেই সংযোগ-অনুসরণ অবস্থা তৈরি করে, তাই প্রতিষ্ঠিত প্রবাহ নিয়ম বদলালেও তার অনুবাদ ধরে রাখে। তাই নিয়ম হালনাগাদ হওয়া আর নতুন পথ ব্যবহারকারী প্রবাহ দুটি আলাদা বক্তব্য। কোন সেশনগুলোকে আবার সংযোগ করতে হবে তা ঠিক করুন এবং সম্পর্কহীন প্রবাহকে ছুঁবেন না।

কোল্ড স্টার্ট, ক্ষতি ও পুনরুদ্ধার মেনে নিন

বুটের সময় টানেল অনুপস্থিত, তারপর উপস্থিত, তারপর বিচ্ছেদ ও ফেরতের পরে গেটওয়ে পরীক্ষা করুন। নিশ্চিত করুন যে টানেল অনুপস্থিত থাকলে নিষিদ্ধ ফরওয়ার্ডিং নিষিদ্ধই থাকে, পিয়ার প্রমাণীকরণের পরে নতুন অনুমোদিত প্রবাহ কাজ করে, এবং পুনরুদ্ধারে সম্পর্কহীন অবস্থা মুছতে হয় না। একটি প্রোফাইলের থামার পদক্ষেপ হিসেবে সম্পূর্ণ POSTROUTING চেইন বা প্রতিটি conntrack এন্ট্রি মুছবেন না, কারণ অন্য সেবাগুলো সেগুলো ভাগ করে। শুধু স্টার্ট হুক শূন্য নিয়ে বেরিয়েছে তা নয়, কোন উপাদান ইন্টারফেস, রুট ও নীতি বদলেছে তা লিখে রাখুন।

পুনঃসংযোগে টিকে থাকা নীতি সেই, যার মালিকরা নামযুক্ত এবং যার নিয়মগুলো টানেল বন্ধ ও চালু দুই অবস্থাতেই পরীক্ষা করা হয়েছে। সাফল্য জানানো হুক শুধু প্রমাণ করে যে হুকটি চলেছিল।

সম্পর্কিত নিবন্ধ