Viscosity-এর .visz ফাইলের নাম বদলে .ovpn করলে ভেতরে যা আছে তা বদলায় না, কারণ এক্সটেনশন কখনো কোনো প্রোটোকল বর্ণনা করেনি। আসল তুলনাটি হলো নির্ভরতাসহ একটি বান্ডেল আর কোনো নির্ভরতা ছাড়া একটি সাধারণ ক্লায়েন্ট প্রোফাইলের মধ্যে। Linux-এর কোনো ইমপোর্টারকে এটি পড়তে বলার আগে ঠিক করুন আপনি কোন কনটেইনার পেয়েছেন।

প্রতিটি কনটেইনারে কী থাকে

Viscosity-এর এক্সপোর্ট ডকুমেন্টেশন একটি .visc সংযোগ বান্ডেল এবং একটি .visz আর্কাইভ রূপ বর্ণনা করে, যা একটি সংকুচিত tar আর্কাইভ। একটি বান্ডেল কনফিগারেশনের সঙ্গে তার নির্ভরশীল সার্টিফিকেট, কী ও স্ক্রিপ্ট ফাইল বহন করে। সাধারণ OpenVPN প্রোফাইল একটি ফাইল, আর এটি যে সবকিছুর প্রতি নির্দেশ করে তা আলাদাভাবে থাকতে হবে বা ভেতরে এমবেড করতে হবে।

এই পার্থক্যই পুরো তুলনা। বান্ডেলের সম্পর্কগুলো আর্টিফ্যাক্টের অংশ; সাধারণ প্রোফাইলের সম্পর্কগুলো একটি অনুমান। সেই সম্পর্ক না রেখে বান্ডেল Linux-এ সরালে এমন ফাইল তৈরি হয় যা খোলে, তারপর প্রথম অনুপস্থিত রেফারেন্সে ব্যর্থ হয়। যে প্রোফাইল তার সার্টিফিকেট ভেতরে এমবেড করে, সে সবকিছু এক জায়গায় বহন করে সেই ব্যর্থতা এড়ায়, যা সুবিধাজনক যতক্ষণ না কাউকে সেগুলোর একটি রোটেট করতে হয়।

বাইরের এক্সটেনশন বলে আপনার কাছে কোন কনটেইনার আছে, কোন ক্লায়েন্ট এটি ব্যবহার করতে পারে তা নয়।

কনফিগারেশন আসলে কোথা থেকে শুরু হয়

বান্ডেলের ভেতরে ভেন্ডর নির্ভরশীল ফাইলগুলোর পাশাপাশি একটি config.conf নথিভুক্ত করে, আর রেফারেন্সগুলো স্থানীয়ভাবে সমাধান হয়। সেই ফাইলটি শুরু করার জায়গা, আর্কাইভের নাম নয় এবং ডিরেক্টরি তালিকার শীর্ষে যে সার্টিফিকেট আছে সেটিও নয়।

Linux-এ বান্ডেলটি একক অবজেক্ট নয়, একটি ডিরেক্টরি হিসেবে দেখা দিতে পারে, কারণ আর্কাইভটি এমন ফাইলে খোলে যেগুলো একসঙ্গে থাকার প্রত্যাশা করে। আপনি যে ওয়ার্কস্পেসে এক্সট্র্যাক্ট করছেন সেখানে আপেক্ষিক পাথগুলো সামঞ্জস্যপূর্ণ রাখুন, আর Windows-এর নিখুঁত পাথ হাতে Linux-এর পাথে রূপান্তর করবেন না। অনুপস্থিত নির্ভরশীল ফাইল আর ভুল পাথ ক্লায়েন্টের কাছে একই অভিযোগ তৈরি করে।

সেই অভিযোগ চুপ করাতে কোনো ট্রাস্ট বা আইডেন্টিটি অপশন মুছে ফেলা সমাধান নয়।

বান্ডেল যা বহন করে না

Viscosity-এর নিজস্ব পছন্দগুলো সবই OpenVPN অপশন নয়। স্ক্রিপ্ট, রুটের আচরণ ও অ্যাপ্লিকেশন সেটিংস হয়তো Linux ক্লায়েন্টের সমর্থিত ইন্টিগ্রেশন দিয়ে উপস্থাপন করতে হবে, অন্য কোনো প্রোগ্রাম চালাতে পারে এমন টেক্সট হিসেবে কপি না করে।

অন্তর্ভুক্ত স্ক্রিপ্টকে ডেটা হিসেবে গণ্য করুন, যতক্ষণ না পড়ে সিদ্ধান্ত নেন এটি অনুমোদিত। এক্সপোর্টে ছিল বলে সেটি চালানো আপনার যে পর্যালোচনা করার কথা ছিল তা উল্টে দেয়। একই সতর্কতা এমবেড করা ক্রেডেনশিয়ালের ক্ষেত্রেও প্রযোজ্য: বান্ডেলে প্রাইভেট কী উপাদান থাকতে পারে, তাই কাজের কপি ডাউনলোড ফোল্ডারে নয়, সুরক্ষিত জায়গায় থাকা উচিত।

মাইগ্রেশন গ্রহণ না করা পর্যন্ত মূলটি সুরক্ষিত থাকে।

Linux পক্ষকে কী ঠিক করতে হবে

ঠিক করুন সংযোগের মালিক কে হবে: একা Community OpenVPN, NetworkManager প্লাগইন, নাকি অন্য কোনো সমর্থিত ক্লায়েন্ট। প্রত্যেকে আলাদা অপশন সেট গ্রহণ করে, আর প্রত্যেকে রুট, রিজলভার ও সিক্রেট আলাদাভাবে সামলায়। যে ফাইল একটি ইমপোর্টারে সফলভাবে খোলে, অন্যটি তা প্রত্যাখ্যান করতে পারে, এবং ইমপোর্টে সাফল্য উদ্দিষ্ট সংযোগের সঙ্গে সামঞ্জস্য প্রমাণ করে না। অপারেটরকে জিজ্ঞাসা করুন Linux-সামঞ্জস্যপূর্ণ প্রোফাইল আগে থেকেই আছে কি না, কারণ সমর্থিত আর্টিফ্যাক্ট থেকে শুরু করা একটি অনুবাদ করার চেয়ে কম সময় নেয়।

সার্ভার ট্রাস্ট, ক্লায়েন্ট আইডেন্টিটি ও প্রাইভেট-কী সুরক্ষাকে তিনটি আলাদা প্রশ্ন হিসেবে রাখুন।

সংযোগের আগে পর্যালোচনা

এন্ডপয়েন্ট ও ট্রান্সপোর্ট, প্রমাণীকরণ পদ্ধতি, প্রতিটি ফাইল রেফারেন্স এবং উদ্দিষ্ট রুট ও DNS নীতি পরীক্ষা করুন। তারপর সংযোগটি ও প্রয়োজনীয় অ্যাপ্লিকেশনটি আলাদাভাবে যাচাই করুন, কারণ উঠে আসা একটি টানেল অ্যাপ্লিকেশন তার প্রয়োজনীয় জিনিসে পৌঁছাতে পারে কি না সে সম্পর্কে কিছুই বলে না।

openvpn --config ./config.conf --verb 4

সমঝোতা করা ফলাফলকে অপারেটর যে বলেছেন প্রোফাইলের করা উচিত তার সঙ্গে তুলনা করুন, এবং Linux ক্লায়েন্ট যে অপশন উপেক্ষা করেছে তা লিখে রাখুন।

মাইগ্রেশন গ্রহণ করা হলে স্বাভাবিক ক্রেডেনশিয়াল-হ্যান্ডলিং প্রক্রিয়ার মাধ্যমে স্থানান্তর কপিগুলো অবসর দিন। শেয়ার করা ফোল্ডারে রেখে দেওয়া বান্ডেল মানে শেয়ার করা ফোল্ডারে রেখে দেওয়া ক্রেডেনশিয়াল।

সম্পর্কিত নিবন্ধ