WireGuard পিয়ার ভুল WAN দিয়ে বের হয়: পাঁচটি যাচাই ক্রমানুসারে
একাধিক আপলিংকযুক্ত গেটওয়েতে হ্যান্ডশেক ও ফরোয়ার্ড করা প্রবাহ ভিন্ন পথ নিতে পারে। নিয়ম, মার্ক, অনুবাদ ও উত্তর এই ক্রমে কাজ করুন।
দুটি আপলিংক, একটি গেটওয়ে, এবং একটি WireGuard পিয়ার যার ট্রাফিক বারবার ব্যাকআপ লাইনে উঠে আসে। হ্যান্ডশেক পুরো সময় সুস্থ থাকে। এজন্যই লক্ষণটিকে রাউটিং ত্রুটির বদলে WireGuard-এর ত্রুটি হিসেবে ভুল পড়া সহজ।
নিচের যাচাইগুলো ক্রমানুসারে করুন। প্রতিটির একটি থামার শর্ত আছে, এবং আগে লাফ দিলে সাধারণত আত্মবিশ্বাসী ভুল উত্তর পাওয়া যায়।
হ্যান্ডশেককে ফরোয়ার্ড করা প্রবাহ থেকে আলাদা করুন
এনক্রিপ্টেড পিয়ার বিনিময়ের সার্ভারের পাবলিক ঠিকানায় একটি এন্ডপয়েন্ট রুট আছে। ফরোয়ার্ড করা ক্লায়েন্ট ট্রাফিকের গন্তব্য আলাদা এবং মার্ক বা পলিসি নিয়ম দিয়ে নির্বাচিত হতে পারে। এগুলো একই ইন্টারফেস ভাগ করা দুটি রাউটিং সিদ্ধান্ত। একটিকে অন্যটির প্রমাণ হিসেবে ধরা প্রথম ভুল।
হ্যান্ডশেক থেকে যুক্তি শুরু করতে দেখলেই থামুন। এটি শুধু এন্ডপয়েন্ট পথের প্রমাণ।
পলিসি নিয়ম পড়ুন, ডিফল্ট টেবিল নয়
ডিফল্ট টেবিল দেখায় কোনও পলিসি নিয়ম না মিললে কী হয়। যে গেটওয়ে উৎস, মার্ক বা গন্তব্য অনুযায়ী রাউট করে, সেখানে নির্ধারক নিয়ম অন্য জায়গায় থাকে। সাধারণ টেবিল পুরোপুরি যুক্তিসঙ্গত দেখাতে পারে, অথচ আসল সিদ্ধান্ত হয় তার উপরে।
ip rule show
ip route show table main
ip -4 route get 203.0.113.9 from 10.30.8.2
পলিসি নিয়মগুলো এবং তারা যে টেবিলের দিকে ইশারা করে তা পড়ুন। তারপর নিশ্চিত করুন কোন নিয়ম আপনার পরীক্ষা প্রবাহের সঙ্গে মেলে। যে নিয়ম এমন ইন্টারফেসের উল্লেখ করে যা আর অভীষ্ট আপলিংক বহন করে না, সেটি একটি প্রাপ্তি, খুঁটিনাটি নয়। শেষের রুট লুকআপ টেবিল পড়ে অনুমান করার চেয়ে অনেক দ্রুত উত্তর দেখায়।
মার্ক ও অনুবাদ একসাথে যাচাই করুন
পলিসি রাউটিং চেইনের আগে সেট করা প্যাকেট মার্কের উপর নির্ভর করে। যদি মার্কিং নিয়ম আপনার ট্রাফিক মিস করে, প্রবাহ মূল টেবিলে পড়ে যায় এবং সেখানে যে ডিফল্ট আছে তা দিয়েই বের হয়। ফরোয়ার্ড করা প্যাকেট প্রায়ই স্থানীয়ভাবে তৈরি ট্রাফিকের জন্য লেখা চেইন এড়িয়ে যায়।
nft list chain inet filter prerouting
conntrack -L -s 10.30.8.2 2>/dev/null | head
ip -s link show dev eth1
অনুবাদকে প্রবাহ বহনকারী আপলিংকের সঙ্গে মিলতে হবে। যে নিয়ম প্রাইমারি ঠিকানায় অনুবাদ করে অথচ প্যাকেট ব্যাকআপ লাইনে বের হয়, তা এমন ইন্টারফেসে সম্বোধন করা উত্তর তৈরি করে যা প্রবাহ কখনও ব্যবহার করেনি। অনুবাদ নিয়মের নিজের ইন্টারফেস শর্ত যাচাই করুন। শর্তহীন নিয়ম দ্বিতীয় আপলিংক ব্যবহার না হওয়া পর্যন্ত কাজ করে, তারপর এমনভাবে ব্যর্থ হয় যা বিরতিহীন মনে হয়।
কোন ইন্টারফেস উত্তর বহন করে তা লক্ষ্য করুন
একটি অনুরোধ চলার সময় দুই আপলিংকেই ক্যাপচার করুন। কোন ইন্টারফেস অনুরোধ আর কোনটি উত্তর বহন করে তা নোট করুন। অপ্রতিসম পথ অনুমান করার চেয়ে দেখা অনেক সহজ।
যদি উত্তর ভুল আপলিংক দিয়ে আসে, সমস্যা WireGuard থেকে কানেকশন ট্র্যাকিং বা অনুবাদে সরে গেছে। পিয়ার কনফিগারেশনে কোনও পরিবর্তন এটি ঠিক করবে না।
ফেরার পথ রেখে একটি জিনিস বদলান
গেটওয়েতে পলিসি নিয়ম সম্পাদনার আগে কনসোল বা আউট-অব-ব্যান্ড অ্যাক্সেস রাখুন। একটি পরিবর্তন করুন, একই অনুমোদিত গন্তব্য পরীক্ষা করুন, তারপর পুনরায় সংযোগ করে নিশ্চিত করুন হ্যান্ডশেক এখনও অভীষ্ট এন্ডপয়েন্ট পথ ব্যবহার করছে। দ্বিতীয় ঠিকানা পরিবারে একটি সংখ্যাগত পরীক্ষা যোগ করুন, কারণ শুধু v4 পলিসি একই ভুল খোলা রাখে।
প্রতিটি প্রবাহ কোন আপলিংক ব্যবহার করেছে তা লিখে রাখুন। সেই রেকর্ড পরের প্রতিবেদনকে সারা বিকেলের বদলে দুই মিনিটের যাচাইয়ে পরিণত করে। নেমস্পেস ও রাউটিং নিয়ে WireGuard-এর নোট ব্যাখ্যা করে কীভাবে সচেতনভাবে টানেলযুক্ত ট্রাফিক থেকে এন্ডপয়েন্ট পথ আলাদা করা যায়, যা সাধারণত ডিফল্ট-রুট কাজের চারপাশে কপি করার চেয়ে পরিষ্কার।