Check Point-এর SSL Network Extender লিনাক্সে চারটি চেনা উপায়ে ব্যর্থ হয়, আর তাদের তিনটিকে ভুলভাবে লগইন সমস্যা হিসেবে পড়া হয়। হয় বাইনারি শুরু হয় না, নয় শুরু হয়ে কোনো রুট রাখে না, নয় সংযোগ হয়ে নাম রেজলিউশন মরে যায়, নয় ব্রাউজার পোর্টাল কাজ করে অথচ কমান্ড লাইন করে না। এগুলোকে সেই ক্রমেই কাজ করুন, কারণ প্রতিটি পরেরটির প্রবেশ-শর্ত।

উপসর্গ এক: লগইনের আগেই লোডার অস্বীকার করে

ফায়ারওয়াল থেকে নামানো ইনস্টলার একটি 32-বিট, setuid-root বাইনারি /usr/bin/snx-এ ফেলে। 64-বিট ডিস্ট্রিবিউশনে এটি চলে না যতক্ষণ i386 আর্কিটেকচার চালু না হয় এবং যে লাইব্রেরিগুলোর সাথে এটি লিংক হয় সেগুলো না থাকে।

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install libstdc++5:i386 libstdc++6:i386 libx11-6:i386 libpam0g:i386
ldd /usr/bin/snx | grep "not found"

খালি not found তালিকা তার পরের সব কিছুর জন্য গেট। সঠিক প্যাকেজ সেট রিলিজের মধ্যে বদলায়: একটি কাজ করা রিপোর্টে libstdc++5:i386, libx11-6:i386 আর libpam0g:i386 দরকার ছিল, আরেকটিতে libstdc++6:i386-ও দরকার ছিল। ভিন্ন ডিস্ট্রিবিউশনের জন্য লেখা টিউটোরিয়াল থেকে প্যাকেজ তালিকা কপি না করে ldd পড়ুন।

যদি snx একেবারেই না পাওয়া যায়, তাহলে ইনস্টলার কখনো শেষ হয়নি বা আপনার PATH-এর বাইরে কোথাও ইনস্টল হয়েছে। এটি ভিন্ন ব্যর্থতা, আর সিস্টেমে আর্কিটেকচার যোগ করার আগে এটি নিশ্চিত করা উচিত। command -v snx দিয়ে যাচাই করুন এবং ইনস্টলার যে ডিরেক্টরি জানিয়েছে সেখানে দেখুন। যে মেশিনে বাইনারিটিই নেই সেখানে i386 প্যাকেজ যোগ করলে কিছুই ঠিক হয় না।

উপসর্গ দুই: লগইন সফল হয় আর কিছুই রুট হয় না

সফল লগইন tunsnx তৈরি করে আর নিজেই রাউটিং টেবিল সম্পাদনা করে, তাই অন্য কিছু বদলানোর আগে কী সত্যিই আছে তা দেখুন।

ip -br addr show tunsnx
ip route | grep tunsnx
snx -d

ভাঙার জন্য snx -d ব্যবহার করুন। প্রসেস মেরে ফেললে ইন্টারফেস আর তার রুটগুলো থেকে যায়, আর পরের চেষ্টা তখন এমন কারণে ব্যর্থ হয় যার সাথে ক্রেডেনশিয়ালের কোনো সম্পর্ক নেই। প্রথম লগইন /etc/snx/-এর অধীনে একটি সার্ভার স্বাক্ষরও লিখে রাখে, তাই একটি অনটেন্ডেড স্ক্রিপ্টের আদৌ কাজ করার আগে একবার ইন্টারঅ্যাকটিভ রান দরকার হতে পারে। সেই অবস্থা কেবল তখনই মুছুন যখন সার্ভারটি আবার অনুমোদন করার ইচ্ছা আছে।

উপসর্গ তিন: টানেল ওঠার আগ পর্যন্ত নাম রিজলভ হয়

এটিই চুপচাপ ভাঙে। snx পুশ করা DNS সার্ভার সরাসরি /etc/resolv.conf-এ লেখে। যেখানে ওই পথটি /run/systemd/resolve/-এ একটি সিমলিংক, সেখানে পরের রিজলভার ইভেন্টে সম্পাদনাটি হারিয়ে যেতে পারে, আর সংযোগ কাটার পর পুশ করা এন্ট্রিগুলোও একইভাবে থেকে যেতে পারে।

দুটি ব্যবস্থা কাজ করে, আর পছন্দটি প্রথম সার্চ ফলাফল যা প্রস্তাব করেছে তা নয়, সচেতন হওয়া উচিত:

  • ফাইলটি নিজের হাতে নিন: সিমলিংকটির বদলে একটি স্ট্যাটিক ফাইল বসান এবং libnss-resolve আর তার i386 ভ্যারিয়েন্ট ইনস্টল করুন, যাতে ফাইলটি নিচে থেকে আবার লেখা হলেও নেম সার্ভিসের একটি ফলব্যাক থাকে।
  • systemd-resolved-কে মালিক রাখুন এবং টানেল লিংক নিবন্ধন করুন: resolvectl dns tunsnx 10.0.0.10, তারপর resolvectl domain tunsnx corp.example, আর resolvectl status দিয়ে নিশ্চিত করুন।

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

উপসর্গ চার: পোর্টাল কাজ করে আর CLI করে না

সাম্প্রতিক ফায়ারওয়াল রিলিজ মিডলওয়্যারকে ব্রাউজার থেকে লোকাল Java ডেমনে সরিয়েছে, তাই পোর্টাল 14186 পোর্টে একটি লোকাল এজেন্টের সাথে কথা বলে। ওই ঠিকানার জন্য ব্রাউজার সার্টিফিকেট ব্যতিক্রম আর একটি চলমান প্রসেস দরকার।

ps ax | grep cshell
/usr/bin/cshell/launcher

কমান্ড লাইন আলাদা পথ: snx -s vpn.example.com -u user, যেখানে ~/.snxrc সার্ভার, ব্যবহারকারীর নাম আর পুনরায় প্রমাণীকরণের পছন্দ রাখে। কাজ করা পোর্টাল সেশন CLI ঠিকভাবে ইনস্টল হয়েছে কি না তা নিয়ে কিছু বলে না, আর সাধারণ ক্লায়েন্ট একবার ব্যবহারের কোড সামলায় না।

যে কনটেইনার শর্টকাট সাশ্রয়ের চেয়ে বেশি খরচ করে

snx tun মডিউল খোঁজে, না থাকলে লোড করে, একটি টানেল ইন্টারফেস তৈরি করে, রুট আবার লেখে আর ট্রাফিক তার ভেতর দিয়ে পাঠায়। কনটেইনারের ভেতরে সেটি পুনরুৎপাদন করতে হলে /dev আর /lib/modules মাউন্ট করতে হয় এবং বিস্তৃত সক্ষমতা দিতে হয়, যা হোস্টের নেটওয়ার্ক প্রশাসনের বেশিরভাগটাই কনটেইনারকে দিয়ে দেয়।

যখন সত্যিই স্যান্ডবক্স দরকার, ভার্চুয়াল মেশিনই পরিষ্কার সীমানা: ক্লায়েন্ট এমন কার্নেল পায় যা সে বদলাতে পারে, আর হোস্ট তার রুট টেবিল রাখে। যে সক্ষমতা দিতে পস্তাবেন সেগুলোতে দুপুর নষ্ট করার আগেই সেটি বেছে নিন।

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