প্রথমটি না হারিয়ে Mac-এ দ্বিতীয় VPN ক্লায়েন্ট কীভাবে পরীক্ষা করবেন
দ্বিতীয় ক্লায়েন্ট শুধু একটি বোতাম নয়, রুট, DNS ও এক্সটেনশনও বদলে দেয়। বেসলাইন লিখে রাখুন, একবারে একটি পথ বদলান, এবং আগের কর্মপ্রবাহ ফিরিয়ে আনুন।
দ্বিতীয় ক্লায়েন্টটি তুলনা করার জন্য ইনস্টল করেন, আর প্রথমটি কাজ করা বন্ধ করে দেয়। কিছুই মুছে ফেলা হয়নি, এবং দুটি অ্যাপ্লিকেশনই এখনও ইনস্টল করা আছে। যা বদলেছে তা তাদের নিচে: একটি সিস্টেম এক্সটেনশন, একটি DNS সেটিং বা একটি ডিফল্ট রুট, এবং দুটি ক্লায়েন্ট এখন কে এর মালিক তা নিয়ে একমত নয়। ইনস্টলেশন ঝুঁকিপূর্ণ অংশ নয়; ঝুঁকিপূর্ণ অংশ হলো ফিরে যাওয়ার জন্য লিখিত বেসলাইন ছাড়া দুটিকেই চালানো।
উপসর্গ: দ্বিতীয় ইনস্টলের পরে কাজ করা সেটআপ থেমে যায়
আধুনিক macOS VPN ক্লায়েন্টরা প্রায়শই পুরোনো ধাঁচের ইন্টারফেসের বদলে একটি নেটওয়ার্ক এক্সটেনশন নিয়ে আসে। একটি ইনস্টল করলে অনুমোদনের অনুরোধ আসতে পারে, একটি কনফিগারেশন প্রোফাইল যোগ হতে পারে, বা এমন একটি সিস্টেম এক্সটেনশন নিবন্ধিত হতে পারে যা কোনো সংযোগ তৈরির আগেই ট্র্যাফিকে প্রভাব ফেলে। অ্যাপের জানালা দেখানোর আগেই এক্সটেনশনটি লোড হয়, তাই নতুনটি নিষ্ক্রিয় থাকলেও পুরোনো ক্লায়েন্ট ব্যর্থ হতে পারে।
এরপর পুরোনো ক্লায়েন্ট যদি সংযোগ করতে না পারে, বা সংযোগ করে কিছুই রিজলভ না করে, তবে নতুন এক্সটেনশনই প্রথম সন্দেহভাজন। এটি সংঘাতের প্রমাণ নয়, তবে তদন্ত এখান থেকেই শুরু হয়। এরপর এক্সটেনশনের তালিকা ও ইনস্টল করা কনফিগারেশন প্রোফাইল দেখুন, শুধু অ্যাপ্লিকেশন ফোল্ডার নয়।
কিছু ইনস্টল করার আগে বেসলাইন লিখে রাখুন
এখন যা কাজ করছে তা লিখে রাখুন: অ্যাপ্লিকেশনের ফলাফল, ক্লায়েন্টের সংস্করণ, যে এন্ডপয়েন্টে এটি সংযোগ করে, এবং প্রতি-অ্যাপ বা স্প্লিট-টানেলের যেকোনো বাদ। মূল প্রোফাইলটি অ্যাপ্লিকেশন বান্ডল থেকে ফাইল কপি করে নয়, ক্লায়েন্ট যে সুরক্ষিত প্রক্রিয়া সমর্থন করে তার মাধ্যমে সংরক্ষণ করুন।
scutil --dns | head -40
netstat -rn | head -30
ifconfig | grep -E "^(utun|ipsec)"
কাজ করা ক্লায়েন্ট সংযুক্ত থাকা অবস্থায় ওই তিনটি আউটপুট নিন। এগুলি আপনাকে রিজলভার অবস্থা, রুট টেবিল এবং ইন্টারফেস তালিকা দেয় যা একটি কাজ করা সেটআপ তৈরি করে, এবং পরবর্তীতে তুলনার জন্য ঠিক এটাই দরকার। Mac যদি নিয়োগকর্তা পরিচালনা করেন, শুরু করার আগে নিশ্চিত করুন তুলনাটি অনুমোদিত, কারণ পরীক্ষার সময় স্বয়ংক্রিয় কাজের সংযোগ আবার সক্রিয় হতে পারে এবং তখন ফলাফল দুটি ক্লায়েন্টের কোনোটিকেই একা উপস্থাপন করে না। তিনটি আউটপুট প্রোফাইল নোটের পাশে সংরক্ষণ করুন যাতে পরবর্তী তুলনার একটি রেফারেন্স থাকে।
একবারে একটি সক্রিয় পথ বদলান
মূল সংযোগটি তার স্বাভাবিক নিয়ন্ত্রণ দিয়ে বন্ধ করুন, তারপর বিকল্পটি চালু করুন। একসাথে দুটি সংযুক্ত ক্লায়েন্ট এমন ফলাফল দেয় যা সংমিশ্রণটিকে বর্ণনা করে, কোনও একটি পণ্যকে নয়। পরিষেবাগুলি অনুমতি দিলে এন্ডপয়েন্ট ও কাজটি তুলনাযোগ্য রাখুন, কারণ ভিন্ন সার্ভার দিয়ে দ্রুত ডাউনলোড দুটি অ্যাপ্লিকেশনের বদলে দুটি সংযোগ বিকল্পের তুলনা করে।
নতুন ক্লায়েন্ট ব্যর্থ হলে, আর কিছু বদলানোর আগে তার প্রথম ত্রুটিটি সংরক্ষণ করুন। প্রথম ত্রুটি সাধারণত কোন ধাপে তা বলে, আর সেটিংস বদলানোর পরে দ্বিতীয় চেষ্টা প্রায়ই কম উপযোগী কিছু জানায়।
শুধু গতি নয়, DNS, রুট ও অ্যাপ্লিকেশন তুলনা করুন
নতুন ক্লায়েন্ট সংযুক্ত থাকা অবস্থায় একই তিনটি কমান্ড চালান এবং লাইন ধরে ধরে তুলনা করুন। অন্য কোথাও নির্দেশ করা রিজলভার, বা ব্যক্তিগত সাবনেট ছাড়া রুট টেবিল, থ্রুপুট দেখার আগেই বেশিরভাগ আচরণগত পার্থক্য ব্যাখ্যা করে। তারপর একই কাজ দিয়ে প্রকৃত অ্যাপ্লিকেশনটি পরীক্ষা করুন, কারণ দ্রুত সংযোগ করা কিন্তু অভ্যন্তরীণ নাম রিজলভ করতে ব্যর্থ ক্লায়েন্ট স্ট্যাটাস জানালা ভালো দেখালেও তুলনায় জেতেনি।
ট্র্যাফিক কোন ইন্টারফেস ব্যবহার করেছে তা লক্ষ্য করুন। macOS-এ টানেল ইন্টারফেসের নাম কোন ক্লায়েন্ট রুটটির মালিক তার নির্ভরযোগ্য সূচক নয়, তাই ইন্টারফেস তালিকাকে রুট টেবিলের সঙ্গে জোড়া দিন, কোনও একটি একা পড়বেন না। দুটি utun ইন্টারফেস থাকলে, আপনার ট্র্যাফিক বহনকারীটিই মিলে যাওয়া রুট ও রিজলভার এন্ট্রিসহটি। নাম থেকে অনুমান করাই ভুল ইন্টারফেসকে দোষারোপের পথ, কারণ যে ইন্টারফেস আছে সেটিই সবসময় ট্র্যাফিক বহন করে না।
তিনটি আউটপুট চোখ বুলিয়ে না পড়ে মন দিয়ে পড়ুন। রিজলভার ডাম্পে utun ইন্টারফেসের সঙ্গে যুক্ত নেম সার্ভার দেখায় কোন ক্লায়েন্ট এটি ইনস্টল করেছে; রুট টেবিলে ডিফল্ট রুট ট্র্যাফিক বহনকারী ইন্টারফেসের নাম দেয়; ইন্টারফেস তালিকায় দ্বিতীয় utun ডিভাইস মানে দ্বিতীয় টানেল তৈরি হয়েছে। বেসলাইনের সঙ্গে তুলনা করা ওই তিনটি লাইন পুনরুদ্ধার হওয়া সেটআপকে এমন সেটআপ থেকে আলাদা করে যেখানে দুটি ক্লায়েন্ট এখনও প্রতিযোগিতা করছে।
পুনরুদ্ধার করুন, তারপর পরিষ্কারভাবে সরান
মূল ক্লায়েন্টের নিজস্ব কর্মপ্রবাহ দিয়ে ফিরে যান এবং নিশ্চিত করুন বেসলাইন আউটপুট আপনার লিখে রাখার সঙ্গে মেলে। রিজলভার বা রুট টেবিল পুনরুদ্ধার না হলে থামুন এবং আর কিছু সরানোর আগে সেটি ঠিক করুন। অব্যবহৃত সেটআপটি তার মালিক উপাদানের মাধ্যমে সরান: ক্লায়েন্ট আনইনস্টলার, প্রোফাইল, বা সিস্টেম এক্সটেনশন সেটিংস।
আপনি যে সংস্করণ পরীক্ষা করেছেন, যে এন্ডপয়েন্ট ব্যবহার করেছেন এবং প্রতিটির ফলাফল দিয়ে আপনার নোট আপডেট করে শেষ করুন। ছয় মাস পরে সেই রেকর্ডই একটি সিদ্ধান্ত ও একটি গুজবের মধ্যে পার্থক্য।