অন্য জায়গায় কাজ করা OpenVPN প্রোফাইল জানায় যে AES-256-GCM পাওয়া যায়নি, বা পিয়ারদের মধ্যে সাধারণ সাইফার নেই, আর প্রথম প্রবণতা হয় প্রোফাইল সম্পাদনা করা। এই দুটি বার্তা ভিন্ন ভিন্ন ব্যর্থতার বর্ণনা দেয়। একটি বলে স্থানীয় প্রোগ্রামে এমন অ্যালগরিদম নেই; অন্যটি বলে দুই পক্ষেরই অ্যালগরিদম আছে কিন্তু সাধারণ পছন্দ নেই। কোনটি আপনার কাছে আছে তা জানার আগে প্রোফাইল সম্পাদনা কোনোটিই সমাধান করে না।

সঠিক ত্রুটির লেখা এবং যে বাইনারি এটি তৈরি করেছে তা পড়ুন।

আপনার কোন ত্রুটি আছে তা নির্ধারণ করুন

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

পার্থক্যটি গুরুত্বপূর্ণ কারণ একটি সফটওয়্যার সংস্করণের সমস্যা আর অন্যটি কনফিগারেশনের সমস্যা। প্রথমটি সংস্করণ নম্বর দিয়ে মেটে। দ্বিতীয়টি দুটি তালিকা তুলনা করে মেটে।

স্থানীয় সামর্থ্যের ঘাটতি

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

openvpn --version
openvpn --show-ciphers | grep -i gcm
openvpn --show-tls | head -5

যদি ওই তালিকায় AES-256-GCM না থাকে, কোনো প্রোফাইল লাইনই তা যোগ করবে না। সমাধান নতুন ক্লায়েন্ট বা ভিন্ন বিল্ড, আর পুরোনো পিয়ারের সীমাবদ্ধতা আলাদা নকশার প্রশ্ন হয়ে দাঁড়ায়।

OpenVPN 3 ভিত্তিক ক্লায়েন্টে ইঞ্জিন ও গৃহীত নির্দেশ কমিউনিটি 2.x লাইন থেকে আলাদা, তাই একই প্রোফাইল লেখা সাইফার তালিকার সঙ্গে কোনো সম্পর্ক নেই এমন কারণে ব্যর্থ হতে পারে।

দর কষাকষির ঘাটতি

যখন দুই পিয়ারই অ্যালগরিদম তালিকাভুক্ত করে, বাকি প্রশ্ন হলো কোন পক্ষ কোন তালিকা দেয়। কমিউনিটি OpenVPN দর কষাকষির নির্দেশের নাম বদলেছে: 2.4-এ ncp-ciphers 2.5-এ data-ciphers হয়েছে, আর 2.6-এ পুরোনো cipher লাইনটি বেশিরভাগ সময় সামঞ্জস্য ও ফলব্যাকের কাজ করে, দর কষাকষির সেট নির্ধারণের নয়।

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

openvpn --version | head -2
grep -n -E '^(data-ciphers|ncp-ciphers|cipher|tls-cipher)' server.conf client.ovpn

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

সামঞ্জস্য স্পষ্ট রাখুন

একটি পুরোনো পিয়ারের জন্য ফলব্যাক হলো ব্যয়যুক্ত সিদ্ধান্ত: একটি ডিভাইস সংযুক্ত হওয়ার জন্য গোটা স্থাপনা দুর্বল বিকল্প মেনে নেয়। এটি তেমনই লিখে রাখুন, এবং যে পিয়ারের প্রয়োজন তার মধ্যেই সীমাবদ্ধ রাখুন।

দুটি শর্ত ফলাফল নির্ধারণ করে। ত্রুটি স্থানীয় হলে বিল্ড বদলান। ত্রুটি দর কষাকষির হলে দুই প্রান্তে তালিকা মিলিয়ে নিন এবং কোন সংস্করণ সমর্থন করছেন তা লিখে রাখুন।

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

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