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

ডায়াল-ইন করার দিক সেবার দিক সম্পর্কে কিছুই বলে না

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

এমন একটি ইনভেন্টরি সিস্টেম কল্পনা করুন যা রোমিং ল্যাপটপের এজেন্টকে জরিপ করে, বা এমন একজন ডেভেলপার যার বাড়ির ওয়ার্কস্টেশন থেকে পরীক্ষামূলক API দরকার। দুজনেই চায় অফিসের দিক থেকে কথোপকথন শুরু হোক, যা স্বাভাবিক ক্লায়েন্ট-থেকে-সার্ভার ধরনের উল্টো।

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

পোর্ট খোলার আগে ফিরতি পথ অনুসরণ করুন

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

সুখবর হলো, ভেতরের পথের জন্য ক্লায়েন্টের বাড়ির রাউটারে পোর্ট ফরওয়ার্ড দরকার হয় না। সেবাটি বাড়ির WAN ঠিকানার বদলে টানেল ঠিকানায় প্রকাশ করার অর্থই এটাই, কারণ বাড়ির WAN ঠিকানায় এক্সপোজার ও NAT নিয়ম সম্পূর্ণ ভিন্ন হতো। বাড়ির রাউটার অফিস থেকে আসা সংযোগ হেয়ারপিন করতে অস্বীকারও করতে পারে, ফলে WAN পথ আপনার VPN-এর সঙ্গে সম্পর্কহীন কারণে ব্যর্থ হয়। ট্রাফিক টানেলের ভেতরে রাখলে দুটি সমস্যাই একসাথে এড়ানো যায়।

লক্ষ্যের দিকটিও পরীক্ষা করুন। কেবল 127.0.0.1-এ বাঁধা একটি সেবা টানেল ইন্টারফেসে আসা সংযোগ গ্রহণ করতে পারে না, গেটওয়ের রুট যতই সঠিক হোক। যে হোস্ট ফায়ারওয়াল নিয়ম কেবল স্থানীয় সাবনেট থেকে পোর্ট অনুমোদন করে, সেটিও অফিসের ট্রাফিক ফেলে দেবে, আর সেই নিয়ম উপরের VPN নীতির থেকে স্বাধীন।

নাম ও ঠিকানা নকশার সিদ্ধান্ত

টানেলের ভেতরের ঠিকানা স্বয়ংক্রিয়ভাবে একটি নাম নয়। আপনি নিয়ন্ত্রণ করেন এমন একটি ব্যক্তিগত DNS রেকর্ড ডিসকভারি প্রোটোকল টানেল পেরোবে বলে আশা করার চেয়ে স্পষ্টতর, কারণ লিংক-লোকাল মাল্টিকাস্ট নাম রেজোলিউশন স্থানীয় সেগমেন্টেই থাকে এবং ক্রস-সাবনেট DNS হয়ে ওঠে না।

ঠিকানার স্থিতিশীলতাও সমান গুরুত্বপূর্ণ। যদি VPN ক্লায়েন্টরা স্বল্প মেয়াদের পুল থেকে ঠিকানা নেয়, তাহলে ল্যাপটপের ভেতরের ঠিকানা সেশনগুলোর মধ্যে বদলে যায় এবং তার ওপর গড়া প্রতিটি বুকমার্ক, ফায়ারওয়াল পরিধি ও মনিটরিং পরীক্ষা নিঃশব্দে ভেঙে পড়ে। একটি রিজার্ভেশন বা নথিভুক্ত ডায়নামিক আপডেট পথ ব্যবহার করুন।

যে VPN পরিচয়ের মালিক তার সঙ্গে নামটি সম্মত করুন, যাতে রেকর্ড, ঠিকানা বণ্টন ও অ্যাক্সেস নীতি তিনটি আলাদা টিকিটে নয়, একসাথে বদলায়।

সদস্যপদ নয়, সেবাটি পরীক্ষা করুন

লক্ষ্য থেকে নিশ্চিত করুন কী শুনছে এবং কোন ঠিকানায়, তারপর ফিরতি পথ সম্পর্কে গেটওয়ের দৃষ্টিভঙ্গি নিশ্চিত করুন:

$ ss -ltnp | grep 8080
LISTEN 0 128 10.80.0.23:8080 0.0.0.0:*
$ ip -4 addr show tun0 | grep inet
inet 10.80.0.23/24 scope global tun0
$ ip route get 10.80.0.1
10.80.0.1 dev tun0 src 10.80.0.23

এখন অফিসের দিক থেকে প্রতিধ্বনি নয়, একটি বাস্তব অনুরোধ দিয়ে পরীক্ষা করুন। সেবার বিরুদ্ধে সফল curl একসাথে রুট, নীতি ও শ্রবণকারীকে প্রমাণ করে, আর সফল পিং কেবল প্রমাণ করে ICMP অনুমোদিত। অনুরোধ ব্যর্থ হলে ফায়ারওয়াল প্রশস্ত করে আশা করার বদলে তিনটি অংশ ধরে পিছনে হাঁটুন।

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

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

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