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

একই গেটওয়েতে দুটি পরিষেবায় পৌঁছানো যেতে পারে ভিন্ন ঠিকানা পরিবার, ভিন্ন সাবনেট ও ভিন্ন নীতির মাধ্যমে।

কাজ করা প্রবাহকে ব্যর্থটি থেকে আলাদা করুন

প্রতিটি পরিষেবাকে নেটওয়ার্কের লক্ষণ নয়, বরং নিজস্ব প্রবাহ হিসেবে দেখুন। একটি দৃষ্টান্তমূলক ক্লায়েন্ট portal.corp.example খুলতে পারে 172.20.4.15:443 ঠিকানায় এবং তবুও ব্যর্থ হতে পারে 172.20.9.40:5432 ঠিকানায় একটি ডেটাবেসে পৌঁছাতে, কারণ ওগুলো দুটি নিয়মসমষ্টিসহ দুটি গন্তব্য। কিছু বদলানোর আগে দুই সারিই লিখে রাখুন, পোর্ট ও প্রোটোকলসহ, কারণ একটি হোস্টে TCP 443 অনুমোদনকারী নিয়ম একই হোস্টে TCP 5432 সম্পর্কে কিছুই বলে না।

ব্যর্থ সারিটিই তদন্ত করার বিষয়। কাজ করা সারি কেবল বলে ভিত্তিরেখা কোথায়, এবং আপনার প্রতিটি পরিবর্তনের পরে সেটিই তুলনার বিন্দু হবে।

নাম তুলনার আগে ঠিকানা তুলনা করুন

প্রতিটি পূর্ণ নাম সেই নীতি দিয়ে সমাধান করুন যা অ্যাপ্লিকেশনটি সত্যিই ব্যবহার করে, তারপর যে ঠিকানা পরিবারটি বেছে নিয়েছে তা লিপিবদ্ধ করুন। একটি নাম IPv6 ঠিকানা ফেরাতে পারে আর অন্যটি IPv4, এবং পুরোনো ক্যাশ করা উত্তর কোনো অনুরোধকে এমন পাবলিক ঠিকানায় পাঠাতে পারে যার প্রাইভেট পরিষেবার সঙ্গে কোনো সম্পর্ক নেই।

ip route get 172.20.4.15
ip route get 172.20.9.40
ip -6 route get 2001:db8:60::20

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

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

প্রোটোকল ও প্রতিক্রিয়ার ধাপ বলে কোথায় থামে

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

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

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

একটি চলক বদলান এবং দুটি অনুরোধই আবার চালান

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

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

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

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