Netgear OpenVPN: TUN ও TAP ভিন্ন পোর্টে শোনে
ভোক্তা ফার্মওয়্যার TUN ও TAP লিসেনার ভিন্ন পোর্টে প্রকাশ করতে পারে। ভুলটির দিকে লক্ষ্য করা প্রোফাইল যেকোনো সার্টিফিকেট পরীক্ষা হওয়ার অনেক আগেই সময় শেষ করে ফেলে।
একটি ফোন কোনো অভিযোগ ছাড়াই রাউটারের VPN-এ সংযোগ করে, আর একই ডাউনলোড পৃষ্ঠার প্রোফাইল ব্যবহার করা ল্যাপটপ সময় শেষ করে ফেলে। ওই দুই প্রচেষ্টার মধ্যে সার্টিফিকেটে কিছুই বদলায়নি, কারণ ল্যাপটপ কখনোই সেই বিন্দুতে পৌঁছায়নি যেখানে সার্টিফিকেট গুরুত্বপূর্ণ হয়। রাউটার TUN ও TAP-এর জন্য আলাদা লিসেনার প্রকাশ করে, এবং একটি কাজ করা প্রোফাইলকে তার নিজের ডিভাইস ধরনের লিসেনারটি বেছে নিতে হয়।
তিনটি সম্ভাব্য ত্রুটির মধ্যে কোনটির পেছনে ছুটব, তা ঠিক করাই এখানে পুরো কাজ: পোর্ট, ডিভাইসের ধরন, নাকি ডেটা-চ্যানেলের সাইফার সমঝোতা।
তিনটি জিনিস যা মিলতে হবে
ডিভাইসের ধরন, প্রোফাইলের ইন্টারফেস লাইন এবং লিসেনার পোর্ট একটিই পছন্দ গঠন করে, তিনটি নয়। যে প্রোফাইল dev tun ঘোষণা করে এবং TAP লিসেনারের দিকে লক্ষ্য করে, সে সেশন সম্পূর্ণ করতে পারে না, আর উল্টোটাও ঠিক একইভাবে ব্যর্থ হয়। আপনার মডেল ও ফার্মওয়্যারের জন্য পোর্টটি কোনো গাইড থেকে নয়, রাউটারের নিজের VPN পৃষ্ঠা থেকে পড়ুন, কারণ সংখ্যাগুলো বিল্ডের মধ্যে বদলায়। মডেল ও ফার্মওয়্যার সংস্করণ ওই সংখ্যার পাশে লিখে রাখুন, যাতে পরের ব্যক্তি যাচাই করতে পারেন।
মাঠ থেকে আসা প্রতিবেদনে এক ফার্মওয়্যারে TUN-এর জন্য 12973 আর TAP-এর জন্য 12974-এর মতো জোড়া, এবং অন্য একটিতে ভিন্ন সংখ্যার উল্লেখ আছে। এগুলোকে প্রমাণ হিসেবে পড়ুন যে বিল্ড আলাদা, নকল করার ধ্রুবক হিসেবে নয়। এরপর প্রোফাইলের দরকার দূরত্ব-উপযুক্ত হোস্টনেম: রাউটারের ডাইনামিক DNS নাম, বদলে যাবে এমন WAN ঠিকানা নয়।
পোর্ট ও ইন্টারফেস লাইন ঠিক করার পর প্রোফাইলটি একটি সাধারণ ক্লায়েন্ট কনফিগারেশনের মতো দেখায়, যাতে একটি remote লাইন ও একটি dev লাইন থাকে। দুটি যদি না মেলে, তবে যতবারই চেষ্টা করুন সেশন তৈরি হয় না।
লগটি যে ক্রমে ছাপা হয় সেই ক্রমে পড়ুন
OpenVPN ক্লায়েন্ট ঘটনাগুলো ঘটার ক্রমেই জানায়, তাই নীরবতার আগের শেষ লাইনটিই পরীক্ষা করার স্তর চিহ্নিত করে। যখন চালানোটি TLS Error: TLS key negotiation failed-এ শেষ হয়, বা শুধু প্রথম উত্তর প্রতীক্ষা করে হাল ছেড়ে দেয়, তখন সার্টিফিকেট তুলনা কখনোই হয়নি। এটি পৌঁছানোযোগ্যতা, লিসেনার, বা পেছনে কিছু নেই এমন পোর্টের দিকে ইঙ্গিত করে। এর কোনোটিই CA ফাইল বদলে সারানো যায় না।
VERIFY OK পর্যন্ত পৌঁছে তারপর ব্যর্থ হওয়া চালানোটি সম্পূর্ণ ভিন্ন জায়গায় অবস্থান করে, নিজস্ব কারণসহ। ফাইল ছোঁয়ার আগে এই দুই ফলাফল আলাদা করা কখনোই জিজ্ঞাসা করা হয়নি এমন সার্টিফিকেট বান্ডলের মধ্য দিয়ে চিরাচরিত ঘোরার পথ আটকায়। হ্যান্ডশেক সম্পূর্ণ হওয়ার পরও টানেল না উঠলে পৌঁছানোযোগ্যতার বদলে সাইফার সমঝোতার দিকে তাকান।
আধুনিক ক্লায়েন্ট যে সাইফার তালিকা আশা করে তা যোগ করুন
সাম্প্রতিক OpenVPN ক্লায়েন্ট পুরোনো ডিফল্ট প্রত্যাখ্যান করে যা ভোক্তা ফার্মওয়্যার এখনো দেয়, এবং উপসর্গটি হলো সফল হ্যান্ডশেকের ঠিক পরেই সমঝোতা ব্যর্থতা। সমাধান একটিমাত্র প্রোফাইল লাইন যা বলে দেয় ক্লায়েন্ট কী গ্রহণ করবে: data-ciphers-কে এই ক্রমে AES-256-GCM, AES-128-GCM, CHACHA20-POLY1305 এবং AES-128-CBC তে সেট করুন। রাউটার যে অ্যালগরিদম বাস্তবায়ন করে না তা কেবল কখনোই নির্বাচিত হয় না, তাই বড় তালিকা সামান্য দীর্ঘ সমঝোতা ছাড়া কিছুই খরচ করে না।
সাইফার তালিকা করা রাউটারকে তার নেই এমন কিছু শেখায় না। সমঝোতা এখনো ব্যর্থ হলে দেখুন রাউটার পৃষ্ঠায় নিজস্ব সাইফার সেটিং আছে কি না এবং সেই সেটিংয়ে ক্লায়েন্ট গ্রহণ করে এমন অন্তত একটি এন্ট্রি আছে কি না। সাধারণ সদস্যবিহীন দুটি তালিকা ভুল পোর্টের মতোই ঠিক একই ব্যর্থতা তৈরি করে, তাই দুই প্রান্তই একবার দেখার যোগ্য।
হাতে কপি সম্পাদনার বদলে একবার আমদানি করুন
সংশোধিত ফাইলটি NetworkManager-এ আমদানি করলে সামান্য ভিন্ন প্রোফিলে ভরা ফোল্ডার এড়ানো যায়: nmcli connection import type openvpn file client.ovpn, তারপর নাম দিয়ে এটি চালু করুন। আমদানি করা প্রোফাইলটিকেই আপনি সম্পাদনা করা একমাত্র কপি হিসেবে রাখুন, এবং বারবার ডাউনলোড থেকে জমা হওয়া অনুলিপিগুলো মুছে ফেলুন।
এরপর LAN-এর বাইরে থেকে পরীক্ষা করুন। একই নেটওয়ার্ক থেকে সংযোগ করা খুব কম প্রমাণ করে, কারণ ট্রাফিক হয়তো টানেলের মধ্য দিয়ে কখনোই যায় না। নিশ্চিত করুন যে একটি অনুরোধ সত্যিই রাউটার দিয়ে বেরোচ্ছে, শুধু ক্লায়েন্ট সংযুক্ত অবস্থা দেখাচ্ছে তা নয়।
সতর্কবার্তা নিয়ে কী করবেন তা ঠিক করুন
ভোক্তা ফার্মওয়্যার সাধারণত নিজস্ব সার্টিফিকেট কর্তৃপক্ষ তৈরি করে, এবং ক্লায়েন্টরা এমনভাবে যাচাই নিয়ে অভিযোগ করে যা ফার্মওয়্যার দমন করতে পারে না। প্রতিটি সতর্কবার্তাকে মারাত্মক ধরে নেওয়ার বদলে ওই অভিযোগ আপনার যা সুরক্ষিত করছে তার জন্য গুরুত্বপূর্ণ কি না বিচার করুন, এবং একটি বার্তা চুপ করাতে গ্লোবালভাবে যাচাই বন্ধ করবেন না। আপনি যে সতর্কবার্তা মূল্যায়ন করেছেন তা নথিভুক্ত ঝুঁকি; আপনি যে যাচাই সেটিং নিষ্ক্রিয় করেছেন তা অনথিভুক্ত।
যখন ফার্মওয়্যার সত্যিই গুরুত্বপূর্ণ কোনো সতর্কবার্তা সংশোধনের সমর্থিত উপায় দেয় না, তখন ওই ফাঁক VPN অন্য জায়গায় হোস্ট করার পক্ষে যায়। প্রোফাইল মেরামত, সতর্কবার্তা মেনে নেওয়া এবং এন্ডপয়েন্ট সরানোর মধ্যে বেছে নেওয়া ওই সার্টিফিকেটে আপনার কতটা আস্থা তার সিদ্ধান্ত। এটি সচেতনভাবে নিন, এবং কোন বিকল্প বেছেছেন তা লিখে রাখুন, আইকন সবুজ হওয়া পর্যন্ত ডায়ালগে ক্লিক করার বদলে।