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

সত্যিই আপনার কোন পরিচয় আছে

সংস্করণ 3-এর স্ট্যাটাস ফাইল সাধারণ সূচনা। CLIENT_LIST অংশে common name, প্রকৃত ঠিকানা, বাইট কাউন্টার ও সংযোগের সময় থাকে; ROUTING TABLE অংশ একটি ভার্চুয়াল ঠিকানাকে common name-এর সাথে শেষ রেফারেন্সের টাইমস্ট্যাম্পসহ মিলিয়ে দেয়। common name-ই স্থির পরিচয়। ভার্চুয়াল ঠিকানা একটি বণ্টন, আর NAT-এর পেছনের প্রকৃত ঠিকানা সেশনগুলোর মধ্যে বদলাতে পারে, সার্ভারে কিছু না বদলেই।

ম্যানেজমেন্ট ইন্টারফেস তার status কমান্ডের মাধ্যমে একই রকম দৃশ্য দেখায় এবং প্রতি সেশনে একটি ক্লায়েন্ট ID যোগ করে। client-kill ঠিক সেই ID-ই প্রত্যাশা করে, আর সেটি টানেল ঠিকানা নয়। সংযোগের সময় কোন common name কোন ঠিকানা পেয়েছিল তা জানতে হলে client-connect স্ক্রিপ্টের পরিবেশে দুটিই থাকে, বিশ্বস্ত বাইরের ঠিকানাসহ, তবে সেই স্ক্রিপ্ট OpenVPN ব্যবহারকারী হিসেবে চলে এবং লিখনযোগ্য লগ পথ দরকার।

What you holdWhere it came fromWhat it can act on
Common nameCLIENT_LIST, or the auth hookkill, and credential revocation
Client IDstatus on the management socketclient-kill, that one session
Tunnel addressROUTING TABLE, client-connect environmentNothing durable, the address is recycled

এখনই মারুন, লগইনে প্রত্যাখ্যান করুন, চিরতরে বাতিল করুন

ম্যানেজমেন্ট ইন্টারফেসে দুটি অপসারণ কমান্ডই সেশন-কাজ। kill একটি common name বা প্রকৃত ঠিকানা ও পোর্ট নেয়; client-kill ক্লায়েন্ট ID নিয়ে সেই ইনস্ট্যান্সটি সঙ্গে সঙ্গে শেষ করে। কোনোটিই ব্লক নয়: বৈধ সার্টিফিকেট ও পাসওয়ার্ডসহ সরিয়ে দেওয়া ক্লায়েন্ট কয়েক সেকেন্ডেই আবার সংযোগ করে, যা পরীক্ষামূলক peer পুনরায় ব্যবহারের সময় ভালো আর ল্যাপটপ চুরি হলে অকেজো।

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

টেকসই অপসারণ এর সবকিছুর নিচে। সার্টিফিকেট বাতিল করুন এবং নিশ্চিত করুন crl-verify এমন তালিকায় নির্দেশ করে যা সার্ভার সত্যিই পুনরায় লোড করে, ccd ডিরেক্টরির ক্লায়েন্ট-নির্দিষ্ট কনফিগারেশন ফাইল নিষ্ক্রিয় করুন, অথবা যে backend-কে authentication হুক জিজ্ঞাসা করে সেখানে অ্যাকাউন্ট নিষ্ক্রিয় করুন। বাতিলও তাৎক্ষণিক নয়: ডিফল্ট reneg-sec সেটিংসে প্রতিষ্ঠিত সেশন পুনরায় আলোচনা পর্যন্ত চলতে পারে, তাই সেশন-কাজ ও ক্রেডেনশিয়াল-কাজ একে অপরের পরিপূরক, বিকল্প নয়।

ম্যানেজমেন্ট সকেট কি খালি?

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

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

লাইভ সার্ভারে আমি যে ক্রম চালাই

সংযুক্ত হন, বর্তমান অবস্থা পড়ুন, এইমাত্র পড়া ID-এর উপর কাজ করুন, তারপর আবার পড়ুন। ডকুমেন্ট থেকে কপি করা মান ভুল মানুষকে মারার সবচেয়ে সাধারণ উপায়।

status                     # note the client ID and common name
client-kill 3              # end that session now
kill Test-Client           # alternative: by common name
status                     # confirm the session is gone

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

নিশ্চিত করুন যে সে দূরে থেকেছে

common name, টানেল ঠিকানা, বাইরের ঠিকানা ও অপসারণের মিনিট লিখে রাখুন। যদি একই common name এক মিনিট পরে আবার দেখা যায়, সেশন-কাজ কাজ করেছে আর ক্রেডেনশিয়াল স্তর করেনি, যা এমন কমান্ডের মেরামতের চেয়ে সম্পূর্ণ আলাদা যা কখনো কার্যকর হয়নি।

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

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