ZeroTier সদস্যের মাধ্যমে অফিসের লোকাল নেটওয়ার্কে একটি প্রিন্টারে পৌঁছানো একটিমাত্র নিয়মের মতো শোনায়, কিন্তু আসলে এটি তিনটি ভিন্ন জায়গায় তিনটি সিদ্ধান্ত। ওভারলে জানতে হবে লোকাল নেটওয়ার্ক কোথায়, Linux হোস্টকে প্যাকেট ফরওয়ার্ড করতে রাজি হতে হবে, আর লোকাল নেটওয়ার্ককে জানতে হবে উত্তরটি কীভাবে ফেরত পাঠাতে হবে। গেটওয়েতে পোর্ট খোলা একটি ইনবাউন্ড নিয়ম এগুলোর কোনোটিকেই স্পর্শ করে না। এটি সঠিক হোস্টে ভুল যন্ত্র।

তিনটি কাজ, তিনজন মালিক

ম্যানেজড রুটটি ZeroTier নেটওয়ার্ক কনফিগারেশনের। এটি সদস্যদের জানায় যে একটি প্রিফিক্স একটি নির্দিষ্ট সদস্য ঠিকানার মাধ্যমে পৌঁছানো যায়।

ফরওয়ার্ডিং Linux কার্নেলের এবং এর ফায়ারওয়াল নীতি যার কাছে আছে তার। এটি ঠিক করে ওভারলে-এ আসা প্যাকেটটি আবার ফিজিক্যাল ইন্টারফেসে বের হবে কি না। যে হোস্ট ফরওয়ার্ড করে না, সে প্যাকেট গ্রহণ করার পর নীরবে তা ফেলে দেবে। প্রেরক একটি টাইমআউট দেখেন এবং সার্ভিস লগে কিছুই দেখা যায় না।

ফেরার পথটি লোকাল নেটওয়ার্কের। এর হোস্ট ও রাউটারকে জানতে হবে যে ওভারলে প্রিফিক্সে আপনার গেটওয়ের লোকাল নেটওয়ার্ক ঠিকানার মাধ্যমে পৌঁছানো যায়, নইলে কিছু একটা ট্রাফিক অনুবাদ করতে হবে যাতে প্রশ্নটাই না ওঠে।

এগুলোর প্রতিটি সঠিক থাকতে পারে আর অন্যগুলো ব্যর্থ হতে পারে, তাই কেবল গেটওয়ে পিং করা একটি পরীক্ষা তার পেছনের সার্ভিস সম্পর্কে কিছুই প্রমাণ করে না।

ম্যানেজড রুটটি সদস্যের দিকে নির্দেশ করুন

ইচ্ছাকৃত লোকাল প্রিফিক্সের জন্য রুট যোগ করুন গেটওয়ের ওভারলে ঠিকানার মাধ্যমে, তার লোকাল ঠিকানার মাধ্যমে নয়। ওভারলে ঠিকানা হলো যেটিতে অন্য সদস্যরা পৌঁছাতে পারে; লোকাল ঠিকানার অর্থ কেবল তারের উপর।

ডিজাইন কাজ করার জন্য সদস্যদের ম্যানেজড রুট গ্রহণ করতে হবে, এবং তাদের নিজেদের লোকাল নেটওয়ার্ক ইতোমধ্যে আপনার ঘোষিত প্রিফিক্স ব্যবহার করলে চলবে না। বাড়িতে 192.168.60.0/24-এ থাকা একটি দূরবর্তী ল্যাপটপও ওভারলের মাধ্যমে 192.168.60.0/24 রুট করতে পারে না।

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

প্রিফিক্স ও সদস্য ঠিকানা ফায়ারওয়াল নিয়মের সঙ্গে একই নোটে লিখুন, কারণ সবচেয়ে সাধারণ ব্যর্থতা হলো ভুল সদস্যের দিকে নির্দেশ করা রুট।

কার্নেলে ট্রানজিট চালু করুন

কিছু বদলানোর আগে চলমান ফরওয়ার্ডিং মানটি পড়ুন, তারপর সেটিংটি আপনার সিস্টেম ইতিমধ্যে যে প্রক্রিয়া ব্যবহার করে তার মাধ্যমে স্থায়ী করুন, রিবুটে হারিয়ে যাওয়া এককালীন কমান্ডের মাধ্যমে নয়।

যদি UFW নীতিটির মালিক হয়, তবে তার রুট নিয়মগুলো উৎস, গন্তব্য ও ইন্টারফেস জোড়ার জন্য ফরওয়ার্ডিং প্রকাশ করে। এগুলো গেটওয়ের নিজের উপর সার্ভিস খোলা ইনবাউন্ড নিয়ম থেকে আলাদা:

sysctl net.ipv4.ip_forward
sudo ufw route allow in on zt3f2a1c9d out on eth0 proto tcp to 192.168.60.20 port 443
sudo ufw status verbose

ইন্টারফেসের নাম হলো সেই হোস্টের প্রকৃত ওভারলে ডিভাইস, যা আপনি ip link থেকে পড়তে পারেন; এটি সব ইনস্টলেশনে একই স্থির স্ট্রিং নয়। যদি হোস্ট ডিফল্টভাবে ফরওয়ার্ড করে এবং UFW পথে না থাকে, রুট নিয়মটি উপেক্ষিত হবে এবং কার্নেল সেটিংসই গুরুত্বপূর্ণ।

উত্তর কীভাবে ফিরবে তা বেছে নিন

উৎস সংরক্ষণে লোকাল নেটওয়ার্কের সার্ভিস আসল ওভারলে ঠিকানা দেখে এবং তাতে উত্তর দেয়। এর জন্য লোকাল হোস্ট বা তার রাউটারে একটি রুট দরকার যা ওভারলে প্রিফিক্সকে আপনার গেটওয়ের দিকে নির্দেশ করে, আর এটি Linux বাক্সের বাইরের পরিবর্তন।

যখন সেই রুট যোগ করা যায় না, সীমিত উৎস অনুবাদ অনুরোধটিকে লোকাল নেটওয়ার্কের গেটওয়ে থেকে আসা বলে দেখায়। তখন উত্তরগুলো স্থানীয়ভাবে ফিরে আসে এবং লোকাল নেটওয়ার্কের রাউটিং বদলাতে হয় না, তবে সার্ভিস লগে মূল উৎস হারিয়ে যায়।

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

কোনো বিকল্পই লোকাল নেটওয়ার্ক থেকে ইচ্ছামতো ওভারলে সদস্যে অননুমোদিত প্রবেশ দেয় না। যদি তা চাওয়া হয়, তবে সেটি নিজস্ব পর্যালোচনাসহ আলাদা নিয়ম।

প্রকৃত সদস্য থেকে পরীক্ষা করুন

গেটওয়ে থেকে নয়, অন্য সদস্য থেকে সংযোগ করুন এবং একটি অনুমোদিত সার্ভিস চান। তারপর এমন একটি সার্ভিস চেষ্টা করুন যা বন্ধ থাকা উচিত, এবং পুনরায় সংযোগের পরে ও গেটওয়ে রিবুটের পরে দুটি পরীক্ষাই আবার করুন।

যে সদস্য ONLINE জানায়, বা গেটওয়ের ওভারলে ঠিকানায় সফল পিং, রুট, ফরওয়ার্ড নিয়ম বা ফেরার পথ যাচাই করে না:

zerotier-cli listnetworks
ip -4 route get 192.168.60.20
sudo ufw status numbered

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

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