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

ক্লায়েন্ট এন্ট্রি গন্তব্যের নাম দেয়, লিসেনারের নয়

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

শেল থেকেই এটি যাচাই করতে পারেন। যে ম্যাকটি সার্ভ করছে বলে সন্দেহ করেন সেখানে sudo lsof -nP -iUDP চালান এবং আপনার প্রোটোকল যে পোর্টগুলো ব্যবহার করে সেগুলো দেখুন: IKEv2-র জন্য 500 ও 4500, OpenVPN-র ডিফল্টের জন্য 1194, WireGuard-এর জন্য 51820। শুধু ক্লায়েন্ট মেশিন দূরবর্তী ঠিকানা ও পোর্টের সঙ্গে জোড়া সকেট দেখায়, ওয়াইল্ডকার্ড বাইন্ড নয় যা ইন্টারনেটের যেকোনো কিছু পৌঁছাতে পারে। Network Extension-এর ভিতরে চলা টানেল lsof থেকে লুকাতে পারে, তাই যেভাবেই হোক অ্যাপের নিজের স্টেটাস প্যানেলও মিলিয়ে দেখুন; যা পাবেন না তা হলো এমন কোনো Apple পছন্দ যা এই ম্যাককে গেটওয়ে বানিয়ে দেয়।

তিনটি প্রশ্ন দুই ভূমিকাকে আলাদা করে

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

1. কথোপকথন কে শুরু করে? আপনার ম্যাক যদি বাইরে ডায়াল করে আর অপর পক্ষ উত্তর দেয়, আপনার ক্লায়েন্ট দরকার। ইন্টারনেটের ডিভাইসগুলোকে যদি আপনার নেটওয়ার্কে পৌঁছাতে ভিতরে ডায়াল করতে হয়, আপনার একটি পাবলিক প্রবেশপথসহ গেটওয়ে দরকার, আর ম্যাক সেই গেটওয়ের ক্লায়েন্ট হয়ে থাকতে পারে।

2. টানেল চালু থাকা অবস্থায় কী পৌঁছানোর মতো হতে হবে? একটি হোস্টে একটি সার্ভিস হলো পোর্ট-ফরওয়ার্ডিংয়ের সিদ্ধান্ত। নাম-সমাধানসহ পুরো একটি সাবনেট হলো রাউটিং ও DNS-এর সিদ্ধান্ত, আর এটি ক্লায়েন্ট এন্ট্রি কী বলে তা নয়, বরং গেটওয়েকে কী ফরওয়ার্ড করতে হবে তা বদলায়।

3. গ্রহণকারী প্রান্তে কোন OS সংস্করণ চলে? ম্যাকের ক্ষেত্রে এই প্রশ্নের কঠিন উত্তর আছে। Apple জানায় VPN macOS Server 5.7.1 থেকে সরানো হয়েছে, আর macOS Server অ্যাপটি নিজেই 21 এপ্রিল 2022-এ বন্ধ করা হয়; পুরোনো টিউটোরিয়াল যখন আপনাকে এমন VPN সার্ভিস চেকবক্স দিয়ে নিয়ে যায় যা আর নেই, তখন পড়ার মতো পৃষ্ঠাটি হলো সার্ভিস ইতিহাসের বিজ্ঞপ্তি।

প্রথম উত্তর যদি হয় “কেউ বাইরে থেকে শুরু করে”, তাহলে ম্যাকের ক্লায়েন্ট প্যানেলে সুইচ খোঁজা বন্ধ করুন এবং যে হোস্ট টানেল শেষ করবে সেটি বেছে নিন।

গেটওয়ে এর বদলে কোথায় থাকতে পারে

চারটি বিন্যাস বেশিরভাগ বাড়ি ও ছোট অফিসের ক্ষেত্র কভার করে। আলাদা লেবেলযুক্ত ক্লায়েন্ট মোডের বিপরীতে প্রকৃত সার্ভার মোডযুক্ত রাউটার প্রান্তে টানেল শেষ করে ও হোস্টের সংখ্যা কম রাখে, তবে আপনাকে সেই ফার্মওয়্যারের প্রোটোকল সমর্থনের সঙ্গে বেঁধে রাখে। একটি NAS বা সবসময় চালু মিনি পিসি বিক্রেতার সার্ভার প্যাকেজ চালায় এবং আপনি পড়তে পারেন এমন লগ রেখে দেয়। ছোট ক্লাউড VM আপনাকে নিজের নিয়ন্ত্রণে একটি পাবলিক ঠিকানা দেয় এবং দ্বিতীয় টানেল দিয়ে বাড়িতে পৌঁছায়। WireGuard-ভিত্তিক মেশ ওভারলে, বা পিয়ারদের মধ্যে রিলে করা একটি ম্যানেজড সার্ভিস, দুই প্রান্তকে বাইরে ডায়াল করিয়ে ইনবাউন্ড পোর্ট ফরওয়ার্ডিং এড়িয়ে যায়।

এই বিকল্পগুলোর মধ্যে সীমা সাধারণত আপনার ইন্টারনেট সংযোগ, সফটওয়্যার নয়। ISP যদি আপনাকে ক্যারিয়ার-গ্রেড NAT-এর পিছনে রাখে, রাউটারে যত পোর্ট ফরওয়ার্ডই করুন না কেন পৌঁছানোর মতো প্রবেশপথ তৈরি হয় না, আর সৎ উত্তর হলো রিলে বা মেশ বিন্যাস। আপনার রাউটার যে WAN ঠিকানা জানায় তার সঙ্গে বাইরের পৃথিবী যে ঠিকানা দেখে তা মিলিয়ে দেখুন; দুটি আলাদা হলে এবং রাউটারের মান কোনো প্রাইভেট বা শেয়ার্ড রেঞ্জে পড়লে রিলে ক্ষেত্রের পরিকল্পনা করুন।

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

প্রোফাইল বিতরণের আগে ভূমিকা নিশ্চিত করুন

প্রার্থী গেটওয়েতে ইনস্টলার একটি লিসেনার বানিয়েছে বলে বিশ্বাস না করে সেটির অস্তিত্ব প্রমাণ করুন। macOS-এ এর মানে হলো উপরের পোর্টগুলোতে ছাঁকা sudo lsof -nP -iUDP, আর প্যাকেট ফিল্টার নিয়ম ডিজাইনের অংশ হলে sudo pfctl -s nat। Linux-এ ss -lunp একই তথ্য অস্পষ্টতা ছাড়াই দেখায়।

তারপর নেটওয়ার্কের বাইরে থেকে, প্রোটোকলটি দিয়েই পরীক্ষা করুন। Ping খুব কম প্রমাণ করে: ICMP সাধারণত ছাঁকা হয় এবং UDP 51820 সম্পর্কে কিছু বলে না। মোবাইল ডেটায় ফোন থেকে চালানো বিস্তারিত লগিংসহ ক্লায়েন্ট হ্যান্ডশেক সবচেয়ে সস্তা বাস্তব পরীক্ষা, কারণ এটি দূরবর্তী সহকর্মী যে পথে যাবে সেই একই পথ পেরোয়।

তারপরেই ক্লায়েন্ট প্রোফাইলে হাত দিন। ম্যাকে scutil --nc list সিস্টেম যে VPN সার্ভিসগুলো জানে সেগুলো ছাপে; আপনি এইমাত্র যে গেটওয়ে বানালেন সেটি তাদের মধ্যে না থাকলে আপনি পরীক্ষা করা মেশিনের চেয়ে অন্য একটি মেশিন কনফিগার করছেন। হ্যান্ডশেক LAN-এ সফল হয়ে বাইরে থেকে ব্যর্থ হলে দোষ ইনবাউন্ড পথে: NAT নিয়ম, প্রোভাইডারের CGNAT, বা গেটওয়ের ফায়ারওয়াল, এই ক্রমে।

কিছু বানানোর আগে চারটি বিষয় ঠিক করুন:

  • কোন পক্ষ সংযোগ শুরু করে, আপনার ম্যাক না দূরবর্তী ডিভাইস।
  • গ্রহণকারী হোস্টের OS সংস্করণ ও পণ্য সত্যিই সার্ভার ভূমিকা সমর্থন করে কি না।
  • আপনার ISP আদৌ পৌঁছানোর মতো পাবলিক ঠিকানা দেয় কি না।
  • গেটওয়ে কোন একক পোর্ট ও প্রোটোকল গ্রহণ করবে, আর তার পিছনে কোন সার্ভিস উত্তর দেয়।

পরের ধাপটি সুনির্দিষ্ট: গেটওয়ে হোস্ট বেছে নিন, বাইরে থেকে তার লিসেনার নিশ্চিত করুন, তারপরেই ম্যাকে সেটির দিকে নির্দেশ করা ক্লায়েন্ট এন্ট্রি তৈরি করুন।

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