একটি চালু, শূন্য সংযোগরত: strongSwan-এর ওই লাইনটি কী গোনে
পুরোনো শিরোনামটি IKE অ্যাসোসিয়েশন গোনে, সাবনেট বা চাইল্ড SA নয়, তাই আগে লোড করা সংজ্ঞা ও ইনস্টল করা চাইল্ড পড়ুন।
Security Associations (1 up, 0 connecting) বলা একটি স্ট্যাটাস লাইন পড়ুন, দেখে মনে হয় এটি একটি সচল টানেলের প্রতিবেদন। দুটি সাবনেট একই সময়ে এর মধ্য দিয়ে ট্রাফিক পাঠাচ্ছে, তাই সংখ্যাটি মিথ্যা বলছে বলে মনে হয়। এটি মিথ্যা বলছে না; এটি IKE অ্যাসোসিয়েশন গোনে, আর তাদের একটি একাধিক চাইল্ড ধারণ করতে পারে। কোনো প্রস্তাব বা রুটে হাত দেওয়ার আগে ইনভেন্টরিগুলো পড়ুন।
কেন শিরোনাম ও ট্রাফিক একমত হয় না
পুরোনো stroke আউটপুট তার মোটকে সিকিউরিটি অ্যাসোসিয়েশন বলে এবং তা IKE অ্যাসোসিয়েশন ম্যানেজার থেকে নেয়। প্রতিটি প্রতিষ্ঠিত IKE অ্যাসোসিয়েশন একটি করে যোগ করে, তার নিচে কতগুলো CHILD SA আছে তা নির্বিশেষে। একটি IKEv2 প্যারেন্ট সাধারণত কয়েকটি চাইল্ড বহন করে, প্রতি ট্রাফিক-সিলেক্টর জোড়ার জন্য একটি, আর একটি চাইল্ডের সমঝোতাকৃত সিলেক্টর একাধিক ঠিকানা বা প্রিফিক্স ঢাকতে পারে। তাই আপনার কনফিগারেশনের ঠিকানার সংখ্যার সঙ্গে শিরোনামের সংখ্যার কোনো নির্দিষ্ট সম্পর্ক নেই।
আধুনিক আউটপুট মাঝে মাঝে পুরোনো “up” শব্দের বদলে মোট দেখায়, আর swanctl-পরিচালিত ডেমন পুরোনো stroke সেটিংস দ্বারা একেবারেই চালিত হয় না। সংস্করণ জুড়ে শব্দটিও ধরে নেবেন না, গণনার নিয়মও নয়।
যা বদলানোর আগে তিনটি ইনভেন্টরি মিলিয়ে দেখুন
যা লোড হয়েছে তা দিয়ে শুরু করুন, তারপর যা সমঝোতা হয়েছে, তারপর যা সত্যিই প্যাকেট চলাচল করাচ্ছে। এগুলো তিনটি আলাদা প্রশ্ন এবং প্রতিটির নিজস্ব কমান্ড আছে।
swanctl --list-conns
swanctl --list-sas
প্রথমটি ডেমন যে সংযোগ-সংজ্ঞা গ্রহণ করেছে তা তালিকাভুক্ত করে। দ্বিতীয়টি প্রতিষ্ঠিত IKE অ্যাসোসিয়েশন তাদের চাইল্ডসহ তালিকাভুক্ত করে, আর সেখানেই আসল অনুক্রম দেখা যায়। ফাইলে থাকা কিন্তু প্রথম তালিকায় না থাকা সংজ্ঞা কখনো লোড হয়নি, এবং ইনিশিয়েটরের যতবার পুনঃচেষ্টাই হোক তা ঠিক হবে না। বরং আপনি যদি পুরোনো ইন্টারফেস চালান, সমতুল্য জোড়া হল ipsec statusall এবং একই swanctl তালিকা, নির্ভর করে কোন প্লাগইন কনফিগারেশনের মালিক তার উপর। একই হোস্টে দুই ডেমনের মধ্যে টুল মিশাবেন না এবং একটি সুসংগত উত্তর আশা করবেন না।
swanctl --list-sas --raw | head -40
ip -s xfrm state
কাঁচা রূপটি শনাক্তকারী ও সিলেক্টর তুলনার জন্য দৃশ্যমান রাখে, আর কার্নেল স্টেট তালিকা দেখায় স্ট্যাক কী ইনস্টল করেছে বলে মনে করে। যখন ডেমন ও কার্নেল একমত হয় না, তখন হয় ডেমন বিদ্যমান চাইল্ডকে ঘিরে পুনরায় চালু হয়েছে, নয়তো কার্নেল অবজেক্টটি তার নিচ থেকে সরানো হয়েছে।
মোট নয়, অনুক্রম পড়ুন
দুই চাইল্ডসহ একটি দৃষ্টান্তমূলক প্রতিষ্ঠিত প্যারেন্ট দেখতে এক নোডের মতো যার নিচে দুই চাইল্ড, প্রত্যেকে নিজের অবস্থা ও মোড দিয়ে চিহ্নিত। কেউ ড্যাশবোর্ড থেকে পেস্ট করা সারাংশ পড়ার বদলে প্রকৃত আউটপুট ফেলুন এবং চাইল্ডগুলো নিজেই গুনুন।
swanctl --list-sas
swanctl --list-conns --raw | grep -A4 'accounting'
দুই ইনস্টল করা চাইল্ডসহ এক প্যারেন্ট একটি সুস্থ দুই-সাবনেট টানেল। এক ইনস্টল করা ও এক অনুপস্থিত চাইল্ডসহ এক প্যারেন্ট ভিন্ন পরিস্থিতি, আর অনুপস্থিত চাইল্ডের সিলেক্টরই দূর প্রান্তের প্রস্তাবের সঙ্গে তুলনা করার জিনিস। কি পুনঃনির্মাণের সময় একটি পুরোনো চাইল্ড ও তার প্রতিস্থাপক অল্প সময়ের জন্য একসঙ্গে দেখা দিতে পারে। স্ন্যাপশটের সঙ্গে টাইমস্ট্যাম্প রাখুন, কারণ পুনঃনির্মাণের মাঝখানে নেওয়া গণনা নকল দেখায় আর পরে নেওয়া গণনা ক্ষতি দেখায়।
লোড করা, ইনস্টল করা ও ট্রাফিক চলাচল
ইনস্টল করা অবস্থায় থাকা চাইল্ডের সমঝোতাকৃত প্যারামিটার ও একটি কার্নেল এন্ট্রি থাকে। তবে এটি অবশ্যই কোনো প্যাকেট বহন করেনি: সিলেক্টর আপনার প্রত্যাশিত ট্রাফিকের চেয়ে সংকীর্ণ হতে পারে, আর টানেল তা দেখার আগেই একটি রুট সেই ট্রাফিক অন্যত্র পাঠাতে পারে। অনুমোদিত হোস্ট থেকে সমঝোতাকৃত সিলেক্টরের সঙ্গে মেলে এমন প্রবাহ পাঠান, তারপর শিরোনামের বদলে চাইল্ডের কাউন্টার পড়ুন। মেলে এমন ট্রাফিক তৈরি করলেও শূন্যে থাকা কাউন্টার IKE নয়, রাউটিং বা পলিসির দিকে ইঙ্গিত করে।
swanctl --initiate --child accounting
swanctl --list-sas --raw | grep -E 'bytes|packets'
নামযুক্ত চাইল্ড শুরু করা একটি ইচ্ছাকৃত কাজ যার দৃশ্যমান ফল আছে, এবং এটি “কেউ চায়নি বলে সংযোগটি নিষ্ক্রিয়” আর “সংযোগটি উঠতেই পারে না” — এই দুটিকে আলাদা করে। চাহিদাভিত্তিক ট্র্যাপ পলিসি ঠিক প্রথম ক্ষেত্রটির মতো আচরণ করে, তাই এটিকে ত্রুটি বলার আগে সংযোগের সূচনা সেটিংস পড়ুন।
যখন গণনাটি সত্যিই ভুল
লোড করা ইনভেন্টরিতে কোনো সংজ্ঞা না থাকলে কনফিগারেশন লোডিং এবং কোন ডেমন দৃষ্টান্ত চলছে তা দেখুন। যদি লোড হয় কিন্তু কখনো সমঝোতায় না আসে, প্রস্তাব, প্রমাণীকরণ প্রসঙ্গ ও সিলেক্টর সমকক্ষের সঙ্গে তুলনা করুন, একবারে একটি চাইল্ড। প্রতি চেষ্টায় একটি উপাদান বদলান এবং যে শনাক্তকারী বদলেছেন তা লিখে রাখুন। কোন প্রস্তাব তা জানলে ফিরিয়ে দেওয়া তুচ্ছ; কখনো আলাদা না করা তিনটি সম্পাদনার পরে তা অনুমান।
আগে ভুল পাঠটি ঠিক করুন। “অনুপস্থিত” দ্বিতীয় টানেলের বেশিরভাগ প্রতিবেদন এক প্যারেন্টের নিচে দুই ইনস্টল করা চাইল্ডে শেষ হয়, আর একমাত্র যা কখনো ভাঙা ছিল তা হল সেই সারাংশ লাইন, যাকে মানুষ অনুক্রমের বদলে বিশ্বাস করেছিল।