Клієнти 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 як адресу, а не діапазон

Припустімо, пул, який ви хочете, щоб використовував сервер, — це 10.50.30.50 до 10.50.30.200 у /24, а інтерфейс 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 або делегуванням префікса.

Змініть це з точкою відкату

Спочатку зробіть знімок, щоб відкат був командою, а не перебудовою. Збережіть відповідну конфігурацію у файл перед редагуванням і знайте, що 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 або фільтри в груповій політиці та на те, чи scope DHCP лежить у сегменті, куди ASA справді маршрутизує.

Схожі статті