IKE-SA প্রতিষ্ঠিত, CHILD-SA অনুপস্থিত: ডেটা কোথায় থামে
প্রতিষ্ঠিত IKE-SA মানে এই নয় যে ডেটা প্রবাহিত হচ্ছে। CHILD এন্ট্রিগুলো পড়ুন, সিলেক্টর ও কাউন্টার যাচাই করুন, এবং যে স্তরটি সত্যিই ব্যর্থ হয়েছে তার নাম দিন।
ক্লায়েন্ট বলে প্রমাণীকরণ সফল হয়েছে, IKE স্ট্যাটাস সুস্থ দেখাচ্ছে, আর প্যাকেট কাউন্টার শূন্যেই আছে। এই সমন্বয় কোনো বিরোধ নয়: IKEv2 নিয়ন্ত্রণ সম্পর্ক ও ডেটা সম্পর্ককে আলাদা রাখে, এবং প্রথমটি সফল হতে পারে যখন দ্বিতীয়টি কখনোই ওঠে না। অভিভাবক স্তর দরকষাকষি সামলায়, সন্তান স্তর ট্রাফিক সামলায়। টানেলকে পড়ে গেছে বলার আগে দুই স্তরকে আলাদা করে পড়ুন।
দুটি SA কী কাজ করে
IKE-SA হলো নিয়ন্ত্রণ সম্পর্ক: এটি দুই প্রান্তকে প্রমাণীকরণ করে এবং সুরক্ষা নিয়ে দরকষাকষি, প্রতিস্থাপন ও অপসারণের বিনিময় বহন করে। এটি কখনোই আপনার অ্যাপ্লিকেশনের প্যাকেট বহন করে না। তাই সুস্থ অভিভাবক কেবল এটুকু প্রমাণ করে যে দুই প্রান্ত নিরাপত্তা নীতিতে একমত হতে পারে, এর বেশি নয়।
CHILD-SA হলো ডেটা সম্পর্ক, অভিভাবকের অধীনে তৈরি, একটি সুরক্ষিত সেটের জন্য ট্রাফিক সিলেক্টর ও কী-উপাদান নিয়ে। এটি দিকনির্ভর, তাই স্ট্যাটাস আউটপুট আলাদা শনাক্তকারীসহ একটি অন্তর্গামী ও একটি বহির্গামী সংযোগ তালিকাভুক্ত করে, এবং সাধারণত প্রতিটি দিকের জন্য আলাদা কাউন্টার দেখায়। এই জোড়া বাঁধাইয়ের কারণেই এক দিক কাজ করতে পারে আর অন্য দিকটি পড়ে যায়, এবং টানেল উঠে গেছে বাক্যটি ট্রাফিক সম্পর্কে কিছুই বলে না। একটি অভিভাবক একাধিক সন্তানও ধারণ করতে পারে, আর এভাবেই একটি একক সংযোগ-লেবেল আপনার প্রয়োজনীয়টিকে লুকিয়ে রাখে।
সংযোগ-লেবেল নয়, সন্তান এন্ট্রিগুলো পড়ুন
অভিভাবকের স্ট্যাটাস ও সন্তানদের তালিকা একসঙ্গে খুলুন, এবং যে সন্তানের সিলেক্টর আপনার পরীক্ষাধীন প্রবাহের সঙ্গে মেলে তাকে খুঁজুন। তার ট্রাফিক সিলেক্টর, দরকষাকষি করা অ্যালগরিদম, তার আয়ু এবং দুই দিকের কাউন্টার লিখে রাখুন। একাধিক সন্তান থাকলে অবস্থান নয়, সিলেক্টর মিলিয়ে দেখুন, কারণ কী পুনর্নবীকরণের পরে অবস্থান বদলে যায়। কিছু বদলানোর আগে শনাক্তকারীগুলো লিখে নিন।
অভিভাবক যদি আপনার পরীক্ষাধীন সেট থেকে ভিন্ন ট্রাফিক সেট দেখায়, তাহলে আপনি ভুল সন্তান পড়ছেন। এটি সিলেক্টরের সমস্যা, ভাঙা টানেল নয়।
টাইমস্ট্যাম্পও লিপিবদ্ধ করুন। কী পুনর্নবীকরণ একটি স্তর প্রতিস্থাপন করতে পারে, আর অন্যটি প্রতিষ্ঠিত থাকে, এবং নতুন দেখানো সন্তানটি আপনার নজরে থাকা সন্তানের প্রতিস্থাপন হতে পারে। সন্তান হারিয়ে গেছে সিদ্ধান্তে আসার আগে শনাক্তকারী মিলিয়ে দেখুন।
যখন কোনো সন্তান নেই
প্রমাণীকরণ সফল হতে পারে, কিন্তু ডেটা প্রস্তাব বা সিলেক্টর ব্যর্থ হলে অভিভাবক কোনো সন্তান ছাড়াই থেকে যায়। স্বাভাবিক কারণ অ্যালগরিদমের অমিল বা ট্রাফিক-সিলেক্টরের অমিল, এবং দুই প্রান্তই প্রত্যাখ্যাত প্রস্তাবটি লগ করে। দুই প্রান্তই পড়ুন, কারণ আপনি যে প্রান্তে পৌঁছান সেটি কেবল প্রত্যাখ্যানটাই দেখাতে পারে। অভিভাবককে পুনরায় চালু না করে অমিলটি সারান, কারণ তাতে একই ব্যর্থ দরকষাকষি আবার ঘটে এবং প্রমাণে একটি বিভ্রাট যোগ হয়।
বারবার পুনঃপ্রতিষ্ঠিত হওয়া অভিভাবক আর সন্তান ছাড়া টিকে থাকা অভিভাবক ভিন্ন ব্যর্থতা। দ্বিতীয় ক্ষেত্রে লগগুলো প্রত্যাখ্যাত প্রস্তাবের নাম বলে, তাই নীতি সম্পাদনার আগে দুই প্রান্ত থেকে সেই প্রস্তাব সংগ্রহ করুন।
সন্তান আছে কিন্তু কাউন্টার শূন্যেই থাকে
সন্তানের সিলেক্টরের সঙ্গে মেলে এমন একটি নতুন অনুরোধ পাঠান। সেই নীতির বাইরের কোনো গন্তব্যে পাঠানো অনুরোধ তার কাউন্টার নাড়াবে না, যত সফলই দেখাক।
যে রুট প্রবাহটিকে টানেলে ঠেলে দেওয়ার কথা, তা যাচাই করুন, কারণ ট্রাফিকহীন সন্তান প্রায়ই এমন সন্তান যেখানে কিছুই রাউট হয় না। কেবল এক দিকে সরতে থাকা কাউন্টার ফেরার পথে সিলেক্টর বা নীতির অমিলের দিকে ইঙ্গিত করে। স্থানীয় দিকে হাত দেওয়ার আগে দূরবর্তী প্রান্তের ফেরত-সিলেক্টর দেখুন। নতুন অনুরোধ আপনাকে দুই প্রান্তের স্ট্যাটাস আউটপুটের সঙ্গে মেলানোর একটি টাইমস্ট্যাম্পও দেয়।
প্রতিবেদনে স্তরটির নাম দিন
ব্যর্থতাটি রায় নয়, তিনটি ক্ষেত্র হিসেবে জানান: যে স্তর ব্যর্থ হয়েছে, যে বিনিময় বা সন্তান আপনি দেখেছেন, এবং আপনার হাতে থাকা প্রমাণ। স্তর তিনটির একটি: অভিভাবক কখনোই প্রতিষ্ঠিত হয়নি, সন্তানের দরকষাকষি প্রত্যাখ্যাত হয়েছে, বা সন্তান আছে কিন্তু ট্রাফিক তার কাছে পৌঁছাচ্ছে না। প্রমাণ হলো সিলেক্টর ও কাউন্টারসহ সন্তানের শনাক্তকারী, অথবা দুই লগ থেকে উদ্ধৃত প্রত্যাখ্যাত প্রস্তাব। এটি যে পড়বে সে কোন VPN বলতে চাইছেন তা জিজ্ঞেস না করেই গুরুত্বপূর্ণ বিনিময়ের কাছে যেতে পারবে।
অফিসিয়াল IKEv2-এর strongSwan ডকুমেন্টেশন দেখায় কীভাবে এই স্তরগুলো স্ট্যাটাস আউটপুটে দেখা যায়। আপনি যে সন্তান পরীক্ষা করেছেন তার আউটপুট সংযুক্ত করুন, কেবল অভিভাবকের সারসংক্ষেপ নয়।