Mac-এ VPN কনফিগারেশন সরানোর উপায় এবং কী রয়ে যায়
Mac-এ একটি VPN পরিষেবা সরালে কেবল একটি নেটওয়ার্ক পরিষেবা মুছে যায়। অ্যাপ, নেটওয়ার্ক এক্সটেনশন, কীচেইন আইটেম এবং পরিচালিত প্রোফাইল এর পরে টিকে থাকতে পারে।
macOS-এ VPN সরানোকে এক কাজ বলে মনে হয়, কিন্তু আসলে এটি কমপক্ষে চারটি কাজ। সিস্টেম সেটিংসের বোতামটি সিস্টেম কনফিগারেশন স্টোর থেকে একটি নেটওয়ার্ক পরিষেবা মুছে দেয়। এটি ক্লায়েন্ট অ্যাপ, সেই অ্যাপের ইনস্টল করা নেটওয়ার্ক এক্সটেনশন, আপনার কীচেইনে থাকা ক্রেডেনশিয়াল বা ডিভাইস ম্যানেজমেন্টের পাঠানো প্রোফাইল মুছে দেয় না। কোন বস্তু কোন উপসর্গের মালিক তা জানাই সরানো VPN-কে চুপচাপ ফিরে আসা থেকে থামায়।
রিমুভ কনফিগারেশন বোতামটি আসলে কী মুছে দেয়
আপনি যত VPN যোগ করেন তা একটি নেটওয়ার্ক পরিষেবা হয়ে যায়, Wi-Fi বা Thunderbolt Bridge-এর মতো একই ধরনের বস্তু। macOS সেগুলো সব /Library/Preferences/SystemConfiguration/preferences.plist-এ রাখে, প্রতিটির একটি পরিষেবা আইডি, একটি প্রদর্শিত নাম এবং একটি কনফিগারেশন অভিধান থাকে যা টানেলের ধরন, সার্ভার ঠিকানা এবং টানেল কীভাবে শুরু হয় তা বর্ণনা করে।
আপনি সিস্টেম সেটিংস, VPN খুলে, কোনও পরিষেবার পাশের তথ্য বোতামে ক্লিক করে, রিমুভ কনফিগারেশন বেছে নিয়ে নিশ্চিত করলে macOS টানেল বন্ধ করে, সেই পরিষেবা বস্তুটি মুছে দেয় এবং স্টোরটি আবার লেখে। সিস্টেম যার মালিক তার জন্য ভাঙন সম্পূর্ণ: পরিষেবাটি তালিকা থেকে চলে গেছে এবং লগইনে কোনো কিছু এটি চালু করে না।
বোতামটি যা পৌঁছাতে পারে না তা হল অন্য সাবসিস্টেমের মালিকানাধীন সবকিছু। অ্যাপ বান্ডেল /Applications-এ থাকে। একটি NetworkExtension ক্লায়েন্ট তার কনফিগারেশন থেকে আলাদাভাবে নিবন্ধিত একটি সিস্টেম এক্সটেনশন হিসেবে চলে। ক্রেডেনশিয়াল হল কীচেইন আইটেম, যেসব কীচেইন সেগুলো রাখে তার অ্যাক্সেস নিয়ন্ত্রণসহ। একটি কনফিগারেশন প্রোফাইলের মালিক প্রোফাইল সিস্টেম। পরিষেবাটি সরান, চারটিই ঠিক যেখানে ছিল সেখানেই থাকে।
Mac এখনও যা ইনস্টল মনে করে তার তালিকা করুন
কিছু মুছে ফেলার আগে তালিকা নিন। তিনটি কমান্ড একই দৃশ্যমান ব্যর্থতা তৈরি করা তিনটি স্তর কভার করে:
scutil --nc list
networksetup -listallnetworkservices
profiles -Pscutil --nc list হল VPN কনফিগারেশনের প্রামাণিক দৃশ্য, সংযোগের অবস্থা, পরিষেবার নাম ও পরিষেবা আইডিসহ। এটি প্রায়ই এমন এন্ট্রি দেখায় যা সেটিংস তালিকায় কখনও আসে না: মাস আগে আপনি আনইনস্টল করা ক্লায়েন্টের অবশিষ্ট পরিষেবা, এবং নীরবে শুরু হওয়া অন-ডিমান্ড কনফিগারেশন। networksetup -listallnetworkservices নেটওয়ার্ক পরিষেবাগুলোকে কমান্ড-লাইন টুল যেসব নাম আশা করে সেগুলোতে দেখায়, নাম দিয়ে সরানোর জন্য যা দরকার। profiles -P ইনস্টল করা কনফিগারেশন প্রোফাইল তালিকাভুক্ত করে; একটি পরিচালিত Mac-এ VPN হয়তো আপনার যোগ করা পরিষেবা নয়, বরং সেই প্রোফাইলগুলোর একটির ভেতরের পেলোড।
প্রথমটির উপর ভরসা না করে তালিকাগুলো একসাথে পড়ুন। scutil-এ থাকা কিন্তু সেটিংসে না থাকা পরিষেবা সাধারণত বোঝায় তৃতীয় পক্ষের ক্লায়েন্ট টানেলের মালিক এবং নিজের জানালায় তা দেখায়। উভয় দৃশ্যে থাকা কিন্তু সেটিংসে ধূসর পরিষেবা বোঝায় নীতি। মুছে ফেলার পরে যে নাম আবার দেখা যায় তা বোঝায় কিছু একটি তা আবার তৈরি করে, এবং সেই কিছুই আসল লক্ষ্য।
মালিকের মাধ্যমে পরিষেবাটি সরান
আপনি নিজে যোগ করা পরিষেবার জন্য নথিভুক্ত পথেই থাকুন: সিস্টেম সেটিংস, VPN, তথ্য বোতাম, রিমুভ কনফিগারেশন। Apple এই প্রবাহ নথিভুক্ত করে এবং এটি কনফিগারেশন স্টোরকে সামঞ্জস্যপূর্ণ রাখে। নেটওয়ার্ক স্ট্যাক চলার সময় preferences.plist হাতে সম্পাদনা করাই এমন ডুপ্লিকেট বা জম্বি পরিষেবা পাওয়ার উপায় যা কোনো ইন্টারফেস সরাবে না।
টার্মিনাল থেকে networksetup -removenetworkservice "Service Name" দিয়ে নাম ধরে পরিষেবাটি সরান, তারপর scutil --nc list দিয়ে নিশ্চিত করুন। কমান্ডটি ইন্টারফেসের মতো একই পরিষেবা তালিকায় কাজ করে, তাই যে নাম networksetup -listallnetworkservices-এ নেই তা কোনও পথেই সরানো হবে না। যখন কোনো ক্লায়েন্ট টানেলের মালিক, তখন আগে সেই ক্লায়েন্টের সরানো বা আনইনস্টল পথ ব্যবহার করুন, কারণ ক্লায়েন্ট পরের বার চালু হলে পরিষেবাটি আবার তৈরি করে।
VPN যদি ডিভাইস ম্যানেজমেন্ট থেকে আসে, আপনি মালিক নন। MDM-এর ইনস্টল করা প্রোফাইল অ-সরানোর যোগ্য হিসেবে চিহ্নিত হতে পারে, এবং সরানোর যোগ্য একটি পরেও পরের চেক-ইনে আবার পাঠানো হতে পারে। profiles -P দিয়ে নিশ্চিত করুন, তারপর আপনার প্রতিষ্ঠানের অফবোর্ডিং প্রক্রিয়া ব্যবহার করুন। পেলোড স্থানীয়ভাবে মুছে ফেলা হয় ব্যর্থ হয়, নয়তো পুনরায় ইনস্টল শুরু করে।
যে অবশিষ্টাংশ পরিষেবা ছাড়াই আবার সংযোগ করে
সাধারণ «এটা ফিরে এসেছে» প্রতিবেদনটি পরিষেবার প্রত্যাবর্তন নয়, বরং যে এক্সটেনশন এর মালিক। নিবন্ধিত সিস্টেম এক্সটেনশন এবং নেটওয়ার্ক এক্সটেনশন অ্যাপ এক্সটেনশন তালিকা করুন:
systemextensionsctl list
pluginkit -m -p com.apple.networkextension.packet-tunnelএকটি NetworkExtension ক্লায়েন্ট তার টানেল প্রোভাইডারকে নিজের শনাক্তকারীর অধীনে ইনস্টল রাখে, যেকোনো কনফিগারেশন থেকে আলাদা। কনফিগারেশন চলে যাওয়ার পরেও এক্সটেনশন সক্রিয় থাকতে পারে, এবং ক্লায়েন্টের মেনু বার এজেন্ট পরের বার চালু হলে নতুন কনফিগারেশন তৈরি করতে পারে, কখনও আপনি এইমাত্র মুছে ফেলা নামটি পুনরায় ব্যবহার করে। সরানো ব্যর্থ হয়েছে বলে সিদ্ধান্তে পৌঁছানোর আগে লগইন আইটেম এবং /Library/LaunchDaemons-এ ভেন্ডরের হেল্পার পরীক্ষা করুন।
ক্রেডেনশিয়াল দ্বিতীয় অবশিষ্টাংশ। লগইন কীচেইনে সংরক্ষিত পাসওয়ার্ড বা ক্লায়েন্ট সার্টিফিকেট পরিষেবার সাথে মুছে যায় না, এবং একটি IPSec শেয়ার্ড সিক্রেট ঐতিহাসিকভাবে সিস্টেম কীচেইনে থাকে, তাই সরিয়ে আবার যোগ করলে অনেক সময় পাসওয়ার্ড অনুরোধ বাদ পড়ে। Mac যদি আপনার নিয়ন্ত্রণ ছেড়ে যায়, কীচেইন অ্যাক্সেসে পরিষেবার নাম দিয়ে আইটেমটি খুঁজুন এবং সংরক্ষিত ক্রেডেনশিয়াল যে অ্যাকাউন্ট, সার্টিফিকেট বা পিয়ার কী প্রতিনিধিত্ব করে তা বাতিল করুন। কপি করা কনফিগারেশন ফাইল স্থানীয়ভাবে সরানোর পরেও একটি জীবন্ত ক্রেডেনশিয়াল।
সরানো যাচাই করুন এবং ফিরে আসা প্রোফাইল সঠিকভাবে পড়ুন
সরানো সম্পূর্ণ হয় যখন পরিষেবাটি উভয় দৃশ্য থেকে চলে যায় এবং রিস্টার্টের পরেও থাকে না। পরিষেবা আইডির জন্য scutil --nc list দেখুন, scutil --dns দিয়ে নাম রেজলিউশন আপনার প্রত্যাশিত রিজলভার ব্যবহার করে নিশ্চিত করুন, তারপর একবার রিবুট করুন, কারণ অন-ডিমান্ড নিয়ম ও লগইন এজেন্ট এই দুটি জিনিস যা কেবল নতুন বুটেই নিজেদের দেখায়।
এটি যদি এখনও থাকে, আর বেশি বস্তু মুছবেন না। কোন স্তর এটি আবার তৈরি করেছে তা বের করুন: MDM প্রোফাইল পরিষেবাটি আবার পাঠায়, ক্লায়েন্ট এজেন্ট এটি আবার তৈরি করে, বা নাম মেলেনি বলে পরিষেবাটি কখনও সরানো হয়নি। সেই উত্তরই ঠিক করে আপনার ভেন্ডরের আনইনস্টলার, আপনার IT দল, নাকি একই সরানোর ডায়ালগ দিয়ে আরেকবার যাওয়া দরকার। Apple-এর সরানোর নির্দেশিকা আপনার যোগ করা পরিষেবার জন্য সমর্থিত পথ কভার করে; অবশিষ্টাংশ সেই অংশ যা আপনাকে নিজেই যাচাই করতে হবে: একটি VPN কনফিগারেশন সরান।