VPN সাইট সম্প্রসারণ: গেটওয়ের ওপারে ফেরার পথ অনুসরণ করুন
একটি সাইট VPN-কে অন্য ডেটা সেন্টারে সম্প্রসারণ করতে হলে দরকার সামনের রুট আর ফেরার পথ, শুধু নিকট গেটওয়েতে আরেকটি প্রিফিক্স নয়।
শাখার ট্রাফিক এমন একটি গেটওয়েতে শেষ হয় যার LAN-এ সেই অ্যাপ্লিকেশন নেই যা পৌঁছাতে বলা হয়েছিল। সার্ভারটি দ্বিতীয় ডেটা সেন্টারে, এমন একটি অভ্যন্তরীণ লিংকের ওপারে যা VPN কখনো কনফিগার করেনি। নিকট গেটওয়েতে আরেকটি প্রিফিক্স যোগ করলে ওই ক্ষেত্রে কিছুই হয় না, কারণ দূরের গেটওয়ে শেষ রাউটার নয়, একটি এনক্রিপশন এন্ডপয়েন্ট। পথটির দরকার সামনের দিকে একটি রুট, দূরের নিরাপত্তা সীমানায় অনুমোদন এবং গন্তব্য নেটওয়ার্কের ভেতরেই ফেরার সিদ্ধান্ত।
দূরের গেটওয়ে একটি এনক্রিপশন এন্ডপয়েন্ট
গেটওয়ে-থেকে-গেটওয়ে IPsec দুই নিরাপত্তা ডিভাইসের মধ্যে ট্রাফিক রক্ষা করে, আর ভেতরের ঠিকানাগুলো ওই অংশ পেরোয় এনক্রিপ্ট হয়ে। দূরের গেটওয়ের ওপারে স্বাভাবিক রাউটিং কাজ শুরু করে, ডেটা সেন্টারগুলোর মধ্যে যে নীতি থাকুক না কেন তা সহ। তাই সুরক্ষিত অংশটি যাত্রার একটি অংশ ঢাকে, বাকিটা নয়। অন্যথা ধরে নিলেই একটি ডিজাইন সুস্থ টানেল আর পৌঁছানো যায় না এমন অ্যাপ্লিকেশন নিয়ে শেষ হয়।
পথটি তিন টুকরোয় আঁকুন: শাখা থেকে নিকট গেটওয়ে, নিকট থেকে দূরের গেটওয়ে, দূরের গেটওয়ে থেকে অ্যাপ্লিকেশন। প্রতিটি টুকরোর নিজের মালিক আর নিজের ব্যর্থতার ধরন আছে।
টানেল নীতির দুই দিকই পড়ুন
টানেল নীতি সাধারণত স্থানীয় পক্ষের দৃষ্টিকোণ থেকে লেখা হয়, আর সেই অভ্যাস থেকেই আংশিক কনফিগারেশন আসে। দুই পক্ষকেই শাখার উৎস ও গন্তব্য তালিকাভুক্ত করতে হবে যেমন তারা টানেলের ভেতরে দেখা যাবে, ডিজাইনের ইচ্ছাকৃত যেকোনো অনুবাদসহ। শুধু নিকট প্রান্ত হালনাগাদ করলে দ্বিতীয় ধাপে অমিল হয় যা রাউটিং ব্যর্থতার মতো দেখায়। যেকোনো রুট স্পর্শ করার আগে দুই নীতিসেট মিলিয়ে দেখুন।
উৎস ও গন্তব্য সাইটের নাম নয়, ঠিকানা হিসেবে লিখুন। এখানকার অস্পষ্টতা পরে এক ধাঁধাঁর মতো অসমতায় ফিরে আসে।
সামনের রুট যোগ করুন এবং অনুমোদন নিশ্চিত করুন
দূরের গেটওয়ের দরকার অ্যাপ্লিকেশন সাবনেটের দিকে একটি রুট, আর তাদের মাঝের প্রতিটি রাউটারকে শাখার উৎস অনুমোদন করতে হবে। ডায়াগ্রাম যা দাবি করে তা নয়, দূরের গেটওয়ের কাছে আসলে কী আছে তা যাচাই করুন।
ip route get 10.30.5.10 from 10.10.1.50
traceroute -n -s 10.10.1.50 10.30.5.10প্রথম কমান্ডটি জানায় দূরের গেটওয়ে ওই উৎসের জন্য কোন এগ্রেস ইন্টারফেস ও পরের হপ বেছে নেবে, যা সাধারণ রাউটিং টেবিলের উত্তর দেওয়ার প্রশ্ন নয়। ট্রেস দেখায় প্যাকেট কোথায় থামে, আর দূরের গেটওয়ের পরে বিরতি টানেলের নয়, অভ্যন্তরীণ ট্রানজিটের দিকে ইঙ্গিত করে। রুট থাকা সত্ত্বেও ট্রাফিক হারিয়ে গেলে দূরের গেটওয়েতে ক্যাপচার করুন এবং আসা উৎস ঠিকানাটি পড়ুন, কারণ অপ্রত্যাশিত ঠিকানা মানে কোথাও অপরিকল্পিতভাবে অনুবাদ হচ্ছে। এখানে সব ঠিকানা প্লেসহোল্ডার, তাই আসল শাখা, ট্রানজিট ও অ্যাপ্লিকেশন সাবনেট বসান।
শাখা থেকে পরীক্ষা করুন, তারপর পুরোনো পথ আবার পরীক্ষা করুন
গ্রহণের জন্য দূরের গেটওয়ে থেকে প্রোব নয়, আসল উৎস দরকার। শাখার হোস্ট থেকে পরীক্ষাটি চালান এবং আগে কাজ করা গন্তব্যগুলো একই পরীক্ষায় রাখুন।
curl -sS -m 5 http://10.30.5.10:8080/health
ping -c 3 10.20.1.1অ্যাপ্লিকেশন থেকে সাড়া সামনের পথ ও ফেরার পথ একসাথে প্রমাণ করে, আর পুরোনো গন্তব্যে ping প্রমাণ করে পরিবর্তনটি আগে যা কাজ করত তা ভাঙেনি। অ্যাপ্লিকেশন যে উৎস ঠিকানা লগ করে তা ধরে রাখুন, কারণ তার অ্যাক্সেস নিয়ম ও যেকোনো ফেরার রুট ওই মানের সাথে মিলতে হবে। যেখানে শাখা টানেলের আগে অনুবাদ করে, সেখানে নীতির ঠিকানা ও অ্যাপ্লিকেশনের দেখা ঠিকানা ডিজাইন অনুযায়ী আলাদা, তাই দুটোই লিখে রাখুন। কী রিনিউ বা রাউটিং পরিবর্তনের পরে পরীক্ষাটি পুনরাবৃত্তি করুন, কারণ এসব পথ একবার যাচাই হয়েই ভুলে যাওয়া হয়।
তিনটি অংশের প্রতিটির এবং গন্তব্য নেটওয়ার্কের ভেতরের ফেরার রুটের একটি মালিক নির্ধারণ করুন। চার মালিকের পথ তাদের মধ্যেকার ফাঁকে ব্যর্থ হয়।