VPN কি আপনার Mac-এর নাম বদলেছে? তিনটি হোস্টনেম মান তুলনা করুন
Terminal প্রম্পট বদলে যাওয়া মানে নাম বদল নয়। ComputerName, LocalHostName আর HostName ভিন্ন মান ধরে রাখে, আর তাদের একটা প্রায়ই শুধু সেট করা হয় না।
যে প্রম্পট আগে এক কথা বলত, এখন অন্য কথা বলে, আর যে সংযোগটা বদলেছিল সেটি ছিল VPN। Mac-এর নাম বদলেছে বলে সিদ্ধান্তে আসার আগে বেশিরভাগ মানুষের কাছে এটুকুই প্রমাণ থাকে, আর এটা যথেষ্ট নয়। macOS অন্তত তিনটি আলাদা নামের মান রাখে, প্রতিটির কাজ আলাদা, আর একটি শেল প্রম্পট তাদের সর্বোচ্চ একটি দেখায় এমনভাবে যে ভুল পড়া সহজ।
তুলনা করতে তিনটি কমান্ড লাগে এবং কেউ কিছু সম্পাদনার আগেই প্রশ্নটির মীমাংসা হয়।
তিনটি মান, তিনটি কাজ
তিনটিই স্ট্রিং, যা সিস্টেম সানন্দে জানাবে, আর প্রলোভন হলো আপনি যে প্রথমটি পান সেটিকেই প্রামাণ্য ধরে নেওয়া। এভাবেই ব্যবহারকারী ভুল ফিল্ডটি «ঠিক» করে ফেলে আর উপসর্গটা টিকে থাকতে দেখে।
| Value | What it is responsible for |
|---|---|
ComputerName | The friendly name a person sees in About and on the network browser; this is the one users mean by "my Mac's name" |
LocalHostName | The Bonjour name used on the local link, usually shown with a .local suffix in Sharing |
HostName | An explicitly configured host name that may simply not be set at all |
তৃতীয় সারিতেই বেশিরভাগ বিভ্রান্তি শুরু। সেট না করা HostName স্বাভাবিক অবস্থা, নষ্ট হওয়া নয়, আর এর মানে হলো সিস্টেমের হোস্ট নাম দরকার হলে সে অন্য উৎসে ফিরে যায়। এই শূন্যতাকে ক্ষতি হিসেবে পড়লে এমন সংশোধন আসে যা কখনো দরকারই ছিল না। এটি আসল প্রশ্নটিও ঢেকে রাখে, প্রশ্নটা যন্ত্রটিকে কী বলা হয় তা নয়, বরং কোনো নির্দিষ্ট লুকআপ বা প্রম্পট ওই মুহূর্তে কোন নাম ব্যবহার করছে তা। এর উত্তর দিন, শূন্য মানটি আর ত্রুটি মনে হবে না।
লেখার আগে পড়ুন
এই তিনটি কমান্ড শুধু মান জানায়। তারা কিছুই বদলায় না, তাই তদন্তের সময় চালানো নিরাপদ।
scutil --get ComputerName
scutil --get LocalHostName
scutil --get HostName
অনুমোদিত VPN সংযোগের আগে ও পরে একই স্থানীয় সেশনে সেগুলো চালান, আর কোন মান সত্যিই আলাদা তা লক্ষ্য করুন। যদি কিছুই আলাদা না হয় আর প্রম্পট এখনও ভুল দেখায়, তবে নাম কখনোই সমস্যা ছিল না: শেল কনফিগারেশন বা দূরবর্তী সেশনে কিছু একটা ভিন্ন স্ট্রিং দেখাচ্ছে।
কম্পিউটারের নাম ও স্থানীয় হোস্টনেম নিয়ে Apple-এর নির্দেশিকা বন্ধুত্বপূর্ণ নামটি General ও About-এ রাখে, আর স্থানীয় নামটি General ও Sharing-এ। এটি তখন স্বয়ংক্রিয়ভাবে যোগ হওয়া প্রত্যয়ও নথিভুক্ত করে, যখন একই লিংকে অন্য একটি Mac ইতিমধ্যে একটি নাম ব্যবহার করে, যেটি অপ্রত্যাশিত কোনো সংখ্যাকে কারচুপির প্রমাণ ধরার আগে জানা ভালো।
শেল প্রম্পট আসলে কী প্রমাণ করে
প্রম্পট হলো শেলের তৈরি একটি স্ট্রিং, আর তার হোস্টনেম উপাদান বিস্তৃত হোস্ট নাম, তার সংক্ষিপ্ত রূপ, বা প্রোফাইল ফাইলে হার্ডকোড করা মান থেকে আসতে পারে। এটি সম্পূর্ণ ভিন্ন মেশিনের SSH সেশনেরও হতে পারে, যা সবচেয়ে কম জমকালো ব্যাখ্যা এবং VPN সংযোগ দেওয়ার মুহূর্তে বদলে যাওয়া প্রম্পটের জন্য অনেক বেশি সাধারণ ব্যাখ্যা।
কী বলা হচ্ছে তা যাচাই করার আগে কোথায় আছেন তা যাচাই করুন। hostname চালান এবং তিনটি সংরক্ষিত মানের সঙ্গে তুলনা করুন, তারপর শেলের প্রম্পট সেটিং দেখুন যে এটি হোস্ট দেখায় কি না। যদি প্রম্পটে এমন আক্ষরিক স্ট্রিং থাকে যা কেউ বছর আগে কনফিগারেশন ফাইলে টাইপ করেছিল, কোনো সিস্টেম পরিবর্তনই সেটিকে মিলিয়ে দিতে পারবে না।
তুলনাটি রিপোর্টিংয়ের জন্যও জরুরি। আলাদা দেখানো একটি প্রম্পট আর সত্যিই বদলে যাওয়া সংরক্ষিত ComputerName হলো দুটি ভিন্ন মালিকের দুটি প্রাপ্তি, আর তাদের এক বাক্যে মিলিয়ে দেওয়া পরের প্রকৌশলীকে ভুল জায়গায় পাঠায়।
VPN বৈধভাবে নামকরণে কোথায় হাত দিতে পারে
VPN বদলে দেয় কোন রিজলভার ও সার্চ ডোমেইন প্রাসঙ্গিক, আর ক্লায়েন্ট একটিকে গ্রহণ করতে কনফিগার করা থাকলে DHCP-এর মাধ্যমে ক্লায়েন্টকে হোস্ট নাম দিতে পারে। এটি বাস্তব একটি ব্যবস্থা, আর এটি «VPN আমার Mac-এর নাম বদলেছে» এর চেয়ে সংকীর্ণও। রিজলভার বদলালে নির্দিষ্ট ঠিকানার জন্য কোন নাম রিজলভ হয়, তা সংরক্ষিত স্থানীয় মানগুলো আবার লেখে না।
তাই দুটি প্রশ্ন আলাদা করুন। যন্ত্রটির নিজের পরিচয় কি আলাদা, নাকি অন্য কিছুতে পৌঁছাতে সে যে নাম ব্যবহার করে তা আলাদা? প্রথমটির উত্তর দেয় তিনটি সংরক্ষিত মান; দ্বিতীয়টির উত্তর দেয় DNS লুকআপ আর ব্যবহৃত সংযোগ প্রোফাইল। এদের এক প্রশ্ন হিসেবে দেখলে নাম সমাধানের সমস্যার জবাবে পরিচয়ের সেটিংস বদলে ফেলা হয়।
যদি সত্যিই স্থায়ী হোস্টনাম দরকার হয়
মান সেট করা একটি সচেতন প্রশাসনিক কাজ, সৌন্দর্যের পছন্দ নয়, আর মানটি আসা উচিত যন্ত্রটির নামকরণ নীতি যার মালিক তার কাছ থেকে। পরিচালিত কোনো নাম মুছে প্রম্পট চেনা দেখানোর জন্য লেখা হলে সার্টিফিকেট যাচাই, মনিটরিং এবং হোস্ট শনাক্ত করে এমন সব কিছু ভাঙতে পারে।
যেখানে পরিবর্তন সত্যিই প্রয়োজন, যে টুল মানগুলো পড়েছিল সেই একই টুল সেগুলো লেখে, আর HostName সম্পূর্ণ যোগ্যতাসম্পন্ন নাম গ্রহণ করে, বাকি দুটি স্থানীয় রূপ আশা করে। কী বদলালেন ও কেন তা লিখে রাখুন, কারণ এটিই এমন সম্পাদনা যা যন্ত্রটির দিকে তাকানো পরের মানুষকে অবাক করে।
বেশিরভাগ রিপোর্টের জন্য সঠিক উত্তর প্রশ্নটি যতটা বোঝায় তার চেয়ে ছোট: তিনটি মান পড়ুন, কোনটি আলাদা তা চিহ্নিত করুন, শুধু সেটিই ঠিক করুন। প্রম্পট ছিল কোনো কিছুর উপসর্গ, আর তিনটি কমান্ড আপনাকে বলে দেয় কোন কিছুর।