ক্লাউড VPN-এ BGP প্রয়োজন: অন্য রাউটিং প্রোটোকলগুলো কেন ব্যর্থ হয়
টানেল চালু, কিন্তু প্রিফিক্স কখনো দেখা যায় না। ম্যানেজড ক্লাউড VPN রাউটিং চুক্তি হিসেবে BGP ব্যবহার করে, তাই আগে সেবার প্রয়োজনীয়তা দেখুন।
IPsec সিকিউরিটি অ্যাসোসিয়েশন চালু, টানেলের কাউন্টার এগোচ্ছে, অথচ ক্লাউড প্রিফিক্সের ট্রাফিক উধাও হয়ে যায়। এরপর অপারেটর কাস্টমার রাউটারে OSPF চালু করার চেষ্টা করেন, আশা করেন প্রতিবেশী তৈরি হবে, কিন্তু কিছুই হয় না। টানেল কখনোই অনুপস্থিত অংশ ছিল না: একটি ম্যানেজড ক্লাউড VPN একটি নির্দিষ্ট রাউটিং চুক্তি প্রকাশ করে, আর বড় প্ল্যাটফর্মে সেই চুক্তি হলো BGP। যতক্ষণ একটি সেশন তৈরি না হয় এবং একটি প্রিফিক্স গৃহীত না হয়, ততক্ষণ টানেল কেবল একটি এনক্রিপ্টেড পথ, যার পেছনে কোনো গন্তব্য নেই।
টানেল চালু, অথচ রুট নেই
ফেজ 1 ও ফেজ 2 সম্পন্ন হওয়া প্রমাণ করে দুই পক্ষ সুরক্ষায় একমত, কিন্তু কোন পক্ষ জানে কোথায় ট্রাফিক পাঠাতে হবে তা নয়। এগুলো আলাদা ব্যর্থতা-ধরনের আলাদা স্টেট মেশিন।
ক্রমানুযায়ী তিনটি প্রশ্ন করুন: প্রিফিক্সটি কি ঘোষণা করা হয়েছিল, প্রতিবেশী কি তা গ্রহণ করেছিল, এবং তা ফরোয়ার্ডিংয়ের জন্য ইনস্টল হয়েছিল কি? যে প্রিফিক্স ঘোষণা করে ফিল্টার করা হয়েছে তা নীতি সমস্যা। যে প্রিফিক্স কখনো ঘোষণা করা হয়নি তা সেশন বা কনফিগারেশন সমস্যা। আর যে প্রিফিক্স গ্রহণ করা হয়েছে কিন্তু ইনস্টল হয়নি তা রুট নির্বাচনের সমস্যা, এবং প্রতিটি উত্তর কনফিগারেশনের ভিন্ন অংশের দিকে ইঙ্গিত করে।
প্রদানকারী আসলে আপনাকে যা দেন
একটি ম্যানেজড VPN গেটওয়ে সীমাহীন রাউটার নয়। প্রদানকারী আপনাকে দেন সমর্থিত পিয়ার ঠিকানা, একটি স্বায়ত্তশাসিত সিস্টেম সেটিং, প্রিফিক্স সীমা এবং একটি নির্দিষ্ট ব্যর্থতা-আচরণসহ একটি গেটওয়ে। সেই সারফেসই পণ্য।
Google Cloud HA VPN-এর জন্য ডাইনামিক BGP রাউটিং নথিভুক্ত করে, যেখানে Cloud Router পিয়ার রুট শেখে এবং VPC-তে উপযুক্ত কাস্টম ডাইনামিক রুট সরবরাহ করে। AWS Site-to-Site VPN স্ট্যাটিক ও ডাইনামিক রাউটিংয়ের মধ্যে পছন্দ নথিভুক্ত করে, এবং BGP লাইভনেস চেককে টানেল ফেইলওভারের জন্য উপযোগী বলে বর্ণনা করে, একই সঙ্গে BGP-বিহীন ডিভাইসের জন্য হেলথ চেকও সমর্থন করে। কোনো প্ল্যাটফর্মের আচরণ অন্য প্ল্যাটফর্মের পণ্যের নাম থেকে অনুমান করা উচিত নয়।
ব্যবহারিক ফল হলো, আপনি আগে ম্যানেজড মোড বেছে নেন, তারপর সমর্থিত নিয়ন্ত্রকগুলো পড়েন। যে নকশা এমন সংলগ্নতার ধরন ধরে নেয় যা সেবা দেয় না, তা কাস্টমার রাউটারে সমাধান করার কনফিগারেশন সমস্যা নয়।
টানেল সুরক্ষা ও পৌঁছানোর ক্ষমতা আলাদা কাজ
IPsec টানেলের জন্য নির্বাচিত ট্রাফিক সুরক্ষা দেয়। BGP সেই পৌঁছানোর তথ্য যোগায় যা একটি প্রিফিক্সকে যোগ্য করে। কার্যকর টানেল প্রমাণ করে না যে প্রত্যাশিত প্রিফিক্স ঘোষিত, গৃহীত বা ইনস্টল হয়েছে।
ভাবুন একটি শাখা দুটি যোগ্য টানেল পথে 10.42.0.0/16 ঘোষণা করে। একটি ব্যবহারযোগ্য পথ সরিয়ে দিন, আর কারও প্রতিটি ওয়ার্কলোডের রুট সম্পাদনা না করেই রুট নির্বাচন বদলে যেতে পারে। সনাক্তকরণ, রুট নির্বাচন ও অ্যাপ্লিকেশন পুনরুদ্ধার তাৎক্ষণিক নয়, এবং বিভিন্ন ডিপ্লয়মেন্টে অভিন্ন নয়, তাই ফেইলওভার পরীক্ষাকে পুরো ক্রমটি পর্যবেক্ষণ করতে হবে, প্রথম যে প্যাকেটটি পার হয় তা নয়।
ক্লাউড প্রিফিক্স যখন পৌঁছানোর বাইরে, ক্রিপ্টো স্পর্শ করার আগে সেশন স্টেট ও শেখা রুট দেখুন। পেছনে রুট ছাড়া চালু থাকা SA এই উপসর্গের সবচেয়ে সাধারণ রূপ।
OSPF-এর অনুমান কোথায় ভাঙে
একটি IPsec টানেলের ভিতরে OSPF, IS-IS বা অন্য প্রোটোকল সম্পূর্ণ সম্ভব একটি স্ব-ব্যবস্থাপিত অ্যাপ্লায়েন্সে, যেখানে দুই প্রান্ত ও ফরোয়ার্ডিং নকশা আপনার নিজের। এই সত্য এমন ম্যানেজড সেবা সম্পর্কে কিছুই বলে না, যা ডাইনামিক রাউটিং মোড হিসেবে কেবল BGP দেয়।
প্রস্তাবিত নকশার যদি এমন সংলগ্নতা দরকার হয় যা সেবা সমর্থন করে না, তবে স্থাপত্য সচেতনভাবে বদলান। বিকল্পের মধ্যে রয়েছে VPC-তে স্ব-ব্যবস্থাপিত অ্যাপ্লায়েন্স, যেখানে সেবা সমর্থন করে সেখানে স্ট্যাটিক রাউটিং, বা ভিন্ন কানেক্টিভিটি পণ্য। কেবল কাস্টমার রাউটারে প্রোটোকল কনফিগার করা ক্লাউডের দিকে অনুপস্থিত প্রতিবেশী যোগ করতে পারে না, আর তা প্রিফিক্সকে হাজিরও করবে না।
এক বিক্রেতার উত্তর অন্য বিক্রেতার গেটওয়েতে নিয়ে যাবেন না। একই শব্দ, যেমন ডাইনামিক রাউটিং বা টানেল ফেইলওভার, ভিন্ন প্রক্রিয়া ও ভিন্ন সীমা বোঝাতে পারে।
সেবার প্রয়োজনীয়তা পড়ুন, তারপর নকশা করুন
প্রথম কনফিগারেশন লাইনের আগে লিখে রাখুন প্রতিবেশী ঠিকানা, স্বায়ত্তশাসিত সিস্টেম নম্বর, যে প্রিফিক্সগুলো ঘোষণা ও গ্রহণ করবেন, রুটের সীমা এবং টানেল ব্যর্থ হলে প্রত্যাশিত আচরণ। এই পাঁচটি বিষয়ই সেই চুক্তি, যার বিপরীতে আপনি নকশা করছেন।
তারপর একই ক্রমে যাচাই করুন: সেশন প্রতিষ্ঠিত, প্রিফিক্স প্রাপ্ত, VPC রুট টেবিলে রুট উপস্থিত, এবং একটি সেবা ঠিকানায় সত্যিকারের প্রবাহ। জোরপূর্বক ফেইলওভারের পরে পুনরাবৃত্তি করুন, কারণ পুনরায় প্রতিষ্ঠিত সেশন ভিন্ন রুট সেট নিয়ে ফিরতে পারে। নকশা যদি সাব-সেকেন্ড কনভার্জেন্সের উপর নির্ভর করে, তবে ধরে নেওয়ার বদলে তা মাপুন।
পরিবর্তন রেকর্ডের সঙ্গে সেবার চুক্তিটি রাখুন। পরে কেউ যখন জিজ্ঞাসা করবে টানেল কেন OSPF চালাতে পারে না, উত্তরটি প্রোটোকলের সীমাবদ্ধতা নয়, পণ্যের সীমানা, এবং রেকর্ডে তা লেখা থাকা উচিত।