GNOME-এর VPN তালিকা আপনার হাতে দেওয়া প্রোফাইলের সঙ্গে মেলে এমন কিছু দিতে পারে না, আর স্বাভাবিক উপসংহার হয় যে ডেস্কটপটি OpenVPN চালাতে পারে না। এটি পারে। যা নেই তা হলো একটি প্লাগইন প্যাকেজ, আর একই মেশিনে বসে থাকা কমান্ড-লাইন ক্লায়েন্টের মেনুর সঙ্গে কোনো সম্পর্ক নেই। এই মিথটাই আগে মারা দরকার, কারণ এটি মানুষকে ভুল জিনিস পুনরায় ইনস্টল করতে পাঠায়।

মেনু প্লাগইন দেখায়, প্রোটোকল নয়

GNOME সেই সংযোগ-ধরনগুলো দেখায় যা নেটওয়ার্ক ম্যানেজার রিপোর্ট করে, এবং ম্যানেজার ইনস্টল করা প্লাগইনগুলো রিপোর্ট করে। তাই খালি তালিকা প্রোটোকলের সামর্থ্য নয়, বরং ইনস্টল করা প্লাগইন সেটটির বর্ণনা দেয়। এজন্যই কাজ করা openvpn বাইনারি প্যানেলে কিছুই বদলায় না।

এই পার্থক্যটি গুরুত্বপূর্ণ, কারণ দুটি ব্যর্থতাই প্যানেল থেকে একই রকম দেখায়। অনুপস্থিত প্লাগইন আর নষ্ট প্লাগইন দুটোই এমন একটি ডায়ালগ দেয় যা সাহায্য করতে পারে না, আর কেবল প্রথমটিই কিছু ইনস্টল করে সারানো যায়। ম্যানেজারকে জিজ্ঞাসা করা সে কী জানে, কিছু ইনস্টল করার আগেই দুটোকে আলাদা করে। সেই প্রশ্নে একটি কমান্ড লাগে আর এক ঘণ্টার অনুমান বদলে যায়।

ডায়ালগটি কোন প্যাকেজের

Ubuntu 18.04-এ প্যাকেজগুলোর নির্দিষ্ট নাম আছে, আর নতুন সংস্করণগুলো একই বিভাজন রেখেছে। এগুলোকে বিকল্প নয়, ভূমিকা হিসেবে পড়ুন, কারণ একটি ইনস্টল করলে সমস্যা একা কমই সমাধান হয়। একটি প্যাকেজে ডেমন আর কমান্ড-লাইন ক্লায়েন্ট থাকে, আর দুটোর কোনোটিই কোনো সেটিংস ডায়ালগ সম্পর্কে জানে না।

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

sudo apt install openvpn network-manager-openvpn network-manager-openvpn-gnome
nmcli --version

18.04-এ এগুলো স্থানধারক নয়, আসল আর্কাইভ-নাম। KDE ডেস্কটপের নিজের এডিটর প্যাকেজ দরকার এবং প্লাগইনও তখনো দরকার, আর কেবল GNOME-এর জন্য লেখা নির্দেশিকা যে অংশটি বাদ দেয়, সেটি ঠিক এটাই।

পুনরায় চালু করা ইনস্টলেরই অংশ

প্যানেল সেবা শুরুর সময় ম্যানেজারকে তার সমর্থিত ধরনগুলো জিজ্ঞাসা করে, আর ইতিমধ্যে আঁকা একটি তালিকা ইনস্টল করে রিফ্রেশ হয় না। তাই সেবা চলাকালীন ইনস্টল করলে একটি সফল ইনস্টল আর অপরিবর্তিত ডায়ালগের হতাশাজনক সমন্বয় তৈরি হয়। পুনরায় চালু করা ঐচ্ছিক গৃহস্থালির কাজ নয়; এটিই সেই ধাপ যা ইনস্টলটিকে দৃশ্যমান করে।

পুনরায় চালু করলে কয়েক সেকেন্ডের জন্য সংযোগ কেটে যায়, আর একই ইন্টারফেস দিয়ে যাওয়া যেকোনো SSH সেশনও তার সঙ্গে যায়, তাই মেশিন দূরের হলে তা মাথায় রাখুন। তারপর প্যানেল আবার খুলে ম্যানেজারকে সরাসরি জিজ্ঞাসা করুন সে কী সমর্থন করে। সরাসরি জিজ্ঞাসা ক্যাশে থাকা মেনুর চেয়ে ভালো প্রমাণ।

sudo systemctl restart NetworkManager
nmcli -f NAME,TYPE connection show
nmcli connection add type vpn

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

nmcli-কে .ovpn পড়তে দিন

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

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

nmcli connection import type openvpn file ~/Downloads/office.ovpn
nmcli --ask connection up office
nmcli -f NAME,TYPE,STATE connection show --active

তৃতীয় কমান্ডটি নিশ্চিত করে যে টানেলটি আপনি যে নাম আশা করেন সেই নামেই চালু আছে। এটি ব্যর্থ সংযোগ আর কখনো চালু না হওয়া সংযোগের পার্থক্যও করে দেয়।

মেনু যা আপনাকে বলতে পারে না

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

আগে প্যাকেজিং ঠিক করুন; সার্ভারের প্রশ্ন পরে আসে। যে প্রোফাইল পরিষ্কারভাবে আমদানি হয় কিন্তু কখনো প্রমাণিত হয় না, তা এডিটরের নয়, সার্টিফিকেট, TLS বা শংসাপত্রের প্রশ্নে ব্যর্থ হয়। এগুলোর প্রতিটি আলাদা প্রমাণ রেখে যায়, আর কোনোটিই ডায়ালগে দেখা যায় না। সেটিংস প্যানেল আবার খোলার আগে ক্লায়েন্ট লগ পড়ুন।

আপনি সত্যিই ব্যবহার করেন এমন কোনো রিসোর্স দিয়ে এটি প্রমাণ করুন

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

আপনি কোন রিসোর্স পরীক্ষা করেছেন তা লিখে রাখুন, যাতে পরের মানুষ শূন্য থেকে শুরু না করে সেই পরীক্ষাটিই পুনরাবৃত্তি করে। টানেল চালু থাকলেও রিসোর্স ব্যর্থ হলে তদন্ত ডায়ালগে ফিরে না গিয়ে রুট আর DNS-এর দিকে যায়। ওই নোটটাই মেরামত আর গল্পের পার্থক্য।

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