কিল সুইচ নাকি LAN অ্যাক্সেস? WireGuard-এর জন্য দুটি উত্তর
প্রোফাইলে 0.0.0.0/0 থাকলে Windows ক্লায়েন্ট টানেলের বাইরের ট্র্যাফিক ব্লক করে। আপনার কোন বৈশিষ্ট্য দরকার তা ঠিক করুন, তারপর ডিফল্টটি সেই অনুযায়ী প্রকাশ করুন।
হ্যান্ডশেক সম্পন্ন হয়, ব্রাউজিং কাজ করে, আর প্রিন্টার, NAS ও স্থানীয় SSH হোস্টগুলো উধাও হয়ে যায়। Windows ক্লায়েন্টে এটি সাধারণত রাউটিং ব্যর্থতাই নয়: যে পিয়ারের অনুমোদিত প্রিফিক্সে আক্ষরিক ডিফল্ট থাকে, তা টানেল-বহির্ভূত ট্র্যাফিক ব্লক করুন সক্রিয় করে, এবং সেই অপশনটি ফায়ারওয়াল নিয়ম হিসেবে প্রয়োগ হয় যা অন্য যেকোনো ইন্টারফেস দিয়ে বের হওয়া প্যাকেট ফেলে দেয়। রুট টেবিল এখনও স্থানীয় সাবনেটকে সরাসরি লিঙ্ক হিসেবে দেখায়, তাই উপসর্গটি মিথ্যার মতো মনে হয়। তিনটি শর্ত ঠিক করে এর কী করতে হবে, এবং তাদের মধ্যে কেবল একটি রাউটিং নিয়ে।
দুটি ব্যর্থতা একই উপসর্গ ধরে
প্রথম ব্যর্থতা হলো ক্লায়েন্টের ফেইল-ক্লোজড মোড, আর এর লক্ষণ হলো টানেলের বাইরের সবকিছু থেমে যায় অথচ টানেল নিজে নিখুঁতভাবে কাজ করে। দ্বিতীয়টি প্রকৃত পৌঁছানোর সমস্যা: অনুপস্থিত রুট, ক্লায়েন্টের পেছনের সাবনেটের জন্য সার্ভারে অনুপস্থিত এন্ট্রি, অথবা একই ঠিকানা-পরিসর ভাগ করা দুটি নেটওয়ার্ক। দুটোই এমন মেশিন দেয় যা ব্রাউজ করতে পারে কিন্তু প্রিন্ট করতে পারে না, এবং তাদের সমাধান পরস্পর বিপরীত, তাই রোগনির্ণয় কনফিগারেশনের আগে আসতে হবে।
পার্থক্যসূচক পর্যবেক্ষণ হলো স্থানীয় সাবনেট এখনও রুট টেবিলে আছে কি না, অথচ তার দিকে ট্র্যাফিক ফেলে দেওয়া হচ্ছে।
তিনটি শর্ত উত্তরটি ঠিক করে
প্রথমত, এই মেশিনের কি ফেইল-ক্লোজড দরকার? উত্তর হ্যাঁ হলে, পড়ে যাওয়া টানেলকে ট্র্যাফিক থামাতে হবে, তাকে ফিজিক্যাল ইন্টারফেসে ফিরে যেতে দেওয়া নয়, এবং সেই প্রয়োজনীয়তা স্থানীয় সুবিধার চেয়ে গুরুত্বপূর্ণ। দ্বিতীয়ত, টানেল চালু থাকা অবস্থায় স্থানীয় ডিভাইসগুলো পৌঁছানোর যোগ্য থাকতে হবে কি? প্রিন্টিং, নেটওয়ার্ক স্টোরেজ ও স্থানীয় ব্যবস্থাপনা কনসোল সাধারণ কারণ, এবং এগুলো বৈধ প্রয়োজনীয়তা, যে ব্যতিক্রমের জন্য ক্ষমা চাইতে হয় তা নয়। তৃতীয়ত, প্রোফাইল কি ডিফল্টটিকে আক্ষরিক 0.0.0.0/0 হিসেবে প্রকাশ করে? এই বিশদটিই ক্লায়েন্টের নিয়ম সক্রিয় করে, এবং এটি সম্পাদনযোগ্য।
প্রোফাইলে হাত দেওয়ার আগে এই তিনটির লিখিত উত্তর দিন, কারণ প্রতিটি উত্তর ভিন্ন কনফিগারেশনের দিকে ইঙ্গিত করে।
ফেইল-ক্লোজড বেছে নিন এবং LAN ছেড়ে দিন
লিকেজ যদি স্থানীয় পৌঁছানোর চেয়ে বেশি গুরুত্বপূর্ণ হয়, আক্ষরিক ডিফল্টটি রাখুন এবং টানেল-বহির্ভূত ট্র্যাফিক ব্লক করুন চালু রাখুন। এটি একটি সুসংগত অবস্থান: মেশিনটিকে এমন ডিভাইস হিসেবে ধরা হয় যা হয় টানেলের ভিতরে, নয় অফলাইন, আর স্থানীয় সেবাগুলো অন্য ডিভাইস থেকে বা সার্ভার রাউট করলে টানেল দিয়ে পৌঁছানো হয়। খরচটি বাস্তব এবং তা ডিপ্লয়মেন্ট নোটে উল্লেখ করা উচিত, যে ব্যক্তির প্রিন্ট করা দরকার সে আবিষ্কার করবে এমন নয়।
টানেল পড়ে গেলে ক্যাফে নেটওয়ার্কে যা দেখা যাওয়া উচিত নয় এমন কাজ করা মেশিনের জন্য এটি সঠিক পছন্দ। স্ক্যানারও দরকার এমন বাড়ির ল্যাপটপের জন্য এটি খারাপ ডিফল্ট।
LAN অ্যাক্সেস বেছে নিন এবং ডিফল্টটি অন্যভাবে প্রকাশ করুন
স্থানীয় ডিভাইসগুলো পৌঁছানোর যোগ্য থাকতে হলে, আক্ষরিক ডিফল্ট প্রিফিক্স ছাড়াই একই কভারেজ প্রকাশ করুন। দুটি অর্ধ-প্রিফিক্স প্রতিটি IPv4 ঠিকানা কভার করে, সমতুল্য জোড়া IPv6 কভার করে, এবং ক্লায়েন্ট আর ব্লকিং নিয়ম ঢোকায় না কারণ যে স্ট্রিংটি সে খোঁজে তা অনুপস্থিত।
[Peer]
AllowedIPs = 0.0.0.0/1
AllowedIPs = 128.0.0.0/1
AllowedIPs = ::/1
AllowedIPs = 8000::/1
Endpoint = vpn.example.net:51820
সেই চেকবক্স মুছে ফেললে ক্লায়েন্ট প্রোফাইলে একই দুটি জোড়া লেখে, তাই তৈরি করা ফাইলটিকে উপরের ব্লকের সঙ্গে তুলনা করা অনুমান করার বদলে প্রক্রিয়াটি নিশ্চিত করার দ্রুত উপায়। এর দুটি পরিণতি। কভারেজ অভিন্ন, তাই টানেলের আর কিছুই বদলায় না। সুরক্ষা অভিন্ন নয়: নিয়মগুলো চলে গেলে, পড়ে যাওয়া টানেল মেশিনটিকে তার ফিজিক্যাল ইন্টারফেস ব্যবহার করতে দেয়, আর ফেইল-ক্লোজড ঠিক এটাই প্রতিরোধ করছিল।
বাকি দুটি সন্দেহভাজন যেভাবেই হোক যাচাই করুন
ফায়ারওয়ালের প্রশ্নটি মিটে গেলে নিশ্চিত করুন যে স্থানীয় সাবনেট সত্যিই রাউট হচ্ছে এবং দূর প্রান্ত এই ক্লায়েন্টের পেছনের সবকিছু সম্পর্কে জানে। ক্লায়েন্টের পেছনের LAN-এ পৌঁছাতে হওয়া সার্ভারের হাবে ক্লায়েন্টের অনুমোদিত তালিকায় সেই প্রিফিক্সটি দরকার; তা বাদ দিলে হাব সেই ঠিকানাগুলোর জন্য পিয়ার বাছতে পারে না, এবং কোনো পরিমাণ ক্লায়েন্ট কনফিগারেশন তা তৈরি করে না।
Get-NetConnectionProfile | Select-Object Name, InterfaceAlias, NetworkCategory
Get-NetFirewallProfile | Select-Object Name, Enabled, DefaultOutboundAction
route print 0.0.0.0
নেটওয়ার্ক ক্যাটাগরি মানুষ যতটা আশা করে তার চেয়ে বেশি গুরুত্বপূর্ণ: নতুন তৈরি টানেল অ্যাডাপ্টার পাবলিক হিসেবে শ্রেণিবদ্ধ হলে তার উপর কোন নিয়ম প্রযোজ্য তা বদলে যায়, এবং ফলাফল দূর প্রান্তে ফায়ারওয়াল ব্লকের মতো দেখাতে পারে। রুট প্রিন্ট দেখায় আদৌ কোনো ডিফল্ট আছে কি না, যা নীতি-সমস্যাকে অনুপস্থিত রুট থেকে আলাদা করে।
তারপর এক বসায় তিনটি জিনিস পরীক্ষা করুন: ইন্টারনেট, ঠিকানা দিয়ে একটি স্থানীয় হোস্ট, এবং টানেলের ওপারে একটি হোস্ট। হ্যান্ডশেক কেবল প্রমাণ করে কীগুলো মেলে, তাই তিনটি পরীক্ষাই নীতিটি দেখায়। অপশন মুছে ফেলার পরও স্থানীয় হোস্ট যদি প্রত্যাখ্যান করে, তবে বাকি সন্দেহভাজন হলো রুট, দূর প্রান্তের অনুমোদিত তালিকা এবং ডুপ্লিকেট সাবনেট, সেই ক্রমে।