UDP VPN নিষ্ক্রিয় থাকলে থেমে যায়: ফায়ারওয়াল আপনার ফ্লো ভুলে গেছে
ক্লায়েন্ট এখনও সেশন দেখালেও ফায়ারওয়াল নিষ্ক্রিয় UDP ম্যাপিং ফেলে দিতে পারে। থেমে যাওয়াটা মাপুন, সবচেয়ে ছোট টাইমার খুঁজুন, তারপর সমাধান বাছুন।
VPN সংযুক্ত হয়, কিছুক্ষণ কাজ করে, তারপর ট্রাফিক চলাচল বন্ধ করে দেয়, অথচ ক্লায়েন্ট এখনও সেশন দেখায়। আবার সংযোগ করলে ঠিক হয়ে যায়, তাই এটা ক্লায়েন্টের বাগ মনে হয়। সাধারণত কোনও ফায়ারওয়াল বা NAT ডিভাইস নিষ্ক্রিয় UDP ম্যাপিং ফেলে দিয়েছে এবং টানেলটি এখনও আছে তা জানে না।
লক্ষণটি নির্ণয়ের জন্য যথেষ্ট সামঞ্জস্যপূর্ণ: এটি নিষ্ক্রিয়তার পরে দেখা যায়, লোডের নিচে নয়।
নিষ্ক্রিয় থেমে যাওয়া কেমন দেখায়
বর্ণনা না করে এটি মাপুন। ট্রাফিক বন্ধ হওয়ার আগে টানেল কতক্ষণ নিষ্ক্রিয় থাকে, নতুন আউটবাউন্ড প্যাকেট সেটিকে আবার সচল করে কি না, এবং ক্লায়েন্ট ইন্টারফেস এখনও তার ঠিকানা ধরে রাখে কি না তা লিখে রাখুন। ক্লায়েন্টের নতুন অনুরোধ কাজ করলে কিন্তু বিদ্যমান ফ্লো-এর উত্তরে কাজ না করলে, ম্যাপিংই সন্দেহভাজন। যদি পুনরায় সংযোগ না করা পর্যন্ত কিছুই কাজ না করে, তাহলে ক্লায়েন্টের সেশন অবস্থাও চলে গেছে।
দুটোই নিষ্ক্রিয়তার সঙ্গে সম্পর্কিত, এবং তাদের আলাদা সমাধান দরকার।
কিছু বদলানোর আগে সময়গুলো লিখে রাখুন। প্রায় দশ মিনিট নিষ্ক্রিয় থাকার পরে থেমে যায়—এমন রিপোর্ট পরীক্ষাযোগ্য, কিন্তু এলোমেলোভাবে ড্রপ হয়—এমন রিপোর্ট নয়। এই পার্থক্যই ঠিক করে আপনি টাইমার খুঁজবেন না রাউটিং পরিবর্তন।
যে ডিভাইস ভুলে গেছে তাকে খুঁজুন
একই ফ্লো-এর জন্য একাধিক ডিভাইস অবস্থা ধরে রাখতে পারে: স্থানীয় রাউটার, উপরের দিকের ট্রান্সলেটর, ক্লাউড সীমা এবং হোস্ট ফায়ারওয়াল। প্রত্যেকের নিজের টাইমার আছে, আর সবচেয়ে ছোটটাই জেতে। পাঁচ মিনিটের বিভ্রাট সাধারণত বোঝায় একটি ডিভাইস অন্যগুলোর চেয়ে অনেক কমে কনফিগার করা।
ডকুমেন্টে লেখা ডিফল্টই আপনার পথের টাইমআউট—এটা ধরে নেবেন না। এটি একটি ডিভাইসের ডিফল্ট।
- হোম রাউটার: প্রায়ই মিনিট, মাঝেমধ্যে তার চেয়ে অনেক কম।
- ক্লাউড NAT বা লোড ব্যালান্সার: বিশেষভাবে UDP-এর জন্য ডকুমেন্টে লেখা নিষ্ক্রিয় টাইমআউট খুঁজুন।
- হোস্ট ফায়ারওয়াল: netfilter ট্র্যাকিং টাইমার প্রতিটি ফ্লো-তে প্রযোজ্য।
আসল পথে টাইমারগুলো যাচাই করুন
Linux-এ netfilter ট্র্যাকিং টাইমার দেখা যায় এবং বদলানো যায়: sysctl net.netfilter.nf_conntrack_udp_timeout এবং net.netfilter.nf_conntrack_udp_timeout_stream। দ্বিতীয়টি প্রযোজ্য হয় যখন উভয় দিকে ট্রাফিক দেখা গেছে, তাই প্রতিষ্ঠিত টানেল একটি সাধারণ প্রোবের চেয়ে বেশি দিন টিকতে পারে।
RFC 4787 UDP NAT-এর আচরণ ও সুপারিশকৃত ন্যূনতম মান নির্ধারণ করে। কোনও ভেন্ডরের ডিফল্ট অস্বাভাবিক ছোট মনে হলে এটাই উদ্ধৃত করার রেফারেন্স।
Keepalive আর পুনঃসংযোগ আলাদা দুটি হাতিয়ার
Keepalive ম্যাপিং সচল রাখে; পুনঃসংযোগ মৃত সেশন নতুন করে গড়ে। তারা আলাদা ব্যর্থতা সমাধান করে এবং এরা বিনিময়যোগ্য গতির সেটিং নয়। WireGuard-এর PersistentKeepalive নির্দিষ্ট বিরতিতে প্যাকেট পাঠিয়ে NAT বাইন্ডিং খোলা রাখে। OpenVPN-এর keepalive অপশন নিজের মতো একই কাজ করে। মাঝখানের ডিভাইসটি যদি ফ্লো ভুলে গিয়ে দুই দিকই ফেলে দেয়, তাহলে কোনওটিই সাহায্য করে না।
অত্যন্ত ঘন ঘন প্রোব কাজ বাড়ায়, ভুল সীমা ঠিক করে না।
পাতা রিলোড নয়, নতুন অনুরোধ দিয়ে যাচাই করুন
টাইমার বদলানোর বা keepalive যোগ করার পরে নিষ্ক্রিয় পরিস্থিতিটি আগের মতোই পুনরাবৃত্তি করুন। তারপর আচ্ছাদিত অ্যাপ্লিকেশন থেকে সত্যিই নতুন একটি অনুরোধ করুন। আগেই লোড করা ব্রাউজার ট্যাব ক্যাশ থেকে দেখাতে পারে এবং আপনাকে কিছুই বলে না।
থেমে যাওয়া চলতে থাকলে এক হপ বাইরে গিয়ে সেই ডিভাইসের স্টেট টেবিল দেখুন।