একটি জেদি PPTP প্রোফাইল সংযোগ করানোর জন্য আপনি একটি লাইন যোগ করলেন, আর এক সপ্তাহ পরে যে L2TP ক্লায়েন্ট মাসের পর মাস কাজ করছিল সেটি থেমে গেল। সহজ পাঠ হলো দুটি প্রোটোকল এখন সংঘর্ষ করছে। বাস্তবে বেশি ঘটে এই যে দুটি ক্লায়েন্টই pppd চালায়, দুটিই একই ডিফল্ট পড়ে, এবং আপনি যে লাইনটি যোগ করেছেন তা কখনোই আপনার ঠিক করা প্রোফাইলে সীমাবদ্ধ ছিল না। শেয়ার করা অপশন ফাইলটিই সেই সংযোগ, আর প্রোটোকল নির্দোষ।

শুরুতে ক্লায়েন্ট কী উত্তরাধিকার পায়

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

তাই কাজের প্রশ্ন হলো কোন VPN নষ্ট হয়েছে নয়, বরং কোন স্তর ওই সেটিংটি দিয়েছে। যে ক্লায়েন্ট নিজের আর্গুমেন্ট নিজেই তৈরি করে সে স্বনির্ভর দেখায়, তবুও সিস্টেম ফাইলের সবকিছুই উত্তরাধিকার পায়।

পরিবর্তনের আগে লাইনটির উৎস নির্ণয় করুন

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

ps -o pid=,args= -C pppd

আর্গুমেন্ট তালিকায় peer নাম থাকলে সেই ফাইলটি পড়ুন। না থাকলে আপনি যে সেটিংটি খুঁজছেন তা একটি শেয়ার করা পথে থাকে। pppd ম্যানুয়াল ওই ফাইলগুলো পড়ার ক্রম এবং কোন অপশন সাধারণ ব্যবহারকারী ওভাররাইড করতে পারেন না তা তালিকাবদ্ধ করে, তাই পরে লেখা একটি লাইন মাঝে মাঝে কিছুই করে না। প্লাগইন পথের মতো সুরক্ষিত অপশন পরবর্তী ব্যবহারকারী-স্তরের লাইন দিয়ে বদলানো যায় না, তাই ভুল ফাইল সম্পাদনা করলে দৃশ্যমান কোনো পরিবর্তন হয় না।

প্রতিটি ক্লায়েন্টের পিছু নেওয়া প্লাগইন লাইন

সিস্টেম ফাইলে লোড করা প্লাগইন সবচেয়ে বড় অপরাধী, কারণ ব্যবহারকারী কোন বোতাম চেপেছে তা নির্বিশেষে একটি নতুন PPP প্রসেস কী লোড করতে চাইবে তা এটি বদলে দেয়। L2TP প্লাগইন হলো চিরাচরিত উদাহরণ: একটি প্রোফাইলের জন্য সঠিক, কিন্তু একই ডিফল্ট থেকে শুরু করা PPTP প্রোফাইলের জন্য অর্থহীন বা ক্ষতিকর।

এটি ক্লায়েন্টের বেছে নেওয়া peer ফাইলে সরান, অথবা ক্লায়েন্ট সমর্থন করলে তার নিজের প্রতি-সংযোগ সেটিংসে সরান। শুধু মুছে ফেললে দ্বিতীয় ক্লায়েন্ট সারানো যায় আর প্রথমটি ভেঙে যায়, আর ঠিক এভাবেই এসব সমস্যা দলগুলোর মধ্যে ভ্রমণ করে।

সরানোর পরে প্রতিটি ক্লায়েন্ট যাচাই করুন

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

sudo pppd call office debug dump

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

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