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

আগে লিসেনারে পৌঁছান

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

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

পিয়ারকে প্রমাণ করুন, তারপর কী উৎপন্ন করুন

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

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

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

তিনটি প্রোটোকল, তিনটি কথোপকথন

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

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

হ্যান্ডশেক যা করে না

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

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

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

ip -brief address show tun0
ip route get 10.60.7.15
resolvectl query intranet.corp.internal

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