পলিসি রাউটিং ছাড়া LAN ক্লায়েন্টরা রাউটার VPN উপেক্ষা করে
ফরওয়ার্ড নিয়ম প্যাকেটের অনুমতি দেয়, কিন্তু ইন্টারফেস কখনও বেছে নেয় না। আলাদা পলিসি টেবিল ও নিয়ম ঠিক করে কোন LAN ক্লায়েন্ট রাউটার VPN ব্যবহার করবে।
রাউটার তার টানেল দিয়ে ইন্টারনেটে পৌঁছায়, কিন্তু তার পেছনের একটি ল্যাপটপ এখনও ISP-র ঠিকানা দেখায়। অ্যাকসেপ্ট নিয়ম যোগ করলে লাভ হয় না, এবং এই ব্যর্থতাই বলে দেয় অনেক কিছু: ফিল্টারিং উত্তর দেয় প্যাকেট যেতে পারবে কি না, কোথায় যাবে তা নয়। ইন্টারফেসের পছন্দ ইতিমধ্যেই একটি রাউটিং লুকআপ করেছে, যা আপনার ক্লায়েন্ট তালিকা সম্পর্কে কিছুই জানে না। লুকআপ ঠিক করুন, ফায়ারওয়াল আর সন্দেহভাজন থাকবে না।
ফিল্টার নিয়ম ইন্টারফেস বেছে নিতে পারে না
লিনাক্স রাউটারে প্যাকেট প্রবাহ প্রথমে রাউটিং সিদ্ধান্ত চালায়, তারপর ফরওয়ার্ড হুক। যখন কোনো নিয়ম বহির্গামী টানেল ডিভাইসে মেলে, তখন কার্নেল ইতিমধ্যেই ঠিক করে ফেলেছে যে টানেলই বেরোনোর পথ। যদি মূল টেবিল এখনও WAN ডিফল্ট রুট পছন্দ করে, প্যাকেট ISP-র দিকে এগোচ্ছে এবং আপনি এইমাত্র লেখা অ্যাকসেপ্ট নিয়ম সেটি কখনও দেখে না। এই একটি ক্রম-তথ্যই ব্যাখ্যা করে কেন নতুন ফায়ারওয়াল নিয়মের একটি পৃষ্ঠা কিছুই বদলায় না।
নিচের উদাহরণে br-lan-এ 192.168.8.0/24 LAN, একটি টানেল ডিভাইস tun0 এবং 192.168.8.23-এ একটি সেট-টপ বক্স ব্যবহার করা হয়েছে, যেটির টানেল ব্যবহার করা উচিত।
নিয়ম সম্পাদনার আগে লুকআপ পড়ুন
কার্নেলকে সেই ক্লায়েন্টের পক্ষে একটি রুট সমাধান করতে বলুন। উত্তরটিতে বহির্গামী ডিভাইস এবং যে সোর্স ঠিকানা বেছে নেওয়া হবে তা থাকে, আর রোগনির্ণয় নিশ্চিত করার জন্য এটাই যথেষ্ট। যদি উত্তর WAN ডিভাইসের নাম বলে, তবে প্যাকেটের আপনার নিয়মে পৌঁছানোর কোনো সুযোগই ছিল না।
ip -4 route get 198.51.100.7 from 192.168.8.23
সাধারণ পথে থাকা উচিত এমন ক্লায়েন্টের জন্য কোয়েরিটি পুনরাবৃত্তি করুন। যখন দুটি উত্তরই একই ডিভাইসের কথা বলে, তখনও সোর্স-ভিত্তিক পলিসি চালু হয়নি, আর সমাধান ফিল্টারিংয়ে নয়, রাউটিংয়ে।
যে ক্লায়েন্টদের ঢাকতে চান তাদের সাথে টেবিল যুক্ত করুন
পলিসি রাউটিং মূল টেবিলের আগে একটি নিয়ম-লুকআপ ঢোকায়। এমন একটি টেবিল তৈরি করুন যার ডিফল্ট রুট টানেল, তারপর সেই টেবিলটি একটি সিলেক্টরের সাথে বাঁধুন: ইনপুট ইন্টারফেস, সোর্স ঠিকানা বা ফায়ারওয়াল মার্ক। প্রায়োরিটি ক্রম ঠিক করে, আর মূল টেবিল তালিকার অনেক নিচে 32766-এ থাকে, তাই ছোট নম্বরের নিয়ম আগে দেখা হয়। ইন্টারফেস সিলেক্টর ব্রিজের প্রতিটি ক্লায়েন্ট ঢাকে; ঠিকানা সিলেক্টর একটি মেশিন ঢাকে।
ip -4 route add default dev tun0 table 200
ip -4 rule add iif br-lan lookup 200 priority 200
ফার্মওয়্যার ইন্টারফেস সাধারণত পলিসি রাউটিং বা VPN পলিসি পাতার মতো একই অবজেক্ট দেখায়। সেখানের ডিভাইস তালিকা হাতে লেখা নিয়মের চেয়ে রক্ষণাবেক্ষণে সহজ এবং নিয়মের সিনট্যাক্স বদলানো আপগ্রেডও সাধারণত টিকে যায়।
সিলেক্টরটি সচেতনভাবে বেছে নিন। ইন্টারফেস নিয়ম সংক্ষিপ্ত ও ভবিষ্যৎ-নিরাপদ, কিন্তু সেই ব্রিজে আসা রাউটারের নিজের ম্যানেজমেন্ট ট্রাফিকও ধরে। সোর্স নিয়ম নিখুঁত এবং ডিভাইস তালিকা বদলালেই সম্পাদনা দরকার। পছন্দটি লিখে রাখুন, কারণ একটি ডিভাইস কেন আলাদা আচরণ করে জিজ্ঞাসা করা পরবর্তী ব্যক্তির এটি লাগবে।
স্থানীয় গন্তব্যগুলো টানেলের বাইরে রাখুন
নতুন টেবিল শুধু সেই রুটগুলো জানে যা আপনি তাতে রাখেন। LAN প্রিফিক্স নেই, তাই প্রিন্টার ও NAS ট্রাফিক টানেলের ডিফল্ট অনুসরণ করে অদৃশ্য হয়ে যেত। একটি throw রুট এই টেবিলে লুকআপ শেষ করে সিদ্ধান্তটি মূল টেবিলের হাতে ফিরিয়ে দেয়।
ip -4 route add throw 192.168.8.0/24 table 200
সেই রুট বাদ দিলে স্থানীয় শেয়ার ভেঙে যায়, আর সিলেক্টর উদ্দেশ্যের চেয়ে বড় হলে রাউটারের নিজের ম্যানেজমেন্ট সেশনও হারিয়ে যেতে পারে। তারপর সোর্স প্রশ্নটি মেটান: যে টানেল প্যাকেট এখনও LAN ঠিকানা বহন করে, তাদের জন্য অপর প্রান্তকে ফেরার পথ জানতে হয়, আর টানেলে মাস্কারেডিং সেই শর্ত সরিয়ে দেয় এবং অপর প্রান্ত যে ক্লায়েন্ট পরিচয় দেখত তাও সরিয়ে দেয়।
রানটাইমে যোগ করা নিয়ম ও রুট রিবুট বা ফার্মওয়্যার আপডেটের পরে থাকে না। সেগুলো রাউটারের স্টার্টআপ ব্যবস্থায় যোগ করুন, একবার রিবুট করুন এবং ক্লায়েন্ট থেকে আবার পরীক্ষা করুন: তার পাবলিক ঠিকানা, WAN-এ থাকা উচিত দ্বিতীয় ক্লায়েন্ট, এবং নতুন সংযোগের সময় টানেল কাউন্টার।