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

vips কী চায়, আর কী প্রতিশ্রুতি দিতে পারে না

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

0.0.0.0 চাওয়া মানে যেকোনো উপলব্ধ IPv4 ভার্চুয়াল ঠিকানা চাওয়া, আর সঠিক মান গুরুত্বপূর্ণ না হলে এটি সাধারণত ঠিক। নির্দিষ্ট ঠিকানা চাওয়া গেটওয়ের প্রতি একটি ইঙ্গিত, তার উপর কোনো দাবি নয়।

swanctl খণ্ডটি এবং তার জায়গা

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

connections {
  net {
    local_addrs = 192.0.2.10
    remote_addrs = 203.0.113.5
    vips = 10.77.0.31
    children {
      net { local_ts = dynamic remote_ts = 10.77.0.0/24 }
    }
  }
}

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

swanctl --load-all --file /etc/swanctl/swanctl.conf
swanctl --initiate --child net
swanctl --list-sas

local_ts ট্রাফিক বেছে নেয়, ঠিকানা তৈরি করে না

local_ts চাইল্ড SA যে ট্রাফিক সেট সুরক্ষা করে তার নাম দেয়; এটি ইন্টারফেসে কোনো ঠিকানা বসায় না। একবার ভার্চুয়াল IP নিয়ে সমঝোতা হলে, strongSwan তার ডিফল্ট গতিশীল সিলেক্টর ব্যবহার বন্ধ করে এবং বরাদ্দ করা ঠিকানাটি ব্যবহার করে। সিলেক্টরটিকে আক্ষরিক ঠিকানায় পিন করলে আপনি এমন কিছু দাবি করেন যা গেটওয়ে বরাদ্দ নাও করে থাকতে পারে, তাই ব্যর্থতাটি এমন একটি সচল SA হিসেবে দেখা যায় যার ট্রাফিক কোথাও যাচ্ছে না। সিলেক্টর ট্রাফিক বর্ণনা করে, আর বরাদ্দ আসে অন্য বিনিময় থেকে।

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

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

উত্তরদাতা আসলে কী বরাদ্দ করেছে তা যাচাই করুন

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

আপনার নোটে চারটি ঠিকানা আলাদা রাখুন: চাওয়া অভ্যন্তরীণ ঠিকানা, বরাদ্দ করা ঠিকানা, মেশিনের LAN ঠিকানা, এবং কোনো ওয়েবসাইট যে পাবলিক এক্সিট জানায়। এগুলো ভিন্ন স্তরের এবং ভিন্ন জায়গায় দেখা যায়। যে রানবুক চারটিই লিখে রাখে, সেটি এমন এক জন অনুসরণ করতে পারে যে জিজ্ঞেস করে না আপনি কোন ঠিকানা বুঝিয়েছেন। প্রতিবার পুনরায় লোডের পরে সেগুলো আবার পড়ুন, কারণ বরাদ্দ করা মানটিই একমাত্র যা চালু টানেলের বর্ণনা দেয়।

স্থির নকশাটি আলাদা রাখুন

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

অন্তর্নির্মিত Mac ক্লায়েন্টে এই অপশন নামগুলোর কোনোটিই নেই। গেটওয়ে যে বরাদ্দ বা সংরক্ষণ দেয় এবং অপারেটর যে প্রোফাইল প্রকাশ করে তা ব্যবহার করুন, এবং বরাদ্দটি ফিরে পড়া পর্যন্ত ক্লায়েন্ট-পক্ষের যেকোনো মানকে ইঙ্গিত হিসেবে ধরুন। রোলব্যাক মানে vips লাইনটি সরিয়ে পুনরায় লোড করা, যা আপনাকে গেটওয়ে ডিফল্টভাবে যা বরাদ্দ করে তাতে ফিরিয়ে দেয়।

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