IOS থেকে ASA-তে VPN মাইগ্রেশন: চুক্তিটি অনুবাদ করুন, কমান্ড নয়
ক্রিপ্টো ম্যাপ কোনো ASA টানেল-গ্রুপ নয়। চুক্তির কোন অংশ স্থানান্তরিত হয়, কোনটি নতুন করে গড়তে হবে, এবং কোন পরীক্ষা প্রমাণ করে সেবাটি কাজ করছে।
ASA মাইগ্রেশনের রেফারেন্স হিসেবে আসা একটি IOS কনফিগারেশন এমন একটি চুক্তি বর্ণনা করে যা এক প্ল্যাটফর্মের সিনট্যাক্সে মোড়া। পিয়ার ঠিকানা, পরিচয় ও সুরক্ষিত রেঞ্জগুলোই চুক্তি। কী রিং, প্রোফাইল ও ক্রিপ্টো ম্যাপের শৃঙ্খল হলো IOS যেভাবে তা প্রকাশ করে, আর ASA একই অভিপ্রায় টানেল গ্রুপ ও তাদের বৈশিষ্ট্যের মাধ্যমে প্রকাশ করে। দ্বিতীয় অংশটি কপি করা কখনোই কাজ করে না, আর কেবল প্রথমটি কপি করলে কাজ অর্ধেক থেকে যায়।
নিচের পাঁচটি ধাপ ক্রমানুসারে অনুসরণ করুন, এবং যেখানে দুই প্ল্যাটফর্ম ভিন্ন শব্দ নয় বরং ভিন্ন বিষয় বর্ণনা করে সেখানে থামুন।
ধাপ 1: চুক্তিকে সিনট্যাক্স থেকে আলাদা করুন
হ্যান্ডঅফটি এমন চাহিদা হিসেবে লিখুন যাতে দুই প্রশাসকই একমত হন। চারটি সারি প্রায় সবটাই ঢেকে দেয়: পিয়ার কোথায় এবং কোন পক্ষ শুরু করে, প্রতিটি পক্ষ কীভাবে নিজের পরিচয় প্রমাণ করে, কোন সুরক্ষা গ্রহণযোগ্য, এবং কোন অ্যাপ্লিকেশনগুলোকে টানেল পেরিয়ে টিকে থাকতে হবে। এই সারিগুলোর কোনোটিই কোনো কমান্ডের উল্লেখ করে না।
মূল লেখাটি নির্দেশনা নয়, প্রমাণ হিসেবে রাখুন। একটি প্ল্যাটফর্মে থাকা আর অন্যটিতে না থাকা লাইন সিনট্যাক্সের পার্থক্য, যতক্ষণ না আপনি যাচাই করেছেন যে একই চাহিদা অন্য উপায়ে পূরণ করা যায়।
| Requirement | What must be agreed |
|---|---|
| Peer delivery | Outer endpoint, address family, NAT view, initiating side |
| Authentication | IKE version, expected identities, credential method and delivery |
| Data protection | Permitted suites, protected ranges, intentional translation |
| Application | Routes, return routes, resources beyond the tunnel |
ধাপ 2: প্রতিটি প্ল্যাটফর্মে অবজেক্টগুলোর নাম দিন
IOS XE-তে একটি IKEv2 কী রিং একটি IKEv2 প্রোফাইলকে পুষ্ট করে, এবং সেই প্রোফাইল একটি ক্রিপ্টো ম্যাপ বা IPsec প্রোফাইলের মাধ্যমে যুক্ত হয়। ASA-তে একটি টানেল গ্রুপ কানেকশন প্রোফাইল ও তার IPsec বৈশিষ্ট্য ধারণ করে, আর ক্রিপ্টো ম্যাপ তার দিকে নির্দেশ করে, যেমনটি কানেকশন-প্রোফাইল নির্দেশিকা বর্ণনা করে। এগুলো ভিন্ন উত্তরাধিকারসম্পন্ন ভিন্ন অবজেক্ট গ্রাফ, তাই সারি ধরে ধরে মিলিয়ে তৈরি কনফিগারেশন পার্স হয় কিন্তু সংযোগ হয় না।
লক্ষ্য অবজেক্টগুলো চাহিদার সারি থেকে গড়ুন, উৎসের সারি থেকে নয়। সারিগুলো সম্পূর্ণ হলে লক্ষ্য কনফিগারেশন একটি নকশা সিদ্ধান্ত। সম্পূর্ণ না হলে কোনো পরিমাণ কমান্ড অনুবাদ অনুপস্থিত অভিপ্রায় যোগাবে না।
ধাপ 3: কেবল ঠিকানা নয়, পরিচয়ও বহন করুন
পরিচয়ই সেই অংশ যা নিঃশব্দে ভেঙে পড়ে। যে পিয়ার ঠিকানা দিয়ে প্রমাণ করে তার আচরণ শংসাপত্রের সাবজেক্ট বা FQDN দিয়ে প্রমাণ করা পিয়ারের চেয়ে আলাদা, এবং দুই প্ল্যাটফর্ম সেই প্রত্যাশা ভিন্ন ভিন্ন জায়গায় লিপিবদ্ধ করে। পরীক্ষা করা সহজ বলে একটি শেয়ার করা সিক্রেট প্রতিস্থাপন না করে অভীষ্ট পরিচয় ও বিশ্বাসের শৃঙ্খল রক্ষা করুন।
প্রাক-শেয়ার্ড সিক্রেটটি তুলনার নোট ও টিকিট থেকে দূরে রাখুন। এটি কার মালিকানায় আছে এবং অনুমোদিত চ্যানেলে কীভাবে চলে তা লিখে রাখুন, এবং মনে রাখুন যে ডকুমেন্টেশনের উদাহরণের একটি প্লেসহোল্ডার গ্রাহকের শংসাপত্র নয়।
ধাপ 4: কাটওভারের আগে সুরক্ষা নিয়ে একমত হন
পুরনো ক্রিপ্টোগ্রাফিক সেটিংস কেবল সরবরাহকৃত লেখায় আছে বলে বহন করবেন না। উভয় স্থাপিত পিয়ার বর্তমানে যে স্যুটগুলো সমর্থন করে তার একটি ছেদ নিয়ে একমত হন, এবং পরিবর্তনের জানালার আগে অন্য প্রশাসকের সঙ্গে তা নিশ্চিত করুন। সেই ছেদ যদি বিদ্যমান পিয়ারের প্রত্যাশার চেয়ে আলাদা হয়, তবে এটি স্থানীয় সম্পাদনা নয়, সমন্বিত পরিবর্তন।
সম্মত সেটটি লিখে রাখুন। একটি ফোন কল সম্পর্কে ভিন্ন স্মৃতিসম্পন্ন দুই প্রশাসকই কাটওভারে দ্বিতীয় ধাপে অমিল তৈরি হওয়ার কারণ।
ধাপ 5: সিনট্যাক্স নয়, সেবাটি যাচাই করুন
প্রথমে লক্ষ্যের কার্যকর অবজেক্ট, তারপর গৃহীত অ্যাসোসিয়েশন, তারপর একটি বাস্তব অ্যাপ্লিকেশন প্রবাহ ও তার উত্তর যাচাই করুন। ত্রুটি ছাড়া একটি কমান্ড দেওয়া কেবল সিনট্যাক্স প্রমাণ করে, আর কিছু নয়। যে টানেল উঠে আসে কিন্তু কোনো ট্রাফিক বহন করে না, সাধারণত বোঝায় সুরক্ষিত রেঞ্জ বা ফেরতের রুট অন্য পক্ষের সঙ্গে মিলছে না, আর এটি কমান্ডের সমস্যা নয়, চাহিদার সারির সমস্যা। আবার ক্রিপ্টো ম্যাপে হাত দেওয়ার আগে দুই পক্ষের সুরক্ষিত রেঞ্জ তুলনা করুন।
আপনি কী যাচাই করেছেন, কোন ঠিকানা দিয়ে, কোন পক্ষ থেকে, তা লিপিবদ্ধ করুন। সেই নথিই VPN চালু আছে বলে একটি অস্পষ্ট দাবিকে এমন কিছুতে বদলে দেয় যা অন্য প্রশাসক স্বাধীনভাবে যাচাই করতে পারেন।
কী ফেরত দিতে হবে
চাহিদার ম্যাট্রিক্স, লক্ষ্য কনফিগারেশনের সারসংক্ষেপ এবং যাচাইয়ের ফলাফল পাঠান। কোন উৎস সেটিংস আপনি বহন করেননি এবং কেন, তা স্পষ্টভাবে জানান। সেই তালিকাটি অনূদিত কনফিগারেশনের চেয়ে বেশি কাজে লাগে, কারণ পরবর্তী মতভেদ সেখান থেকেই শুরু হবে।
উৎসের লেখাটিও টিকিটের সঙ্গে রাখুন। এটি কী চাওয়া হয়েছিল তা নথিভুক্ত করে, আর ম্যাট্রিক্স কী নিয়ে একমত হওয়া গেছে তা।