একটি মেশিনই ওয়েবসাইট ও OpenVPN সার্ভার চালায়, আর প্রলোভন হলো একটি হোস্টনেম সেদিকে নির্দেশ করে কমলা মেঘকে ট্রাফিক গুছিয়ে নিতে দেওয়া। প্রক্সি HTTP ও HTTPS গুছিয়ে দেয়। এটি OpenVPN সেশন গুছিয়ে দেয় না, সেই সেশন কোন পোর্ট ব্যবহার করুক না কেন। দুটি নাম, একটি সরাসরি আর একটি প্রক্সিকৃত, কিছুই খরচ করে না এবং পুরো বিভ্রান্তির শ্রেণিটাই সরিয়ে দেয়।

দুটি নাম, দুটি ট্রান্সপোর্ট

ওয়েবসাইটকে একটি প্রক্সিকৃত রেকর্ড দিন যাতে তার HTTP ও HTTPS ট্রাফিক Cloudflare হয়ে যায়। VPN-কে একটি শুধু-DNS রেকর্ড দিন যা সরাসরি পাবলিক VPN এন্ট্রিতে রিজলভ হয়, এবং ক্লায়েন্টকে তার কনফিগার করা UDP বা TCP পোর্ট ব্যবহার করতে দিন।

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

Cloudflare-এর নেটওয়ার্ক-পোর্ট রেফারেন্স তালিকা করে সাধারণ ওয়েব প্রক্সি কোন পোর্ট গ্রহণ করে। ওই তালিকা ওই পোর্টে HTTP ও HTTPS নিয়ে, সংখ্যা ভাগ করা খেয়ালখুশি প্রোটোকল নিয়ে নয়।

পোর্টই প্রোটোকল নয়

OpenVPN-কে TCP 443-এ সরালে তা HTTPS হয়ে যায় না। প্রক্সি এখনও সংযোগের শুরুতে একটি HTTP অনুরোধ আশা করে, আর OpenVPN ক্লায়েন্ট পরিবর্তে একটি বাইনারি কন্ট্রোল বার্তা পাঠায়। সংযোগটি নেটওয়ার্ক ব্লকের মতো দেখতে ব্যর্থ হয়, কারণ লগে কাজের মতো কিছুই পৌঁছায় না।

যদি প্রয়োজন সত্যিই VPN ডেটা পথে Cloudflare পণ্য বসানো হয়, তবে এমন একটি যাচাই করুন যা আপনার প্রয়োজনীয় প্রোটোকলের সমর্থন নথিভুক্ত করে। কমলা মেঘকে সাধারণ TCP বা UDP টানেল ধরে নেবেন না, কারণ এটি নির্দিষ্ট কাজের জন্য ওয়েব ট্রাফিকের রিভার্স প্রক্সি।

শুধু-DNS রেকর্ড হলো কাজ করা একঘেয়ে উত্তর, এবং প্রথমেই এটির দিকেই হাত বাড়ানো উচিত।

একটি মেশিনের এখনও দুটি লিসেনার দরকার

আলাদা নাম দুটি প্রসেসকে একই সময়ে একই ঠিকানা, পোর্ট ও ট্রান্সপোর্ট দখল করতে দেয় না। যদি ওয়েব সার্ভার ইতিমধ্যে সব ঠিকানায় TCP 443 ধরে থাকে, তবে সচেতন ব্যবস্থা ছাড়া একটি OpenVPN ইনস্ট্যান্সও তা নিতে পারে না।

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

সার্টিফিকেট যে সংযোগকে রক্ষা করে তাকে অনুসরণ করে

ব্রাউজারের Cloudflare-এ TLS সংযোগ এবং Cloudflare-এর আপনার অরিজিনে সংযোগ দুটি আলাদা সার্টিফিকেটসহ দুটি আলাদা সম্পর্ক। ব্রাউজার একটি এজ সার্টিফিকেট দেখে। অরিজিন Cloudflare-কে তার নিজের সার্টিফিকেট উপস্থাপন করে, এবং Cloudflare Origin CA সার্টিফিকেট ঠিক সেই দ্বিতীয় সম্পর্কের জন্যই উদ্দিষ্ট।

সেই অরিজিন সার্টিফিকেট Cloudflare Full (strict) মোডে বিশ্বাস করে এবং এটি সাধারণভাবে বিশ্বস্ত ব্রাউজার সার্টিফিকেট নয়। কেউ যদি শুধু-DNS হোস্টনেমে সরাসরি গিয়ে সতর্কতা পান, এটি বদলে যাওয়া বিশ্বাস-পথের প্রত্যাশিত পরিণতি, এনক্রিপশন থেমে যাওয়ার প্রমাণ নয়।

তাই সরাসরি পরিদর্শিত ওয়েবসাইটের এমন সার্টিফিকেট চেইন দরকার যা তার ব্রাউজারগুলো বিশ্বাস করে। এটি এমন একটি প্রক্সিকৃত সাইটের সঙ্গে সহাবস্থান করতে পারে যার অরিজিনে আদৌ যাওয়ার কথা নয়।

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

প্রকাশ নাম অনুসরণ করে

শুধু-DNS VPN রেকর্ড যে ঠিকানায় নির্দেশ করে তা প্রকাশ করে। যদি সেই ঠিকানাই ওয়েব অরিজিনও হয়, তবে অরিজিন গোপন নয়, আর অন্য নাম প্রক্সিকৃত বলে এটিকে গোপন বলা একটি ভুল যা কেউ স্ক্যান না করা পর্যন্ত টিকে থাকে।

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

তৈরি করা লিংক পাবলিক ওয়েব নাম ও HTTPS স্কিমে রাখুন, এবং ক্লায়েন্ট প্রোফাইল VPN নামে আসল প্রোটোকল ও পোর্টসহ রাখুন। স্বাভাবিক পরিচালনায় কোনও সেবাই অন্যটির প্রক্সি সেটিং উল্টানোর ওপর নির্ভর করা উচিত নয়।

কাজের ক্রম: সাইটের জন্য প্রক্সিকৃত নাম, VPN-এর জন্য শুধু-DNS নাম, আলাদা লিসেনার, প্রতি সম্পর্কে সার্টিফিকেট, তারপর একটি পরীক্ষা যা প্রমাণ করে প্রতিটি নাম কেবল যে সেবায় পৌঁছানো উচিত সেখানেই পৌঁছায়।

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