বাড়ির WireGuard টানেলের LAN থেকে ফেরার রুট দরকার
হ্যান্ডশেক সহজ অংশ। রাউটার ও গেটওয়ের মধ্যে কাজের ভাগ ঠিক করুন, ল্যাপটপের সোর্স অপরিবর্তিত রাখুন এবং LAN-কে একটি ফেরার রুট দিন।
বাড়িতে প্রবেশ একটি ব্যক্তিগত সেবা, দ্বিতীয় ইন্টারনেট আউটলেট নয়। WireGuard রাউটারের পিছনে একটি Linux বক্সে শেষ হয়, রাউটার তার আগের কাজ চালিয়ে যায়, আর ল্যাপটপ টানেল দিয়ে শুধু বাড়ির প্রিফিক্স পাঠায়। কোন ডিভাইস ফরওয়ার্ড করে আর কোনটি শেষ করে, সেটাই সেই সিদ্ধান্ত যা থেকে পরের প্রতিটি নিয়ম আসে। এই ভাগ ভুল হলে আপনি এমন NAT ঠিক করতে বসবেন যা কখনো যোগ করার কথা ভাবেননি।
কে ফরওয়ার্ড করে আর কে শেষ করে তা ঠিক করুন
পাবলিক প্রবেশদ্বার রাউটারের: এটি UDP প্যাকেট নেয় এবং Linux হোস্টে পাঠায়। ওই হোস্ট WireGuard শ্রবণকারী ও LAN-এ ফরওয়ার্ডের সিদ্ধান্ত রাখে। বাস্তবে ম্যাপিং UDP 51820-কে 192.168.50.10-এ পাঠায়, আর অ্যাপ্লিকেশনের নিজের পোর্ট বন্ধ থাকে। ভূমিকা আলাদা রাখলে ফায়ারওয়াল ছোট থাকে।
ইন্টারফেস তৈরির আগে ঠিকানা পরিকল্পনা লিখুন। রাউটার 192.168.50.1, গেটওয়ে 192.168.50.10, সেবা 192.168.50.20, টানেল 10.77.0.0/24 যেখানে গেটওয়ে .1 ও ল্যাপটপ .2। টানেলের রেঞ্জ এমন নেটওয়ার্কের সঙ্গে ওভারল্যাপ করতে পারবে না যা ল্যাপটপ আগে থেকেই পায়, নইলে গন্তব্যগুলো অস্পষ্ট হয়ে যায়. ক্যারিয়ার-গ্রেড NAT বা উপরের রাউটার আগত প্রবেশ আটকাতে পারে, আর কোনো স্থানীয় পোর্ট ফরওয়ার্ড তা সারায় না।
কী বিনিময় করুন, তারপর AllowedIPs-এর আকার ঠিক করুন
প্রতিটি প্রান্তের জন্য আলাদা কী জোড়া তৈরি করুন এবং যাচাই করা চ্যানেল দিয়ে কেবল পাবলিক কী পাঠান। গেটওয়ের পিয়ার এন্ট্রি কেবল ল্যাপটপের টানেল সোর্সকে অনুমতি দেয়, কারণ বাড়ির LAN ল্যাপটপের পিছনে নয়, গেটওয়ের পিছনে। ওই এন্ট্রিতে LAN বসালে এমন টপোলজি বর্ণিত হয় যা আপনি বানাননি।
[Interface]
Address = 10.77.0.2/32
PrivateKey = LAPTOP_PRIVATE_KEY_BASE64
[Peer]
PublicKey = HOME_PUBLIC_KEY_BASE64
Endpoint = home-vpn.example.com:51820
AllowedIPs = 192.168.50.0/24, 10.77.0.1/32AllowedIPs হলো বাড়ির প্রিফিক্স যোগ গেটওয়ের টানেল ঠিকানা, কখনো 0.0.0.0/0 নয়, তাই সাধারণ ব্রাউজিং নিজের স্থানীয় পথ ধরে রাখে। একটিই কনফিগারেশন মালিক রাখুন, এবং একই ইন্টারফেস কখনো দ্বিতীয় নেটওয়ার্ক ম্যানেজারে যুক্ত করবেন না।
ফেরার রুটটাই সেই অংশ যা মানুষ বাদ দেয়
এই নকশা ল্যাপটপের 10.77.0.2 সোর্স ধরে রাখে, গেটওয়ে হিসেবে মাস্কারেড না করে, তাই বাড়ির ডিভাইসগুলোকে জানতে হবে কীভাবে এর উত্তর দিতে হয়। বাড়ির রাউটারে 10.77.0.0/24-এর জন্য স্ট্যাটিক রুট যোগ করুন যার পরের হপ 192.168.50.10, এবং wg-quick AllowedIPs থেকে কী তৈরি করে তা তার রেফারেন্সে পড়ুন। ওই রুট ছাড়া সম্পূর্ণ হ্যান্ডশেক এমন অ্যাপ্লিকেশন-উত্তরের সঙ্গে একসাথে থেকে যায় যা কখনো পৌঁছায় না।
রাউটার ওই রুট বহন করতে না পারলে নথিভুক্ত ফেরার নকশা বেছে নিন। চুপচাপ NAT যোগ করলে আপনি এইমাত্র যে সোর্স মডেল লিখলেন তা বদলে যায়।
একটি সেবার অনুমতি দিন, সাবনেটের নয়
গেটওয়েতে IPv4 ফরওয়ার্ডিং চালু করুন এবং ফায়ারওয়ালের তিন দায়িত্ব আলাদা রাখুন: WireGuard শ্রবণকারীকে গ্রহণ করা, ল্যাপটপের সোর্স কেবল 192.168.50.20-এ ফরওয়ার্ড করা, এবং বাকি বাড়ির নেটওয়ার্ক ওই পিয়ারের জন্য বন্ধ রাখা। নিয়মগুলো ইতিমধ্যে ব্যবহৃত ফায়ারওয়াল ম্যানেজারের সঙ্গে মিলিয়ে নিন, তা ফ্লাশ করবেন না। পুরো বাড়ির প্রিফিক্সের রুট মানে ভেতরের প্রতিটি ডিভাইস ব্যবহারের অনুমতি নয়।
অ্যাপ্লিকেশনের নিজের প্রমাণীকরণ ও হোস্ট ফায়ারওয়াল আলাদা দরজা। রুলসেট যে সেবার অনুমতি দেয় তার নাম দিন, যাতে পরের পর্যালোচক তা উদ্দিষ্ট কাজের সঙ্গে মিলিয়ে দেখতে পারেন।
বাইরে থেকে পরীক্ষা করুন, তারপর পরিচ্ছন্নভাবে অবসর দিন
প্রোফাইলগুলো তাদের মালিকের মাধ্যমে চালু করুন, হ্যান্ডশেক নিশ্চিত করুন, তারপর অনুমোদিত বাইরের নেটওয়ার্ক থেকে উদ্দিষ্ট অ্যাপ্লিকেশন চালিয়ে উত্তর দেখুন। এমন বাড়ির সেবা চেষ্টা করুন যা অস্বীকৃত থাকা উচিত, কারণ শিথিল নিয়ম অদৃশ্য থাকে যতক্ষণ কিছু তা ব্যবহার না করে। HTTPS-এর জন্য সার্টিফিকেটে থাকা নাম ব্যবহার করুন এবং যাচাই চলতে দিন; কাঁচা ঠিকানা টাইপ করে সতর্কতা পেরোনো পথ সম্পর্কে কিছুই প্রমাণ করে না। PersistentKeepalive ঐচ্ছিক: নিষ্ক্রিয় সময়ের পর NAT-এ আটকে থাকা পিয়ারকে সাহায্য করে, কিন্তু এটি অনুপস্থিত রুট বা অনুমতির সমাধান নয়।
গতিশীল পাবলিক ঠিকানার DNS হালনাগাদ দরকার, আর পরিবর্তনের পর ল্যাপটপকে তার এন্ডপয়েন্ট আবার রিজলভ করতে হয়; নতুন DNS রেকর্ড কনফিগার করা এন্ডপয়েন্ট সরায় না। সংরক্ষিত ও সক্রিয় কনফিগারেশন থেকে পিয়ার সরিয়ে ল্যাপটপ অবসর দিন; কেবল ল্যাপটপ প্রোফাইল মুছলে গেটওয়ের অনুমোদন প্রত্যাহার হয় না।