Mac VPN অবস্থা: প্রোফাইল, রিসোর্স নাকি ফ্লো যাচাই করুন
একটি বুলিয়ান তিনটি ভিন্ন প্রশ্নের উত্তর দিতে পারে না। আগে বিষয়টি বেছে নিন, তারপর সেই ইন্টারফেস ব্যবহার করুন যা সত্যিই এটি রিপোর্ট করে, এবং ব্যর্থতার কারণগুলো রাখুন।
কেউ জিজ্ঞাসা করে VPN চালু আছে কি না, আর তিনজন ভিন্ন মানুষ এর দ্বারা তিনটি ভিন্ন বিষয় বোঝেন। একজন অপারেটর বোঝেন Office প্রোফাইল প্রমাণীকরণ শেষ করেছে। একজন শিডিউলার বোঝেন প্রাইভেট API উত্তর দেবে। একটি নিরাপত্তা পর্যালোচনা বোঝেন এই নির্দিষ্ট অনুরোধটি সুরক্ষিত পথ দিয়ে গেছে। যে স্ক্রিপ্ট ইন্টারফেসের নাম খুঁজতে রুট টেবিল grep করে, সে এগুলোর কোনোটিরই নির্ভরযোগ্য উত্তর দেয় না।
তাই চেকলিস্টটি যেকোনো কমান্ড চালানোর আগেই শুরু হয়: যাচাইয়ের বিষয়টির নাম দিন। এর পরে সবকিছু হলো সেই ইন্টারফেস বেছে নেওয়া যা সত্যিই এটি রিপোর্ট করতে পারে।
কমান্ডের আগে বিষয়টির নাম দিন
প্রশ্নটিকে বিষয়সহ একটি সিদ্ধান্তবাক্য হিসেবে লিখুন। “Office প্রোফাইল সংযুক্ত আছে” যাচাইযোগ্য এবং এর একজন মালিক আছে যে উত্তর দিতে পারে। “এই কাজটি অভ্যন্তরীণ API-তে পৌঁছাতে পারে” ভিন্ন ব্যর্থতার ধরনসহ দ্বিতীয় সিদ্ধান্তবাক্য। “এই অনুরোধটি সুরক্ষিত পথ ব্যবহার করে” তৃতীয়টি, এবং এটি একমাত্র যা পুরো মেশিনের বদলে একটি একক ফ্লো নিয়ে কথা বলে।
এগুলো মিশিয়ে দিলে এমন অটোমেশন তৈরি হয় যা আত্মবিশ্বাসের সঙ্গে মিথ্যা বলে। যে কাজ প্রোফাইলের অবস্থা যাচাই করে তারপর ধরে নেয় API প্রস্তুত, সে ভুল স্তরে কাউকে ডাকবে, আর যে কাজ API-তে ping করে সেটিকে টানেলের প্রমাণ বলে, সে কাজ করা VPN-কে অফিস নেটওয়ার্কে থাকা একটি ল্যাপটপ থেকে আলাদা করতে পারে না।
একটি প্রোফাইল: যার মালিকানা আছে তার কাছে জিজ্ঞাসা করুন
একটি নেটিভ Mac সার্ভিসের জন্য, scutil-এর নেটওয়ার্ক সংযোগ নিয়ন্ত্রণগুলো ঠিক এটাই রিপোর্ট করে। তারা কোনো ইন্টারফেস থেকে অনুমান না করে একটি নামযুক্ত কনফিগারেশনের অবস্থা পড়ে।
scutil --nc list
scutil --nc status "Office VPN"
সেই কমান্ডের প্রোফাইল নামটি তালিকার আউটপুট থেকে আসা আসল নাম হতে হবে, অনুমান নয়। এটি নেটিভ সার্ভিসের জন্য একটি শুধুমাত্র-পাঠযোগ্য পথ, এবং এটি কোনো নিশ্চয়তা নয় যে তৃতীয় পক্ষের ক্লায়েন্ট সেখানে আদৌ দেখা যাবে; যে প্রদানকারী নিজের টানেল পরিচালনা করে তার নিজের সমর্থিত স্ট্যাটাস ইন্টারফেস দরকার। স্ট্যাটাস কল লেখার আগে তালিকাটি যাচাই করুন, যাতে অনুপস্থিত নাম নীরবে কিছু না মিলিয়ে দৃশ্যমানভাবে ব্যর্থ হয়।
একটি Network Extension অ্যাপের ভিতরে, সিস্টেম থেকে নয় বরং ম্যানেজার ও সংযোগ অবজেক্ট থেকে স্ট্যাটাস পড়ুন। এখানে পরিধি নিয়ে সতর্ক থাকুন: সংরক্ষিত কনফিগারেশন লোড করলে কেবল কলকারী অ্যাপের তৈরি করা কনফিগারেশন ফেরে, তাই খালি ফলাফল মানে “আমার কোনোটিই নয়”, “এই Mac-এ কোনো VPN নেই” নয়। ব্যর্থ কোয়েরিকে নিশ্চিত বিচ্ছিন্ন অবস্থা থেকে আলাদা করুন, এবং ইতিমধ্যে উঠে আসা সংযোগ আবার চেষ্টা না করে অন্তর্বর্তী অবস্থাগুলোকে আলাদা ফলাফল হিসেবে দেখুন।
একটি কাজ: প্রস্তুতি একটি আলাদা সিদ্ধান্তবাক্য
যদি প্রশ্নটি হয় কোনো কাজ এগোতে পারে কি না, তবে সংযোগের মালিক কাঙ্ক্ষিত অবস্থা রিপোর্ট করার পরে কাজটির প্রকৃত নির্ভরতা যাচাই করুন। প্রাইভেট রিসোর্সের বিপরীতে সীমিত প্রস্তুতি-যাচাই সঠিক রূপ: এটি প্রমাণ করে কাজটির কী দরকার, তার বেশি নয়।
এটি এখনও প্রমাণ করতে পারে না যে মেশিনের প্রতিটি অনুরোধ টানেল ব্যবহার করে, এবং এমনভাবে রিপোর্ট করা উচিত নয় যেন পারে। একইভাবে, সাধারণ নেটওয়ার্কে উত্তর দেওয়া কোনো রিসোর্স VPN-এর প্রমাণ নয়, তাই দুটি যাচাই আলাদা থাকে এমনকি যখন দুটোই সফল হয়।
যখন কাজটির সত্যিই একটি সুরক্ষিত পথ দরকার, সেই প্রয়োজনটির জন্য ডিপ্লয়মেন্টের নিজস্ব প্রয়োগ-নকশা লাগে: রাউটিং, স্প্লিট-টানেল বাদ, একটি ফায়ারওয়াল নিয়ম বা অ্যাপ্লিকেশন-স্তরের প্রয়োজন। একটি এন্ডপয়েন্টের প্রাপ্যতা একটি সার্ভার সম্পর্কে তথ্য। প্রয়োগ হলো ক্লায়েন্টের কনফিগারেশন সম্পর্কে তথ্য, আর একটি অন্যটিকে প্রমাণ করে না।
একটি ফ্লো: নির্বাচিত রুট পরীক্ষা করুন
একক ফ্লোর জন্য, গন্তব্য, ঠিকানার পরিবার ও উৎস প্রসঙ্গ দেখুন সেই রাউটিং ডায়াগনস্টিক দিয়ে যা ওই নির্দিষ্ট গন্তব্যের জন্য নির্বাচিত পথ রিপোর্ট করে। সেই আউটপুট প্রকৃতপক্ষে ব্যবহৃত ইন্টারফেস ও উৎস ঠিকানার নাম দেয়, যা একটি ডিফল্ট রুট এন্ট্রির চেয়ে অনেক শক্তিশালী দাবি।
বিস্তৃত ব্রাউজার যাচাই সম্পূর্ণ ভিন্ন প্রশ্নের উত্তর দেয়। একটি পাবলিক IP ফলাফল বর্ণনা করে একটি সার্ভারের দৃষ্টিকোণ থেকে একটি অনুরোধ কেমন দেখাচ্ছিল, এবং এটি প্রাইভেট DNS, বাদ দেওয়া অ্যাপ্লিকেশন বা অন্য কোনো প্রসেস ব্যবহার করছে এমন দ্বিতীয় নেটওয়ার্ক প্রসঙ্গ সম্পর্কে কিছুই বলে না।
কলকারীর ব্যবহারযোগ্য একটি ফলাফল ফেরত দিন
সিদ্ধান্তবাক্যের সঙ্গে মানানসই রিটার্ন-আকৃতি বেছে নিন: নামযুক্ত প্রোফাইল অবস্থা, রিসোর্স প্রস্তুতির রায়, অথবা যে প্রমাণ এটি তৈরি করেছে তা-সহ স্পষ্ট অজানা। রায়ের পাশে কনফিগারেশনের পরিচয় ও ব্যর্থতার কারণ রাখুন।
সেই শেষ অভ্যাসটিই পার্থক্য গড়ে তোলে সহায়ক অটোমেশন আর সমস্যা লুকানো অটোমেশনের মধ্যে। “Office VPN: বিচ্ছিন্ন, শেষ চেষ্টা প্রমাণীকরণে ব্যর্থ” একজন অপারেটরকে বলে কোথায় দেখতে হবে। “VPN ডাউন” পুনরায় ইনস্টল করতে আহ্বান করে, আর “ইন্টারফেস পাওয়া গেছে” মিথ্যা সব-ঠিক-আছে-এর দিকে নিয়ে যায়।
Network Extension রেফারেন্সটি সংরক্ষিত টানেল কনফিগারেশন লোড করার বিষয়ে হলো সেই জায়গা যেখানে এর উপরে কিছু তৈরি করার আগে কলকারী অ্যাপের পরিধি নিশ্চিত করবেন।