একটি অ্যাপ্লিকেশন ব্যর্থ হয় আর দোষ পড়ে VPN-এর উপর, কিন্তু অনুরোধটি কখনও টানেলে পৌঁছায় না। macOS যদি সেই অ্যাপ্লিকেশনকে এখনও একটি লোকাল প্রক্সি ব্যবহার করতে বলে, তবে প্রথম ধাপটি 127.0.0.1 এবং সেখানে কিছুই শুনছে না। Charles বন্ধ করলেই যে সিস্টেম প্রক্সি সেটিংটি এটি ইনস্টল করেছিল তা সবসময় পরিষ্কার হয় না, তাই একটি সুস্থ VPN একটি মৃত সকেটের পিছনে বসে থাকে। এটি নিশ্চিত করে শুধু ভুল অংশটি সারানোর ক্রম এখানে দেওয়া হলো।

প্রথম ধাপ এই Mac, সার্ভার নয়

ঠিকানাটি আক্ষরিকভাবে পড়ুন: 127.0.0.1 হলো আপনার সামনের মেশিন, আর পোর্ট হলো প্রক্সি টুলটি যে পোর্টে শোনার জন্য কনফিগার করা ছিল। সেই শ্রোতা চলে গেলে সংযোগটি টাইমআউটের বদলে সাথে সাথেই প্রত্যাখ্যাত সংযোগ হিসেবে ব্যর্থ হয়, আর সেটিই কাজের সূত্র।

VPN নিজের প্রক্সি সেটিং তৈরি করে না, সিস্টেমের সেটিংও সরায় না। দুটি কনফিগারেশন স্বাধীন, তাই টানেল নিখুঁত হতে পারে অথচ ব্রাউজার অব্যবহারযোগ্য। এই স্বাধীনতার কারণেই VPN পুনরায় সংযোগ, রিবুট এবং নতুন প্রোফাইলের পরেও সমস্যাটি টিকে থাকে। VPN-এর পথে কোনো কিছুই কখনও প্রক্সি স্টোর স্পর্শ করে না।

ধাপ 1: বর্তমান প্রক্সি অবস্থা পড়ুন

শুধু-পড়ার ভিউ দিয়ে শুরু করুন, কারণ কোনো অ্যাপ্লিকেশন এটি ব্যাখ্যা করার আগেই সিস্টেম কী মনে করে তা এটি বলে দেয়:

scutil --proxy

দেখুন HTTPEnable, HTTPProxy, HTTPPort, HTTPS-এর সমতুল্যগুলো এবং যেকোনো ProxyAutoConfigEnable ও তার URL। কোনো কিছু শুনছে না এমন পোর্টে সক্রিয় প্রক্সিই আপনার সমস্যা। PAC URL আরেকটি রূপ: দৃশ্যমান কোনো ম্যানুয়াল ঠিকানা ছাড়াই সেটিংটি সক্রিয় থাকতে পারে, কারণ ফাইলটিই অনুরোধের সময় প্রক্সি বেছে নেয়।

তারপর একই মানগুলো সিস্টেম সেটিংস, নেটওয়ার্ক, আপনি আসলে যে সার্ভিস ব্যবহার করছেন, বিস্তারিত, প্রক্সি-তে যাচাই করুন। GUI আর কমান্ড একই স্টোর পড়ে, তাই অমিল মানে আপনি অন্য একটি সার্ভিস দেখছেন।

ধাপ 2: সেটিংটির মালিক কে তা খুঁজুন

তিন ধরনের মালিক এই অবস্থা তৈরি করে: একটি প্রক্সি টুল যা একটি হেল্পার ইনস্টল করে পরিষ্কার করেনি, আপনার প্রতিষ্ঠানের একটি ম্যানেজড কনফিগারেশন প্রোফাইল, এবং ডিবাগ করার সময় কেউ যোগ করা একটি ম্যানুয়াল সেটিং। প্রত্যেকের জন্য সঠিক সমাধান আলাদা, আর শুধু প্রথমটিই আপনি বিনা দ্বিধায় সরাতে পারেন।

Charles তার ব্রাউজার ও সিস্টেম প্রক্সি ইন্টিগ্রেশন ডকুমেন্ট করে, macOS হেল্পারসহ, তাই আগে তার নিজের নিয়ন্ত্রণ ও বন্ধ করার পথ ব্যবহার করুন। বিশেষাধিকারপ্রাপ্ত হেল্পারটি কনফিগারেশন বদলানোর জন্যই আছে; এটি অসংশ্লিষ্ট সফটওয়্যারকে মেশিনে বিস্তৃত প্রবেশাধিকার দেওয়ার কারণ নয়।

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

ধাপ 3: সবচেয়ে সংকীর্ণ জিনিসটি বদলান

নির্দিষ্ট সার্ভিসের জন্য নির্দিষ্ট অনিচ্ছাকৃত এন্ট্রিটি নিষ্ক্রিয় করুন। প্রতিটি সার্ভিস টগল করবেন না এবং পুরো প্রক্সি প্যানেল পরিষ্কার করবেন না, কারণ VPN সার্ভিস ও তার ভিত্তি Wi-Fi সার্ভিস আলাদা সেটিং রাখে এবং তাদের একটি সঠিক হতে পারে।

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

আক্রান্ত অ্যাপ্লিকেশন থেকে একটি নতুন অনুরোধ আবার চেষ্টা করুন। কিছু অ্যাপ্লিকেশন চালু হওয়ার সময় একবারই প্রক্সি পড়ে, তাই বন্ধ করে আবার খোলা কুসংস্কার নয়, পরীক্ষারই অংশ।

ধাপ 4: প্রক্সি না থাকলেও যদি ব্যর্থ হয়

তাহলে আপনার সমস্যা আলাদা, আর নতুন ত্রুটিই কাজের প্রমাণ। নাম রেজল্যুশন, VPN রাউটিং, TLS বিশ্বাস এবং অ্যাপ্লিকেশন অনুমোদন এই চারটি আলাদা যাচাই, আর প্রতিটি আলাদাভাবে চেনা যায় এমন ব্যর্থতা দেয়।

সার্টিফিকেট বিশ্বাস এই মেরামতের বাইরে রাখুন। বিশ্বস্ত রুট সরানো বা সার্ভার যাচাই দুর্বল করা মৃত প্রক্সি সকেট সারায় না, আর আপনাকে দুইটি পরিবর্তন ও একটি মূল ত্রুটি দিয়ে ছেড়ে দেয়। কর্পোরেট প্রক্সি যদি TLS পরিদর্শন করে, তবে সেটি নিজস্ব বিশ্বাস-প্রয়োজনসহ সচেতন নকশা, ফিরিয়ে নেওয়ার পার্শ্বপ্রতিক্রিয়া নয়। সার্টিফিকেটে হাত দেওয়ার আগে প্রক্সির মালিক দলকে জিজ্ঞাসা করুন, কারণ তাদের উত্তর হবে নীতি নিয়ে আর আপনার উত্তর একটি ব্যর্থ অনুরোধ নিয়ে।

শুরু করার আগে রোলব্যাক লিখে রাখুন: আপনি যে সঠিক প্রক্সি মানগুলো পেয়েছেন তা টুকে রাখুন, যাতে পুনরুদ্ধার স্মৃতিচর্চা নয়, কপি হয়। Charles প্রক্সি কনফিগারেশন ডকুমেন্টেশন আপনার চালানো সংস্করণের জন্য ইন্টিগ্রেশন ও তার বন্ধ হওয়ার আচরণ বর্ণনা করে।

পরের বার VPN-এ কোনো অ্যাপ ব্যর্থ হলে টানেলের আগে প্রথম ধাপটি দেখুন। এটি একটিমাত্র কমান্ড খরচ করে এবং ভুল নির্ণয়ের একটি গোটা শ্রেণিই বাদ দেয়।

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