23 ঘণ্টার VPN রিমাইন্ডার ভুল সেশনে কেন চলে
23 ঘণ্টার নোটিশ একটি সেশন অনুসরণ করবে, অ্যাকাউন্ট নয়। টাইমারটি যে সংযোগ শুরু হয়েছে তার সঙ্গে বেঁধে দিন এবং স্লিপ ও পুনঃসংযোগকে আলাদা ঘটনা হিসেবে ধরুন।
সংযোগ করার বিশ মিনিট পরে নোটিশটি এল। তার নিচের কাউন্টারটি আগের সকাল থেকে, বা অ্যাকাউন্টটি শেষবার প্রমাণীকৃত হওয়ার সময় থেকে চলছিল, এবং সতর্কবার্তায় কিছুই বলেনি কোনটি। এটাই লক্ষণ: আপনার সামনের সংযোগের বাইরে অন্য কিছুর সঙ্গে বাঁধা একটি রিমাইন্ডার।
সমাধান আরও ভালো সতর্কবার্তা নয়। সমাধান হলো প্রয়োজনের কথাটি কোন ঘড়ি বোঝাচ্ছে তা ঠিক করা, তারপর সেই ঘড়িতে বিদ্যমান একটি বস্তুর সঙ্গে টাইমারটি বেঁধে দেওয়া।
কী চালু হলো, আর কী গুনছিল
তিনটি সম্ভাব্য উৎস একই বার্তা দেয়। একটি ক্যালেন্ডার নিয়ম নির্দিষ্ট স্থানীয় সময়ে চলে এবং টানেল সম্পর্কে কিছুই জানে না। ক্লায়েন্টের একটি কাউন্টার যেকোনো সংযোগ চালু থাকলে জমা হয় এবং পুনঃসংযোগ সহ্য করে। একটি গেটওয়ে নীতি সেশনটি সার্ভারের দিকে শেষ করে এবং আগে একটি সতর্কবার্তা পাঠায়।
শুধু শেষ দুটি সেশন নিয়ে, এবং তারাও একমত নয়। ক্লায়েন্ট কাউন্টার স্থানীয় প্রক্রিয়া যা লক্ষ করেছে তা মাপে; গেটওয়ে যা প্রমাণীকৃত ও হিসাব করেছে তা মাপে। স্লিপ, নেটওয়ার্ক পরিবর্তন বা পর্যবেক্ষক পুনরায় চালু হওয়া দুটিকে ঘণ্টার পর ঘণ্টা আলাদা করতে পারে, তাই সতর্কবার্তা ও বাধ্যতামূলক মেয়াদ আলাদা হয়ে যায়।
একটি প্রয়োজনের পিছনে তিনটি ঘড়ি
আপনি আসলে যে বাক্যটি চান তা লিখে শুরু করুন। গেটওয়ে এই সংযোগ শেষ করার আগে সতর্ক করা এক দিনের সংযুক্ত সময়ের পরে মনে করানোর মতো একই প্রয়োজন নয়। এই সেশন 23 ঘণ্টা চালু আছে বলে রিপোর্ট করার মতোও নয়। প্রতিটি সংস্করণ আলাদা ঘটনার নাম দেয়, এবং আলাদা উপাদানকে তার উত্তর দিতে হয়।
তারপর দেখুন তথ্য আছে কি না। স্থানীয় শুরুর টাইমস্ট্যাম্প সার্ভারের উপর নির্ভরতা ছাড়াই সেশনের বয়স দেয়। গেটওয়ে নীতি অবশিষ্ট আয়ু দেয়, কিন্তু কেবল যদি গেটওয়ে তা প্রকাশ করে। ব্যবহার প্রতিবেদন ঘটনার পরে সময়কাল দেয়, যা আগাম নোটিশ চালাতে পারে না।
টাইমারটি সেশনে বাঁধুন, অ্যাকাউন্টে নয়
প্রথমে বস্তুটি বেছে নিন। একটি অ্যাকাউন্টে একাধিক ডিভাইস ও একাধিক একসঙ্গে চলা সেশন থাকতে পারে, তাই ব্যবহারকারীর নামে বাঁধা রিমাইন্ডার বলতে পারে না কোন সংযোগটি বয়সে পৌঁছেছে। এটি প্রোফাইল ও সেই সক্রিয়করণে বাঁধুন, এবং সক্রিয়করণ শেষ হলে অপেক্ষমাণ নোটিশ বাতিল করুন।
| Evidence you can read | What it establishes | Where it misleads |
|---|---|---|
| Connection state changes to active | A session started now | Does not carry the gateway's own session identifier |
| Duration reported at disconnect | Total service time for that session | Arrives too late for any advance notice |
| Interim usage update | Time accounted up to that update | Staleness equals the update interval |
| Local timestamp taken at activation | Age of your observation | Resets whenever the observer restarts |
ওই টেবিলটি আপনার নিজের নোটিফায়ারের জন্য একটি চুক্তি, কোনো ক্লায়েন্টের কলব্যাক API-এর বর্ণনা নয়। ইনস্টল করা পণ্য সংযোগ অবস্থা সম্পর্কে যা নথিভুক্ত করে সেটাই বাঁধার উৎস; যেখানে এটি কেবল প্রমাণীকরণ ঘটনা প্রকাশ করে, সেখানে স্পষ্ট করে বলুন এবং সেশন অনুমান করার বদলে মোটা আচরণ মেনে নিন।
ছোট থ্রেশহোল্ড দিয়ে পরীক্ষা করুন
এক দিনের টাইমার এক দিনের অপেক্ষা দিয়ে কখনো ডিবাগ করবেন না। একটি কনফিগারযোগ্য থ্রেশহোল্ড যোগ করুন, সেটি ত্রিশ সেকেন্ডে রাখুন, এবং ক্রমে চারটি রূপান্তর চালান: সংযোগ, অপেক্ষা, বিচ্ছিন্ন, পুনঃসংযোগ। প্রতিটি রূপান্তর ঠিক একটি অবস্থা পরিবর্তন তৈরি করবে, এবং পুনঃসংযোগ পুরোনোটি উত্তরাধিকার না নিয়ে নতুন সময়সীমা নির্ধারণ করবে।
# current connection state and profile identity
nmcli -f GENERAL.STATE,GENERAL.CONNECTION connection show work
# the notifier unit you wrote: does it restart the deadline or resume it?
journalctl --user -u vpn-timer.service --since "-5 min" -o cat
শব্দ নয়, টাইমস্ট্যাম্পগুলো দেখুন। আগের সেশনের শুরুর সময় নিয়ে আসা নোটিশ ভুল বস্তু বেঁধেছে, এবং একটি মেয়াদের জন্য দুবার আসা নোটিশ মানে পাঠানোর পতাকাটি কখনো সংরক্ষিত হয়নি।
স্লিপ, পুনঃসংযোগ ও হারানো ডেলিভারি
স্লিপ দুই সরল নকশাকেই ভাঙে। মনোটোনিক কাউন্টডাউন মেশিন ঘুমানোর সময় থেমে যায়, ওয়াল-ক্লক মেয়াদ এগিয়ে চলে, এবং স্লিপের সময়ে চালিত টাইমার দেরিতে বা একেবারেই পৌঁছায় না। আপনার প্রয়োজনে কোন আচরণ দরকার তা ঠিক করুন, তারপর থ্রেশহোল্ড পেরিয়ে মেশিন স্লিপে রাখুন এবং নিশ্চিত করুন।
ডেলিভারিও একই যত্ন দাবি করে। নোটিশ দেখানো না গেলে সেটি সারিতে রাখুন, এবং শেষে দেখানোর আগে লক্ষ্য সেশনটি এখনো আছে কি না আবার যাচাই করুন; নাহলে ব্যবহারকারীকে ইতিমধ্যে শেষ হওয়া সংযোগ সম্পর্কে সতর্ক করা হয়। জোরপূর্বক বিচ্ছিন্নকরণ ও শংসাপত্র নবীকরণ এই পথের বাইরে থাকে, কারণ সংযোগের ভাগ্য নিঃশব্দে বদলে দেওয়া রিমাইন্ডার হলো নোটিশের পোশাক পরা একটি নীতি সিদ্ধান্ত।