AnyConnect ক্লায়েন্টরা ভুল সাবনেটে উঠে আসে, বা DHCP সার্ভার একেবারেই কিছু দিতে অস্বীকার করে, অথচ গ্রুপ পলিসিটি প্রথম দেখায় সঠিক মনে হয়। ASA-তে দুই জায়গায় দুইটি ফিল্ড আছে যেগুলো শুনতে একই রকম — «ঠিকানাগুলো কোথা থেকে আসে» — আর ভুলটি সেট করলে ঠিক এই ফলাফলই আসে। কানেকশন প্রোফাইল DHCP সার্ভারের নাম বলে; গ্রুপ পলিসি সেই সার্ভারকে বেছে নেওয়ার জন্য একটি সাবনেট বলে। কোনোটিই পুল তৈরি করে না.

তিনটি অবজেক্ট, তিনটি প্রশ্ন

প্রথমে অ্যালোকেশন মডেলকে পুল থেকে আলাদা করুন, কারণ দুই মডেল কনফিগারেশন ভাগ করে না। ASA নিজেই ঠিকানা দিলে আপনি একটি লোকাল পুল সংজ্ঞায়িত করে গ্রুপ পলিসিকে তার দিকে নির্দেশ করেন। বাইরের DHCP সার্ভার ঠিকানা দিলে কানেকশন প্রোফাইল সেই সার্ভারের নাম বলে এবং গ্রুপ পলিসি একটি স্কোপ ইঙ্গিত দেয়। দুটো মিশিয়ে ফেলাই ঠিকানাটি কখনো না আসার সাধারণ কারণ।

IntentObjects involved
ASA allocates from its own poolip local pool plus the group policy's address-pool
External DHCP allocatesdhcp-server on the tunnel group, dhcp-network-scope on the group policy

কোনো মান পরিবর্তনের আগে কার্যকর মানগুলো পড়ুন

বাদ দেওয়া লাইন আর স্পষ্ট none এক নয়। চলমান কনফিগ দেখায় আপনি কী টাইপ করেছেন; show run all group-policy দেখায় পলিসিটি আসলে কীতে দাঁড়ায়, উত্তরাধিকারে পাওয়া ডিফল্টসহ। স্কোপটি ভুল বলে সিদ্ধান্ত নেওয়ার আগে দুটোই দেখুন, কারণ ডিফল্ট পলিসি থেকে উত্তরাধিকার পাওয়া গ্রুপ পলিসি এমন মান দিতে পারে যা সংক্ষিপ্ত তালিকায় কখনো দেখা যায় না।

show running-config group-policy RemoteStaff
show run all group-policy RemoteStaff
show running-config tunnel-group RemoteStaff
group-policy RemoteStaff attributes
 dhcp-network-scope ?

? আউটপুট আপনার ইনস্টল করা রিলিজে পড়া উচিত, কারণ গৃহীত মান ও তাদের সহায়তা টেক্সট সংস্করণে সংস্করণে আলাদা। Cisco ASA 9.24-এর গ্রুপ পলিসি রেফারেন্স অ্যাট্রিবিউটটিকে কাঙ্ক্ষিত সাবনেটে, বরাদ্দ পুলের বাইরে, ইন্টারফেস ঠিকানাকে অগ্রাধিকার দিয়ে একটি রাউটেবল ঠিকানা হিসেবে বর্ণনা করে। এটি পুল রেঞ্জ নয়, এবং নেটওয়ার্ক নম্বরও নয়।

স্কোপকে ঠিকানায় সেট করুন, রেঞ্জে নয়

ধরুন সার্ভারটি যে পুল ব্যবহার করবে তা /24-এর উপর 10.50.30.50 থেকে 10.50.30.200, আর সেই সেগমেন্টে ASA ইন্টারফেস 10.50.30.1। স্কোপ মান 10.50.30.1। 10.50.30.0 লেখা ব্যর্থ হয় কারণ এটি নেটওয়ার্ক নম্বর, আর রেঞ্জ লেখাও ব্যর্থ হয় কারণ অ্যাট্রিবিউট একটি ঠিকানা নেয়। আপনার বেছে নেওয়া ঠিকানাটি ইন্টারফেস ঠিকানা না হলে DHCP সার্ভারের উত্তর সেখানে পৌঁছাতে একটি স্ট্যাটিক রুট দরকার।

group-policy RemoteStaff attributes
 dhcp-network-scope 10.50.30.1

এই ফ্র্যাগমেন্ট কেবল একটি কাজ করে। এটি DHCP সার্ভার কনফিগার করে না, সেখানে পুল তৈরি করে না, বা আংশিক রিমোট-অ্যাক্সেস প্রোফাইলকে কাজের করে না। এখানে বর্ণিত আচরণ কেবল IPv4; এটি DHCPv6 বা প্রিফিক্স ডেলিগেশন চালাবে বলে আশা করবেন না।

রোলব্যাক পয়েন্টসহ এটি বদলান

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

copy running-config flash:pre-dhcp-scope.cfg
conf t
 group-policy RemoteStaff attributes
  no dhcp-network-scope
  dhcp-network-scope 10.50.30.1
 end
write memory

অ্যাট্রিবিউট সরানোও একটি ডায়াগনস্টিক ধাপ। কোনো স্কোপ সংজ্ঞায়িত না থাকলে DHCP সার্ভার তার নিজের পুলে একটি অনির্ধারিত ঠিকানা খোঁজে, তাই ক্লায়েন্ট অপ্রত্যাশিত জায়গায় পড়তে পারে, তবে অন্তত সংযোগ করে। সেই ফলাফল বলে অনুরোধের পথ কাজ করে এবং পুল নির্বাচনই ব্যর্থ হয়।

ঠিকানা, রুট এবং অনুমতিগুলো যাচাই করুন

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

show vpn-sessiondb detail anyconnect filter name testuser
show ip local pool
show route | include 10.50.30
ping 10.50.30.61 source inside

সেশন যদি আপনার ইচ্ছাকৃত ঠিকানা দেখায় কিন্তু ট্রাফিক মরে যায়, তবে স্কোপ সন্দেহভাজন হিসেবে শেষ। ফিরতি রুট, গ্রুপ পলিসির split-tunnel বা ফিল্টার সেটিংস, এবং DHCP স্কোপটি ASA সত্যিই যেদিকে রাউট করে এমন সেগমেন্টে আছে কি না দেখুন।

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