Ubuntu 24.04-এ L2TP ভাঙা: xl2tpd নাকি go-l2tp ডেমন?
NetworkManager-এর L2TP প্লাগইনের পেছনের ডেমনটি 24.04-এ বদলে গেছে। কোন পর্যায় ব্যর্থ হয়েছে তা পড়ুন, তারপর একসঙ্গে মুছে ফেলা ও পিন করার বদলে একটি মেরামত বেছে নিন।
Ubuntu 24.04 চুপচাপ NetworkManager-এর L2TP প্লাগইনের পেছনের ডেমনটি বদলে দিয়েছে। পুরোনো পথে ছিল xl2tpd; নতুন প্যাকেজিং একটি Go বাস্তবায়ন নিয়ে আসে, যা kl2tpd নামের ডেমন তৈরি করে। প্লাগইন যেটি ইনস্টল করা আছে সেটিই চালায়, তাই আপগ্রেড আপনার প্রোফাইল বা ক্রেডেনশিয়াল স্পর্শ না করেই ডেমনটি বদলে দিতে পারে। পুরো ব্যর্থতা এটিই: একটি কন্ট্রোল বার্তা যা নতুন ডেমন চেনে না।
প্লাগইনটি IPsec, L2TP ও PPP সমন্বয় করে, তারপর প্রাপ্ত ইন্টারফেসটি NetworkManager-এর হাতে দেয়। এটি নিজে L2TP বাস্তবায়ন করে না।
প্লাগইন একটি সমন্বয়কারী, ডেমন নয়
network-manager-l2tp IPsec সহায়ক, একটি L2TP ডেমন ও PPP চালায় এবং ইন্টারফেসটি ডেস্কটপের সংযোগ ব্যবস্থাপনায় যুক্ত করে। বছরের পর বছর ডেমনটি ছিল xl2tpd, এবং এর কনফিগারেশন উল্লেখ করা প্রতিটি টিউটোরিয়াল সেই ধারণাটি উত্তরাধিকার সূত্রে পেয়েছিল। পরে Debian প্যাকেজিং দুই বাস্তবায়নের যেকোনোটি গ্রহণ করে, এবং 24.04 Go সংস্করণটি ইনস্টল করে, যা kl2tpd দেয়। প্রোফাইলের কোনো ক্ষেত্র আগে কোন ডেমন চলেছিল তা লিপিবদ্ধ করে না, তাই বার্তা প্রত্যাখ্যাত না হওয়া পর্যন্ত বদলটি অদৃশ্য থাকে।
দুটি প্যাকেজই থাকা একটি মেশিনেও আপনি যে বাস্তবায়ন আশা করছেন সেটি না চলতে পারে। নির্বাচন আপনার অনুসরণ করা নির্দেশিকার নয়, প্লাগইনের সিদ্ধান্ত।
মেরামত বাছার আগে পর্যায়টি পড়ুন
journalctl -b --no-hostname _COMM=nm-l2tp-service _COMM=kl2tpd _COMM=xl2tpd _COMM=pppd _COMM=charon _COMM=pluto
ডেস্কটপ বিজ্ঞপ্তিতে ভরসা না করে একটি প্রচেষ্টাকে সহায়কগুলির ভেতর দিয়ে সংযুক্ত করুন। ওই কোয়েরি দেখায় ক্রমটি কোথায় থেমেছে, আর dpkg -l দেখায় কোন বাস্তবায়ন ইনস্টল করা আছে। IPsec পিয়ার প্রতিষ্ঠিত হওয়ার পরে দেখা যাওয়া এবং কন্ট্রোল বার্তা বা অচেনা অ্যাট্রিবিউট উল্লেখ করা ব্যর্থতা ডেমনের দিকে ইঙ্গিত করে। টানেল তৈরি হওয়ার আগেই ব্যর্থতা মানে ডেমন কখনো পৌঁছায়নি।
প্রি-শেয়ার্ড কী মিলে না গেলে এটি IPsec পর্যায়ে শেষ হয় এবং পিয়ারের নাম বলে। টানেল চালু হওয়ার পরে PPP ক্রেডেনশিয়াল সমস্যা দেখা যায় এবং সাধারণত পড়ার মতো CHAP বা MS-CHAP প্রত্যাখ্যান থাকে। দুটোই একই কোয়েরিতে দেখা যায়, এবং এরা আলাদা সমস্যা।
দুটি পথ, এবং তারা মেশে না
sudo apt install xl2tpd sudo apt purge go-l2tp
ওই জোড়া xl2tpd বসায়, তারপর Go ডেমন সরিয়ে দেয়, ফলে প্লাগইনকে সেই বাস্তবায়ন বাছতে দেয় যার ভাষা গেটওয়ে বোঝে। ক্রম গুরুত্বপূর্ণ: প্লাগইন এক বা অন্য বাস্তবায়নের উপর নির্ভর করে, তাই আগে Go প্যাকেজ মুছলে প্লাগইনও নেমে যায়। দ্বিতীয় পথ Go ডেমন রাখে এবং বার্তাটি বোঝে এমন নতুন বিল্ডে যায়, যার অর্থ সাধারণত সংরক্ষকের PPA, আর্কাইভ সংস্করণ নয়। পরিচালিত ফ্লিটে PPA পিন করা ব্যবহারকারীদের প্যাকেজ মুছতে শেখানোর চেয়ে সহজে ন্যায্য।
দুটোকে এক পরিবর্তনে মেলাবেন না। পরের ব্যর্থতা তখন আপনাকে বলতে দেয় না কোন অর্ধেক সাহায্য করেছে, আর ভবিষ্যতের আপগ্রেড আপনি যে প্যাকেজ সদ্য সরিয়েছেন তা ফিরিয়ে আনতে পারে।
টিকিটে ডেমন বাইনারি, তার সংস্করণ ও সঠিক বার্তা লিখুন। যে প্রতিবেদন শুধু বলে রিলিজের পরে L2TP ভেঙেছে তা কেউ পুনরুৎপাদন করতে পারে না, কিন্তু নামকরা অ্যাট্রিবিউট ও প্যাকেজ সংস্করণ তাদের শুরুর জায়গা দেয়।
এটি যা নয়, তিনটি জিনিস
এটি প্রোফাইলের সমস্যা নয়, কারণ একই প্রোফাইল 22.04-এ একই গেটওয়ের সঙ্গে কাজ করেছিল। এটি অনুপস্থিত রুট বা ফায়ারওয়াল পরিবর্তনও নয়, কারণ সেগুলো অন্য জায়গায় ভিন্ন প্রমাণে ব্যর্থ হয়। প্লাগইন পুনরায় ইনস্টল করলেও এটি সারায় না, কারণ একই ডেমন আবার বাছা হয়। কাজের বর্ণনা ডেমনটির নাম ও এটি যে বার্তা প্রত্যাখ্যান করেছে তা বলে।
গেটওয়ে পক্ষের সমাধান অন্য বৈধ ফলাফল। যে ফার্মওয়্যার অ্যাট্রিবিউট পাঠানো বন্ধ করে তা প্রতিটি ক্লায়েন্ট আপগ্রেডে টিকে থাকে, অন্যদিকে প্যাকেজ পিন করা পরের ডিস্ট্রিবিউশন রিলিজে টেকে কেবল যদি কেউ মনে রাখে কেন এটি পিন করা।
দুটি পথকে গতির বদলে রক্ষণাবেক্ষণ ব্যয়ে তুলনা করুন। দুটোই কাজ করতে পারে; কেবল একটি ভাষার অমিল দূর করে।