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

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

অ্যাপ্লিকেশনগুলো আসলে কোন তালিকা ব্যবহার করে

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

প্রশ্ন হলো কোন সার্ভারগুলো সামনে এসেছে, এবং সেগুলো স্থির এন্ট্রি হিসেবে এসেছে না DHCP লিজ হিসেবে। দুটি তথ্যই নির্ধারণ করে আপনার কাছে কোন মেরামত উপলব্ধ।

netsh interface ipv4 show dnsservers
Get-DnsClientServerAddress -AddressFamily IPv4

টানেল অ্যাডাপ্টার এবং ভৌত অ্যাডাপ্টারের জন্য আউটপুট পড়ুন, এবং প্রতিটির প্রতিটি ঠিকানা লিখে রাখুন। স্থির এন্ট্রি পলিসি বা স্ক্রিপ্ট দিয়ে সরানো যায়; DHCP-প্রদত্ত এন্ট্রি লিজের সঙ্গে বাঁধা এবং ফিরে আসবে, যা আপনার বেছে নেওয়া মেরামত বদলে দেয়। দূরের নেটওয়ার্কের নাম বিজ্ঞাপিত রিজলভার থেকে রিজলভ হয়, লোকাল LAN-এর নাম ভৌত অ্যাডাপ্টার থেকে, আর কোয়েরি যায় সেই তালিকায় যা আগে দেখা হয়।

পুশ করা সার্ভারগুলো সরান, বা সেগুলোকে নিচে রাখুন

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

netsh interface ipv4 delete dnsservers name="Corp VPN" address=all validate=no
netsh interface ipv4 add dnsservers name="Corp VPN" address=172.16.20.1 index=1 validate=no

সূচক 1 আগে দেখা হয়, তাই পুশ করা ঠিকানাগুলো উপলব্ধ থাকে কিন্তু প্রতিটি কোয়েরির ডিফল্ট উত্তর হওয়া বন্ধ করে দেয়। validate=no ফ্ল্যাগটি একটি পৌঁছানোযোগ্যতা পরীক্ষা এড়িয়ে যায় যা টানেল এখনো স্থির হওয়ার সময় প্রায়ই ব্যর্থ হয়, তাই এক্সিট কোডে ভরসা না করে show কমান্ড দিয়ে ফলাফল নিশ্চিত করুন।

এর উপর নির্ভর করার আগে দুটি সীমা জানার মতো। Windows netsh-এর মাধ্যমে DHCP-তে আসা সার্ভারগুলো মুছবে না, এবং সেই মানগুলো ইন্টারফেসের রেজিস্ট্রি কী-এর নিচে DhcpNameServer হিসেবে থেকে যায়, তাই রেজিস্ট্রি সম্পাদনা শেষ উপায় যা পরের লিজের পরে আবার যাচাই করতে হবে। অ্যাডাপ্টার বাইন্ডিং ক্রমও নির্ভরযোগ্য ক্রম নির্ধারণের ব্যবস্থা নয়, কারণ একটি VPN ক্লায়েন্ট তালিকার শীর্ষে নিজের এন্ট্রি ঢোকাতে পারে।

পুশ কোথায় ফিল্টার করা যায়

আরও ভালো মেরামত প্রয়োগের আগেই অপশনটি সরিয়ে দেয়। Community OpenVPN ক্লায়েন্ট নাম ধরে একটি পুশ করা নির্দেশ ফিল্টার করতে পারে, যা সার্ভারের কনফিগারেশন অক্ষত রাখে।

pull-filter ignore "dhcp-option DNS "

শেষের স্পেসটি মিলের অংশ এবং ফিল্টারটি সার্ভার ঠিকানার বদলে অপশনটির নাম নেয়। প্রোফাইলে যদি block-outside-dns নির্দেশও থাকে, তবে তা সরানো নাম রিজলভিংয়ের বদলে লিক সুরক্ষা বদলায়, তাই দুটি সম্পাদনা একসাথে না করে সেটি আলাদাভাবে সিদ্ধান্ত নিন।

একটি একগুঁয়ে হোস্টনেমের জন্য Windows hosts ফাইলে এক লাইন পুরো মেশিনের জন্য রিজলভার পুনর্বিন্যাসের চেয়ে বেশি স্থিতিশীল। এটি পরের ব্যক্তির কাছেও অদৃশ্য, তাই মেশিনের কনফিগারেশন যেখানে নথিভুক্ত সেখানেই এটি লিখে রাখুন।

মেরামতকে পুনঃসংযোগের পরেও টিকিয়ে রাখুন

রিজলভিং দুবার পরীক্ষা করতে হবে, একবার নির্বাচিত সার্ভারের বিরুদ্ধে এবং একবার অ্যাপ্লিকেশন যে রূপে ব্যবহার করে সেই রূপে। এই জোড়া রিজলভার-ক্রমের সমস্যাকে এমন সার্ভার থেকে আলাদা করে যা আদৌ উত্তর দেয় না। প্রথম পরীক্ষা বাদ দিলে দুটি কারণ জড়িয়ে থাকে।

Resolve-DnsName intranet.corp.example -Server 172.16.20.1
Resolve-DnsName printer.lan

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

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

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