আপনার Mac-এ একসঙ্গে একটি VPN টানেল, একটি কনটেন্ট ফিল্টার এবং iCloud Private Relay ইনস্টল থাকতে পারে, আর তাদের কোনোটিই বলে না কোনটি নির্দিষ্ট একটি সংযোগের চেহারা গড়ছে। সেটিংসের প্যানেলগুলো একই রকম দেখায়, আইকনগুলোও একই রকম, আর প্রায় প্রতিটি প্রস্তুতকারক নিজের পণ্যকে নেটওয়ার্ক সিকিউরিটি বলে। তিনটি বিষয় এদের আলাদা করে: ট্র্যাফিক আপনার নাম দেওয়া যায় এমন কোনো দূরবর্তী এন্ডপয়েন্ট দিয়ে বেরোয় কি না, একটি নীতি ইঞ্জিন আলাদা আলাদা ফ্লো-তে অনুমোদন-বা-বাতিল সিদ্ধান্ত নিচ্ছে কি না, এবং সুরক্ষাটি Safari-তে গিয়েই থেমে যায় কি না। এই তিনটি পরিষ্কার হয়ে গেলে আমার VPN চালু আছে কি না — এমন বেশিরভাগ প্রশ্নের উত্তর নিজেই মিলে যায়।

উপাদানটি চেনার তিনটি শর্ত

প্রথম শর্ত হলো নির্গমন। একটি টানেল প্রোভাইডার প্যাকেটগুলো একটি দূরবর্তী গেটওয়েতে পাঠায়, তাই আপনার পাবলিক ঠিকানা বদলে যায় এবং প্রোফাইলে বলা থাকলে ওই গেটওয়ের পেছনের হোস্টগুলো নাগালে আসে। ঠিকানা যদি কখনো না বদলায় এবং কোনো প্রাইভেট সাবনেট খুলে না যায়, তবে মেনু বারে যা-ই লেখা থাকুক, আপনি একটি সক্রিয় টানেল দেখছেন না।

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

তৃতীয় শর্ত হলো পরিসর। Private Relay পুরো ডিভাইস নয়, ব্রাউজিংয়ের একটি নির্দিষ্ট অংশ রক্ষা করে, আর এর কাজ হলো আপনি কে এবং আপনি কোন সাইটে যান — এই দুটিকে আলাদা রাখা, আপনাকে অন্য কোনো নেটওয়ার্কে বসানো নয়।

তিনটিকে পাশাপাশি রাখলে সীমানা মিস করা কঠিন:

LayerQuestion it answersEvidence to look forWhat it does not do
VPN tunnel providerWhere does my traffic emerge, and which private networks can I reach?Changed public address, a connected service, a default route through a utun interfaceEnforce per-app content policy
Content filterMay this flow proceed, and who decided?A filter extension in Network Extensions, drop verdicts, an MDM profileSupply a different public exit
iCloud Private RelayCan the local network see which sites Safari loads?A relay egress address in Safari only, the relay toggle in iCloud settingsCover other apps or grant access to a private subnet

কনটেন্ট ফিল্টার একটি নীতি ইঞ্জিন, নির্গমন নয়

macOS-এ ফিল্টার আসে একটি Network Extension হিসেবে, যা Apple-এর ফিল্টার ডেটা প্রোভাইডার ক্লাস NEFilterDataProvider-এর ওপর গড়া। ম্যানেজড ডিপ্লয়মেন্টে এটি MDM পাঠায়, সিস্টেম এক্সটেনশন হিসেবে ইনস্টল হয় এবং System Settings > General > Login Items and Extensions-এ একবার অনুমোদন পায়। এরপর থেকে এটি TCP ফ্লো দেখে, কিছু কনফিগারেশনে UDP-ও, এবং প্রতিটির ওপর একটি রায় দেয়।

ব্যর্থতার ধরনটাই মানুষকে বিভ্রান্ত করে। যে ফিল্টার একটি ফ্লো বাতিল করে, তা টাইমআউট, আটকে থাকা TLS হ্যান্ডশেক বা রিসেট তৈরি করে, যা দেখতে ঠিক এমন টানেলের মতো যেটি উঠেছে কিন্তু ট্র্যাফিক পার করতে পারছে না। পাবলিক ঠিকানা কখনো বদলায়নি, কারণ বদলানোর মতো কোনো নির্গমনই ছিল না।

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

Private Relay ঢাকে Safari-কে, পুরো মেশিনকে নয়

Private Relay যে ব্রাউজিং ঢাকে তা আলাদা আলাদা পক্ষের চালানো দুটি রিলে দিয়ে পাঠায়, তাই কোনো একক অপারেটরের হাতে আপনার পরিচয় ও আপনার গন্তব্য দুটোই থাকে না। এটি গোপনীয়তার নকশা, টানেল নয়: ঢুকে পড়ার মতো কোনো গেটওয়ে নেই, কোনো প্রাইভেট সাবনেট নেই, আর আপনি যে দেশ বাছবেন সেখানে নির্গমন ঠিকানা পিন করার উপায় নেই।

এর পরিসর ইচ্ছাকৃতভাবে সংকীর্ণ — Safari-র ব্রাউজিং এবং তার সঙ্গে যাওয়া DNS লুকআপ ও অসুরক্ষিত HTTP লোড ঢাকে। টার্মিনাল সেশন, মেইল ক্লায়েন্ট, চ্যাট অ্যাপ ও গেম লঞ্চার এর বাইরে থাকে। টার্মিনালে পরীক্ষা করলে যদি এখনও আপনার অ্যাক্সেস-নেটওয়ার্কের ঠিকানা দেখায় আর Safari রিলে ঠিকানা দেখায়, তবে সেটাই প্রত্যাশিত ফল, ভাঙা ইনস্টল নয়।

প্রাপ্যতা শর্তসাপেক্ষ। এতে iCloud+ প্ল্যান লাগে, সব অঞ্চলে এটি দেওয়া হয় না, আর ম্যানেজড নেটওয়ার্ক রিলে অ্যাক্সেস ব্লক করতে পারে; সে ক্ষেত্রে Safari সরাসরি সংযোগে ফিরে যায়। Apple-এর Private Relay পরিচিতি বর্তমান পরিসরের তথ্যসূত্র। VPN প্রোফাইল সংযুক্ত থাকলে এবং ওই ট্র্যাফিক বইলে রিলে তার ওপরে স্তূপ হয় না; পথ ঠিক করে প্রোফাইল।

প্রমাণ সঠিক ক্রমে পড়ুন

সার্ভিসের অবস্থা দিয়ে শুরু করুন, কারণ এটি সবচেয়ে সস্তা সংকেত। scutil --nc list কনফিগার করা VPN সার্ভিসগুলো এবং প্রতিটি সংযুক্ত কি না তা দেখায়। একটি প্রোফাইল বছরের পর বছর সেখানে পড়ে থাকতে পারে, কখনো সংযুক্ত না হয়েই, আর মানুষ এটাকেই নিয়মিত টানেল বলে গোনে।

তারপর ইন্টারফেস ও রুট দেখুন। ifconfig utun ইন্টারফেস দেখায়, কিন্তু শুধু উপস্থিতি খুব একটা প্রমাণ করে না, কারণ macOS VPN ছাড়াও নানা কাজে utun ব্যবহার করে। আসল প্রশ্ন হলো ডিফল্ট রুট কোনোটির দিকে যাচ্ছে, যা route -n get default জানায়।

নাম রিজলিউশনের জন্য scutil --dns সিস্টেম যে রিজলভারগুলো সত্যিই ব্যবহার করবে তা তালিকাবদ্ধ করে, আর সেখানে DNS প্রক্সি প্রোভাইডার দেখা যায়। dig +short example.com এবং dig +short example.com @1.1.1.1 মিলিয়ে দেখলে বোঝা যায় উত্তর দিচ্ছে কোন রিজলভার আর কোনটি আটকানো হচ্ছে।

এক্সটেনশনের কার্যকলাপ ইউনিফায়েড লগে পৌঁছায়: log show --predicate 'subsystem == "com.apple.networkextension"' --last 5m। আপনি খুঁজছেন কোন এক্সটেনশন চালু হলো এবং আপনার সংশ্লিষ্ট ফ্লো-তে ফিল্টার কোনো রায় জানাল কি না — মুখস্থ করার মতো কোনো লাইন নয়।

কিছু বন্ধ করার আগে লক্ষণটি সংকীর্ণ করুন

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

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

আরেকটি ফাঁদ: VPN পরীক্ষা করতে Private Relay বন্ধ করলে বিদেশি ট্র্যাফিক সম্পর্কে কিছুই জানা যায় না, কারণ রিলে শুরুতেই ওই ট্র্যাফিক ঢাকত না। প্রতিটি স্তরকে যে অ্যাপের ওপর সে সত্যিই কর্তৃত্ব করে, সেটির ওপরেই পরীক্ষা করতে হবে।

এই তালিকাটি ধরে এগিয়ে যান এবং প্রথম যে ধাপে ব্যর্থ হয় সেখানেই থামুন:

  • scutil --nc list কি আপনার প্রত্যাশিত সার্ভিসটিকে সংযুক্ত হিসেবে দেখায়?
  • টার্মিনাল থেকে দেখা পাবলিক ঠিকানা কি আপনার অ্যাক্সেস নেটওয়ার্ক দেওয়া ঠিকানা থেকে আলাদা?
  • কোনো ফিল্টার এক্সটেনশন ইনস্টল আছে কি, এবং ব্যর্থ ফ্লো-টির জন্য এটি কোনো রায় লগ করেছে কি?
  • ব্যর্থতাটি কি কেবল Safari-তে? তা হলে টানেলকে দোষ দেওয়ার আগে রিলের পরিসর দেখুন।

চারটিই পাস করলে এবং অ্যাপটি তবুও ব্যর্থ হলে সমস্যাটি নেটওয়ার্ক স্তরের ওপরে: প্রক্সি সেটিংস, সার্টিফিকেট ট্রাস্ট, বা অ্যাপ-স্তরের অনুমোদিত তালিকা।

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