আরেকটি ক্লায়েন্ট ডাউনলোড করার আগে দেখুন অপারেটিং সিস্টেম ইতিমধ্যে কী বাস্তবায়ন করে, কারণ উত্তরটি প্রায়শই ইনস্টলার সম্পূর্ণ এড়িয়ে যাওয়ার জন্য যথেষ্ট। Windows, macOS ও ChromeOS প্রতিটি নির্দিষ্ট ও সংক্ষিপ্ত টানেল প্রোটোকলের তালিকা নিয়ে আসে, আর তাদের একটি যে গেটওয়ে বোঝে তার অতিরিক্ত ড্রাইভার, সেবা বা আপডেট পথের দরকার নেই। এটি ব্রোশিওরের বিক্রেতার নামে নির্ধারিত হয় না। এটি নির্ধারিত হয় প্রোটোকলে, প্রান্তবিন্দু কীভাবে প্রমাণ করে এবং কোন ঠিকানা প্রত্যাশা করে তা দিয়ে।

প্রোটোকল চান, পণ্যের নাম নয়

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

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

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

অন্তর্নির্মিত তালিকা কোথায় থামে

স্থানীয় তালিকাগুলো ছোট, আর তাদের পার্শ্বগুলো তাদের বিষয়বস্তুর চেয়ে বেশি গুরুত্বপূর্ণ। যে প্ল্যাটফর্ম IPsec-এর উপর L2TP আগে থেকে শেয়ার করা কী দিয়ে বলে, সে SSTP বলবে না, আর সেই পার্থক্যই ক্লায়েন্ট ঠিক করে। সারণিটি বিক্রেতার বদলে টানেল অনুসারে সাজানো, তাই গেটওয়ে যে প্রোটোকলের নাম দিয়েছে তা খুঁজে নিতে পারেন।

TunnelWindowsmacOSChromeOSLinux
PPTPbuilt inremoved in 10.12nopackage
L2TP over IPsec, pre-shared keybuilt inbuilt inbuilt inpackage
L2TP over IPsec, certificatebuilt inbuilt inbuilt inpackage
SSTPbuilt innonopackage
IKEv2built inbuilt innopackage
Cisco IPsec with XAuthnobuilt innopackage
OpenVPNnonobuilt inpackage

গ্রিডটি ব্রোশিওরের বদলে গেটওয়ের চাহিদার বিপরীতে পড়ুন। উত্তর যদি আগে থেকে শেয়ার করা কীসহ L2TP over IPsec হয়, প্রথম তিন প্ল্যাটফর্ম অতিরিক্ত কিছু ইনস্টল না করেই সংযোগ করে। উত্তর যদি OpenVPN হয়, কিছু ইনস্টল করার আগে শুধু ChromeOS-ই আচ্ছাদিত। কোনো অন্তর্নির্মিত কলামে না থাকা প্রোটোকলই সৎ সংকেত যে ইনস্টলার আসছে।

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

কমান্ড লাইন থেকে প্রোফাইল তৈরি করুন

গ্রাফিক্যাল প্যানেল যা লেখে তা কোথাও সংরক্ষিত থাকে যেখানে আপনি পৌঁছাতে পারেন, আর এটাই অন্তর্নির্মিত প্রোফাইলকে স্বয়ংক্রিয় করার যোগ্য করে। Windows VPN এন্ট্রিগুলো .pbk ফাইলে ব্যবহারকারী প্রোফাইলের অধীনে এবং ProgramData-এর অধীনে রাখে, আর rasphone নেটওয়ার্ক তালিকা যা দেখায় না সেই এন্ট্রিগুলো তালিকাভুক্ত ও সম্পাদনা করতে পারে। এটি গুরুত্বপূর্ণ যখন একটি মেশিন স্ক্রিপ্ট দিয়ে প্রস্তুত হয় এবং কেউ উইজার্ডে ক্লিক করবে না। এটি আরও ব্যাখ্যা করে কীভাবে একটি প্রোফাইল কখনো ট্রেতে না দেখিয়েও থাকতে পারে।

rasdial
rasdial "VpnName" alice
rasdial "VpnName" /disconnect

হাতে একটি .pbk ফাইল সম্পাদনা করা কাজ করে, আর এটি সেটি নষ্ট করার দ্রুততম উপায়ও, তাই ফরম্যাটের মালিক থাকুক টুলটি। macOS তার সেবাগুলো সিস্টেম কনফিগারেশনে রাখে, আর networksetup সেবার নাম দিয়ে সেগুলো সম্বোধন করে; কয়েকটি ফ্ল্যাগ হোস্টনেমের বদলে ঠিকানা চায়, তাই আগে প্রান্তবিন্দু সমাধান করুন এবং ক্লায়েন্ট আসলে যে মান ব্যবহার করবে তা সংরক্ষণ করুন। এই পার্থক্যটি স্বয়ংক্রিয়করণের সময় কামড়ায়, কারণ ঠিকানা দিয়ে কাজ করা স্ক্রিপ্ট নাম দিয়ে ব্যর্থ হতে পারে এবং ত্রুটিটি প্রত্যাখ্যাত আর্গুমেন্টের বদলে ভাঙা গেটওয়ের মতো দেখায়।

networksetup -listallnetworkservices
networksetup -getinfo "ServiceName"
networksetup -setmanualwithdhcprouter "ServiceName" 198.51.100.20

সেবার নামগুলো স্থানীয়কৃত এবং ব্যবহারকারীর সম্পাদনাযোগ্য, তাই যে স্ক্রিপ্ট Wi-Fi হার্ডকোড করে তা অন্য ভাষায় সেট করা প্রথম মেশিনেই ভেঙে পড়ে। তালিকার কমান্ড থেকে নামটি পড়ুন এবং অনুমান করার বদলে সেটি এগিয়ে দিন।

মালিকানাধীন ক্লায়েন্ট ছাড়া সার্টিফিকেট

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

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

Windows দুটি স্টোর স্পষ্টভাবে আলাদা করে, আর macOS লগইন কীচেইনকে সিস্টেম কীচেইন থেকে আলাদা করে। নাম ভিন্ন, কিন্তু ব্যর্থতার ধরন অভিন্ন: একটি বৈধ সার্টিফিকেট যা ক্লায়েন্ট কখনো দেখে না।

কী ইনস্টলার বাধ্য করে

কিছু গেটওয়ে ক্লায়েন্টকে একটি ব্যক্তিগত সার্টিফিকেট স্টোর, পোস্টচার এজেন্ট বা এমন সাইন-অন বিনিময়ের সাথে বেঁধে দেয় যা অপারেটিং সিস্টেমের পক্ষে করা সম্ভব নয়। Check Point, Cisco বা Fortinet হার্ডওয়্যারে গড়া স্থাপনা প্রায়ই সেখানে পৌঁছায়, আর সেগুলোতে অন্তর্নির্মিত ক্লায়েন্ট শর্টকাট নয়। তৃতীয় পক্ষের বিকল্প সংযোগ করতে পারে এবং তবুও নীতি লঙ্ঘন করতে পারে, যা এটিকে সুবিধার সিদ্ধান্তের বদলে নিরাপত্তার সিদ্ধান্ত করে তোলে। নীতি যা দাবি করে তা ইনস্টল করুন এবং ইনস্টলারের সংস্করণের পাশে কারণটি লিখুন।

সেই রেকর্ডটিই মানুষ এড়িয়ে যায় এবং পরবর্তী প্রশাসকের এক সপ্তাহ বাঁচায়: প্রোটোকল, প্রমাণীকরণ পদ্ধতি, ঠিকানা পরিবার ও প্রয়োজনীয় প্রত্যয়, সাথে প্রতিটি বাইনারির জন্য এক লাইন যুক্তি যা যোগ করতে হয়েছে। এটি চ্যাট থ্রেডে নয়, ইনস্টলারের নোট যেখানে থাকে সেখানে রাখুন। দুই লাইন ডকুমেন্টেশন পুনরাবৃত্ত তদন্ত ঠেকায়।

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