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

একটি প্যাকেট রাউটার হয়ে অনুসরণ করুন

10.90.0.25-এ থাকা একটি ক্লায়েন্ট নিন, যে একটি পাবলিক HTTPS সেবা খুলছে। সেই গন্তব্যটি আদৌ টানেলে ঢুকবে কি না, তা ক্লায়েন্টের নিজের নীতির সিদ্ধান্ত। একবার ঢুকলে রাউটার প্যাকেটটি ডিক্রিপ্ট করে একটি ভার্চুয়াল ইন্টারফেসে পৌঁছে দেয়, সেখান থেকে এটি পাবলিক আপলিংকে রাউট হয়।

সেই ভার্চুয়াল ইন্টারফেসই অনুবাদের ভেতরের দিক। পাবলিক আপলিংক হলো বাইরের দিক। ভূমিকাগুলো উল্টে গেলে বা না থাকলে, প্যাকেটটি হয় ব্যক্তিগত উৎস নিয়ে বেরিয়ে যায়, নয়তো অনুবাদের আগেই ফেলে দেওয়া হয়।

StageQuestion to answer
VPN clientDoes the client's policy put this destination inside the tunnel?
Decrypted ingressWhich virtual interface receives the inner packet?
Internet egressWhich route, access policy and source translation apply?
ReplyIs the client's flow translated back before it is delivered over the tunnel?

ক্লায়েন্ট পুলের সঙ্গে অনুবাদ নীতি মিলান

NAT নিয়মে সেই পরিসরই উল্লেখ করতে হবে যা ক্লায়েন্টরা আসলে পায়, অফিসের LAN নয় যা কেবল একই আপলিংক ভাগ করে। কেবল স্থানীয় সাবনেট কভার করা নিয়ম দূরবর্তী ক্লায়েন্টদের বাদ দেয়, যদিও দুটোই একই ইন্টারফেস দিয়ে বেরোয়।

ip access-list extended NAT-TUNNEL
 permit ip 10.90.0.0 0.0.0.255 any
ip nat inside source list NAT-TUNNEL interface GigabitEthernet0/0/0 overload

ব্যক্তিগত সাইটের ব্যতিক্রমগুলো আলাদা রাখুন। অভ্যন্তরীণ গন্তব্যে যাওয়া ট্রাফিক এর মূল উৎস ধরে রাখতেই হবে, নইলে গন্তব্যটি এমন ঠিকানায় উত্তর দেবে যেখানে পৌঁছানো যায় না, এবং ফেরার পথটি রাউটিং লুপের মতো দেখতে ব্যর্থ হবে।

মোতায়েন করা নকশার প্রকৃত ইন্টারফেসগুলোতে ভূমিকাগুলো প্রয়োগ করুন। পুরোনো Easy VPN উত্তরের কপি করা Virtual-Template অংশ কোনো সম্পূর্ণ বর্তমান কনফিগারেশন নয়, আর ব্যবহৃত টানেলের ধরনই ঠিক করে কোন ইন্টারফেস ডিক্রিপ্ট করা প্যাকেট পাবে।

বাইরের পরিবহন ও ভেতরের অনুবাদ আলাদা রাখুন

ডিক্রিপ্ট করা অ্যাপ্লিকেশন উৎস অনুবাদ করা আর IKE বা সুরক্ষিত প্যাকেট NAT ডিভাইসের মধ্য দিয়ে উপর দিকে পাঠানো একই কাজ নয়। প্রথমটি বদলায় ইন্টারনেট ক্লায়েন্টের অনুরোধের উৎস হিসেবে কী দেখে; দ্বিতীয়টি মধ্যবর্তী বাক্সের ওপারেও টানেল সচল রাখে।

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

অন্যরকম বদল করে কোনোটিই ঠিক হয় না। নিয়ম সম্পাদনার আগে দেখুন আপনি কোন প্রবাহ দেখছেন।

দুই সীমান্তেই যাচাই করুন

ইন্টারনেট সীমান্তে অ্যাপ্লিকেশনের উৎস, আর ফেরার পথে পুনরুদ্ধার করা গন্তব্য পড়ুন। প্রথমটি বলে অনুবাদ হয়েছে কি না; দ্বিতীয়টি বলে বিপরীত ম্যাপিং সঠিক ক্লায়েন্টের কাছে ফিরেছে কি না।

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

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

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