AnyConnect کلائنٹس غلط سب نیٹ پر آ جاتے ہیں، یا DHCP سرور کچھ بھی دینے سے انکار کر دیتا ہے، جبکہ گروپ پالیسی پہلی نظر میں درست لگتی ہے۔ ASA پر دو جگہوں پر دو فیلڈز ہیں جو دونوں «پتے کہاں سے آتے ہیں» جیسے سنائی دیتے ہیں، اور غلط کو سیٹ کرنے سے ٹھیک یہی نتیجہ ملتا ہے۔ کنکشن پروفائل DHCP سرور کا نام لیتی ہے؛ گروپ پالیسی اُس سب نیٹ کا نام لیتی ہے جس سے یہ سرور منتخب کرے۔ دونوں میں سے کوئی پول نہیں بناتا.

تین اشیاء، تین سوالات

پہلے تقسیم کا ماڈل پول سے الگ کریں، کیونکہ دونوں ماڈل کنفیگریشن شیئر نہیں کرتے۔ اگر ASA خود پتے تقسیم کرتا ہے تو آپ مقامی پول متعین کرتے ہیں اور گروپ پالیسی کو اُس کی طرف موڑتے ہیں۔ اگر بیرونی DHCP سرور تقسیم کرتا ہے تو کنکشن پروفائل اُس سرور کا نام لیتی ہے اور گروپ پالیسی scope کا اشارہ دیتی ہے۔ دونوں کو ملانا ہی پتہ کبھی ظاہر نہ ہونے کی عام وجہ ہے۔

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 دکھاتا ہے کہ پالیسی واقعی کس چیز پر آ کر رکتی ہے، وراثت میں ملی ڈیفالٹس سمیت۔ scope کو غلط سمجھنے سے پہلے دونوں جانچیں، کیونکہ ڈیفالٹ پالیسی سے وراثت پانے والی گروپ پالیسی ایسی قدر دے سکتی ہے جو مختصر فہرست میں کبھی نظر نہیں آتی۔

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 کا گروپ پالیسی حوالہ اس خصوصیت کو مطلوبہ سب نیٹ پر، تقسیم کے پول سے باہر، انٹرفیس پتے کو ترجیح دیتے ہوئے روٹ ہونے والا پتہ قرار دیتا ہے۔ یہ پول کی حد نہیں ہے اور نیٹ ورک نمبر بھی نہیں ہے۔

scope کو پتے پر رکھیں، حد پر نہیں

فرض کریں کہ جو پول آپ سرور سے استعمال کروانا چاہتے ہیں وہ /24 پر 10.50.30.50 سے 10.50.30.200 ہے، اور اُس حصے میں ASA انٹرفیس 10.50.30.1 ہے۔ scope کی قدر 10.50.30.1 ہے۔ 10.50.30.0 لکھنا ناکام ہوتا ہے کیونکہ یہ نیٹ ورک نمبر ہے، اور حد لکھنا بھی ناکام ہوتا ہے کیونکہ خصوصیت ایک ہی پتہ لیتی ہے۔ اگر آپ کا منتخب کردہ پتہ انٹرفیس پتہ نہیں ہے تو DHCP سرور کا جواب وہاں پہنچنے کے لیے اُسے جامد روٹ درکار ہے۔

group-policy RemoteStaff attributes
 dhcp-network-scope 10.50.30.1

یہ ٹکڑا صرف ایک کام کرتا ہے۔ یہ DHCP سرور کنفیگر نہیں کرتا، وہاں پول نہیں بناتا، اور جزوی ریموٹ رسائی پروفائل کو کام کرنے والا نہیں بناتا۔ یہاں درج رویہ صرف IPv4 ہے؛ یہ DHCPv6 یا سابقہ تفویض چلائے گا ایسی توقع نہ رکھیں۔

اسے رول بیک پوائنٹ کے ساتھ بدلیں

پہلے snapshot لیں، تاکہ رول بیک دوبارہ تعمیر نہیں بلکہ حکم ہو۔ ترمیم سے پہلے متعلقہ کنفیگریشن فائل میں محفوظ کریں، اور جانیں کہ 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

خصوصیت ہٹانا بھی تشخیصی قدم ہے۔ scope متعین نہ ہونے پر 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

اگر سیشن آپ کا مطلوبہ پتہ دکھاتا ہے مگر ٹریفک مر جاتی ہے تو scope بطور مشتبہ ختم ہو گیا۔ واپسی کا روٹ، گروپ پالیسی پر split-tunnel یا فلٹر کی ترتیبات، اور یہ کہ DHCP scope اُس حصے میں ہے یا نہیں جہاں ASA واقعی روٹ کرتا ہے، دیکھیں۔

متعلقہ مضامین