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

সম্পাদনা একটি রূপান্তর, মুছে ফেলা নয়

একটি লগ মানের পাশাপাশি কাঠামোও বহন করে: এই ঠিকানাটি এই সময়ে ওই ঠিকানার সঙ্গে কথা বলেছিল, এবং হ্যান্ডশেক এই ধাপে থেমে গিয়েছিল। মানগুলোই ফাইলটিকে প্রকাশের জন্য বিপজ্জনক করে তোলে। কাঠামোই এটিকে প্রকাশের যোগ্য করে তোলে।

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

আগে অংশ, পরে অপসারণ

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

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

কী কী যেতে হবে, এবং কোন ক্রমে

প্রবেশাধিকার দেওয়া উপাদান দিয়ে শুরু করুন, কারণ এখানে একটি বাদ পড়লে অনুশীলন শেষ: ব্যক্তিগত কী ব্লক, পাসওয়ার্ড, পূর্ব-শেয়ার করা কী, API টোকেন, পুনরুদ্ধার কোড। এগুলো কেবল চিহ্নিতকারী নয়; থ্রেড পড়া যে কেউ এগুলো ব্যবহার করতে পারে। যে পর্ব বাকি সব সরিয়ে এগুলোর একটি রেখে দেয়, সে ব্যর্থ।

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

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

Original kindReplace withKeep
Client addressCLIENT_AWhich side initiated
Server addressSERVER_BPort and protocol
UsernameUSER_1The failure that mentions it
HostnameHOST_1Resolution order

সম্পর্কগুলো নষ্ট করবেন না

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

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

পোর্ট, প্রোটোকল ও দিক যেমন আছে তেমনই থাকে। ঠিকানায় প্লেসহোল্ডার থাকলেই পোর্টে প্লেসহোল্ডার লাগে না।

লগটিকে যে প্রশ্নের উত্তর দিতে হবে তা ধরে রাখুন

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

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

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

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