OpenVPN Access Server বনাম Community: আসলে কী স্থানান্তরিত হয়
Community Edition আর Access Server একই OpenVPN প্রোটোকল ভাগ করে, কিন্তু ব্যবস্থাপনা স্তর নয়। কী চলে যায়, কী নতুন করে গড়তে হয় এবং কে সহায়তা দেয় তা তুলনা করুন।
প্রোফাইল যায়; ব্যবহারকারীর তালিকা থাকে পিছনে। Access Server আর Community Edition-এর মধ্যে সরে যাওয়া কোনো দল কাটওভারের এক ঘণ্টা পরেই এই ফাঁক দেখতে পায়, যখন তাদের প্রথম ক্লায়েন্ট প্রমাণীকরণ করে আর তারপর কোনো গ্রুপ নীতি নেই, কোনো ব্যবহারকারীভিত্তিক রুট নেই, নিজে পাসওয়ার্ড রিসেটও নেই। দুটি পণ্যই একই প্রোটোকল বলে ও একই ক্লায়েন্ট গ্রহণ করে, আর ঠিক এজন্যই পরিকল্পনার সময় ফাঁকটা অদৃশ্য থাকে। আপনি আসলে বেছে নিচ্ছেন ব্যবস্থাপনা স্তর আর যারা সেটির মালিক।
সিদ্ধান্তটিকে বৈশিষ্ট্যের সারণি নয়, জরিপের প্রশ্ন হিসেবে দেখুন। জিজ্ঞাসা করুন কে ব্যবহারকারী তৈরি করে, কে সার্টিফিকেট প্রত্যাহার করে, আর 02:00-এ কে ফোন ধরে।
.ovpn ফাইল কেন সেটআপ বহন করে না
একটি .ovpn প্রোফাইল এক ক্লায়েন্টের সঙ্গে এক সার্ভারের সম্পর্ক বর্ণনা করে: দূরবর্তী হোস্ট, প্রোটোকল, CA, ক্লায়েন্ট সার্টিফিকেট ও কী, এবং যেকোনো ইনলাইন tls-crypt উপাদান। ফাইলটি নতুন ইনস্টলে ফেলুন, ক্লায়েন্ট তবু হ্যান্ডশেক সম্পন্ন করে, তাই মাইগ্রেশন শেষ দেখায়। এতে ব্যবহারকারী, তাদের গ্রুপ, তাদের স্ট্যাটিক রুট, বা কে সংযোগ করতে পারবে তা ঠিক করা নীতি কিছুই তালিকাভুক্ত নেই। সেই রেকর্ডগুলো সার্ভারের নিজস্ব স্টোরেজে থাকে, আর দুটি পণ্য সেগুলো ভিন্ন আকারে রাখে।
Community Edition-এ সমতুল্যগুলো আপনার রাখা ফাইল: প্রতি ক্লায়েন্টের ifconfig-push ও iroute-এর মতো অপশন ধারণ করা client-config-dir এন্ট্রি, প্রত্যাহারের জন্য একটি CRL, এবং tls-crypt কী। Access Server একই ধারণাগুলো নিজের ডাটাবেসে রাখে এবং ওয়েব কনসোল ও sacli কমান্ড-লাইন টুলের মাধ্যমে প্রকাশ করে। ধারণাগুলো এক-এক করে মেলে; আর্টিফ্যাক্টগুলো একেবারেই নড়ে না।
প্রোফাইল এমন আচরণও চুপিচুপি ঢোকায় যা বদলে না যাওয়া পর্যন্ত কেউ খেয়াল করে না। redirect-gateway def1 থাকা ক্লায়েন্ট সব ব্রাউজিং সার্ভারের মধ্য দিয়ে পাঠায়; ওই লাইন ছাড়া ইনস্টলে সরালে অভিযোগ আসে যে ইন্টারনেট ভেঙে গেছে। CA না মেলা বা ভুল remote-cert-tls সেটিং জোরে ব্যর্থ হয়, যা ভালো ফল। অনুপস্থিত tls-crypt কী নীরব টাইমআউট হিসেবে ব্যর্থ হয়, যা ভালো নয়।
ব্যবস্থাপনা স্তরের মালিকানা কী
যা প্রোটোকল নয় তা গুনুন: অ্যাকাউন্ট তৈরি, পাসওয়ার্ড রিসেট, গ্রুপ নির্ধারণ, MFA নথিভুক্তি, সংযোগের অধিকার, আর কে কখন সংযোগ করেছিল তার উত্তর দেওয়া অডিট ট্রেইল। Community Edition এর কোনোটিই সরাসরি দেয় না। আপনি একটি প্রমাণীকরণ ব্যাকএন্ড বাছেন, প্লাগইন বা auth-user-pass-verify দিয়ে PAM, LDAP বা RADIUS জোড়েন, আর বাকিটা নিজে রক্ষণাবেক্ষণ করেন। Access Server একটি ব্যবহারকারী পোর্টাল, প্রশাসনিক কনসোল ও প্রচলিত পরিচয় প্রদানকারীদের জন্য ইন্টিগ্রেশন দেয়। কোনোটিই ডিফল্টভাবে নিরাপদ নয়, কারণ নীতিটি এখনও লিখতে হবে এমন কাউকে যে নেটওয়ার্ক জানে।
অধিকারই সবচেয়ে তীক্ষ্ণ পরিচালনগত পার্থক্য। Access Server একসঙ্গে সংযোগের সংখ্যা অনুযায়ী লাইসেন্সপ্রাপ্ত এবং সফটওয়্যারে সেই সংখ্যা কার্যকর করে। Community Edition-এ বৈশ্বিক সীমা একটি max-clients লাইন, আর ব্যবহারকারী বা গ্রুপভিত্তিক যেকোনো কিছু মানে আরও client-config-dir কাজ ও নিজের প্রয়োগ। এই রক্ষণাবেক্ষণে আগ্রহ নেই এমন দল বাণিজ্যিক পণ্যের দাম দিলে ঠিক সেটাই কিনছে।
লাইসেন্সিং ও সহায়তা: যে ব্যয় কেউ বাজেটে রাখে না
Community Edition বিনামূল্যে ও ওপেন সোর্স। Access Server বাণিজ্যিক, আর এর বিনামূল্যের স্তর ঐতিহাসিকভাবে অল্পসংখ্যক একসঙ্গে সংযোগ কভার করেছে, তার উপরে অর্থপ্রদত্ত লাইসেন্স। পুরোনো ফোরামের উত্তরে উদ্ধৃত যেকোনো সংখ্যা এখন অচল, তাই প্রকল্পের খরচ হিসাব করার আগে বিক্রেতার বর্তমান শর্ত দেখুন। সৎ তুলনার জন্য কমিউনিটি পক্ষে ব্যবহারকারী ব্যবস্থাপনা, MFA ও পর্যবেক্ষণ গড়ার সময় বাণিজ্যিক পক্ষের লাইসেন্স লাইনের সঙ্গে যোগ করতে হয়।
সহায়তার মালিকানা একই বিভাজন অনুসরণ করে। Community Edition-এ প্রতিটি অদ্ভুত ক্লায়েন্ট আর প্রতিটি কার্নেল আপডেটের জন্য আপনি নিজেই এসকেলেশন পথ। Access Server-এ ফোন করার মতো বিক্রেতা থাকে, আর আপনার পরিবর্তন-সময়ের সঙ্গে মানুক বা না মানুক, তার প্রকাশের ছন্দ আপনি উত্তরাধিকারে পান।
কাটওভারের আগে যে পরীক্ষাগুলো চালাতে হবে
যেকোনো দিকে কাটওভারের আগে চালু সার্ভার আসলে কী ধরে আছে তার জরিপ করুন। Access Server পক্ষে ব্যবহারকারীর তালিকা ও গ্রুপ বরাদ্দ রপ্তানি করুন এবং কোন অ্যাকাউন্টগুলো MFA-এর উপর নির্ভর করে তা লিখুন। Community Edition পক্ষে ইস্যু করা সার্টিফিকেট, CRL আর client-config-dir-এর অধীনে প্রতিটি ফাইল তালিকাভুক্ত করুন। দুটি তালিকা লাইন ধরে মিলান, কারণ তাদের মধ্যে পার্থক্যই মাইগ্রেশনের কাজ।
পুরোনো সেবা চালু থাকতেই প্রতিনিধি ক্লায়েন্ট পরীক্ষা করুন। openvpn --config client.ovpn --verb 4 ফোরগ্রাউন্ডে হ্যান্ডশেক, পাঠানো রুট আর DNS অপশন ছাপে, এবং openssl x509 -in client.crt -noout -subject -enddate দেখায় ক্লায়েন্ট আসলে কোন সার্টিফিকেট উপস্থাপন করে। যে ক্লায়েন্ট সংযোগ করে কিন্তু অভ্যন্তরীণ হোস্টে পৌঁছায় না, তার রুট বা iroute-এ ফাঁক আছে, প্রমাণীকরণ ব্যর্থতা নয়।
পুরোনো পুনরুদ্ধার পথ চালু রাখুন যতক্ষণ না প্রতিস্থাপনটি সফল পরীক্ষার পাশাপাশি প্রত্যাখ্যাত-প্রবেশাধিকার পরীক্ষাও পাস করে। চূড়ান্ত মানচিত্র একটি পাতায় লিখুন: প্রতিটি প্রয়োজন, আজ যা তা পূরণ করে, আর পরে যা করবে।