Настройка WebVPN (AnyConnect) на маршрутизаторах Cisco IOS (Cisco 2911/K9)

Функция WebVPN обеспечивает поддержку удаленного доступа пользователей к корпоративным сетям из любого места в Интернете. WebVPN обеспечивает три режима доступа:

 

  • Клиентский — Обеспечивает безопасный доступ к внутренним веб-ресурсам компании (прим. MS Outlook Web Access). Позволяет VPN-пользователям обозревать и получать доступ к файлам, расположенным на Windows серверах в корпоративной сети, посредством (CIFS).
  • Тонкий клиент (Проброс портов) — Позволяет VPN-пользователям запускать клиентские приложения на их ПК через шифрованное соединение в корпоративной сети.
  • Режим туннеля — Режим полного туннельного клиента обеспечивает легкий, централизованный и простой в использовании клиент SSL AnyConnect, который обеспечивает любой доступ к сетевому уровню компании.

 

Рассмотрим самый востребованный вариант настройки WebVPN в режиме туннеля. Настройка будет производится на оборудовании CISCO2911/K9 с версией прошивки 15.4(3)M9. Используемая версия  клиента AnyConnect 4.5.03040.

 

Загрузка AnyConnect Secure Mobility Client на маршрутизатор

Скачиваем пакеты AnyConnect Headend Deployment Package:

Если у вас нет возможности скачать пакеты с оф. сайта cisco.com, то пишите в комментариях, я помогу скачать.

 

Загружаем пакеты на маршрутизатор, любым удобным способом (прим. TFTP):

 

Устанавливаем пакеты. При установке нескольких пакетов необходимо выставить у пакетов sequence (последовательность):

 

Генерация RSA ключей

Выполняем генерацию RSA 1024-битных пары ключей:

 

Выпуск само-подписного сертификата

Объявляем на маршрутизаторе trustpoint, с необходимым набором характеристик и выпускаем сертификат:

 

Включение и настройка AAA аутентификации

Включаем режим AAA (Authentication, Authorization and Accounting), создаем список аутентификации (прим. VPN_USERS), использующий локальную базу данных пользователей и создаем тестового пользователя (прим. test):

 

Активируем работу https сервера:

 

Создание пула IP-адресов для WebVPN

Пользователям WebVPN необходимо назначить IP-адрес LAN, чтобы они могли общаться с нашей сетью. Указываем пул IP-адресов, которые будут назначены VPN-пользователям. Пул IP-адресов может быть либо частью нашей локальной сети, либо совершенно другой сети:

 

Настройка Virtual-Template Interface (VTI)

При каждом VPN-подключении позволяет создаётся отдельный виртуальный интерфейс (Virtual-Access). Virtual-Access интерфейс клонируется с Virtual-Template-интерфейса, который настраивается следующим образом:

В моем случае интерфейс GigabitEthernet0/0, смотрит в сторону локальной сети

 

Если в настройке маршрутизатора используется VRF, то необходимо так же это указать:

 

Настройка и включение WEBVPN шлюза

Виртуальный шлюз WebVPN позволяет использовать интерфейс или IP-адрес и номер порта, на котором служба WebVPN будет «прослушивать» входящие соединения:

 

Пояснения по командам:

  • Создаем шлюз WebVPN.
  • Указываем используемый интерфейс и порт (GigabitEthernet0/1 — порт провайдера).
  • Указываем какой trustpoint использовать (используем ранее созданный).
  • Включаем логирование.
  • Активируем работу шлюза.

 

Настройка и включение WEBVPN контекста

Контекст WebVPN используется для настройки ряда параметров для нашего VPN-сервера.

 

Пример типовой настройки контекста WebVPN:

 

Пояснения по командам:

  • Задаем текст, который будет отображаться в заголовке страницы веб-браузера.
  • Задаем текст, который будет отображаться в разделе входа в веб-страницу webvpn.
  • Указываем какой шаблон Virtual-Template интерфейса использовать.
  • Указываем какой список аутентификации использовать.
  • Указываем какой использовать шлюз WebVPN.
  • Задаем максимальное кол-во пользователей, которые могут подключится к данному VPN-соединению.
  • Указываем использовать проверку подлинности SSL.
  • (Далее идет настройка политики пользователей)
  • Включаем туннельный режим. Подключившийся VPN-пользователь, получит возможность загрузить на свой ПК клиентское программное обеспечение AnyConnect.
  • Задаем время простоя, после которого пользователь будет отключен.
  • Указываем какой пул IP-адресов использовать, для выдачи IP-адресов подключившимся пользователям.
  • Указываем какой домен использовать по-умолчанию (Если таковой имеется в вашей инфраструктуре).
  • Команды svc split (dns, include) позволяет разделить туннелирование, указав, какой сетевой трафик и dns запросы домена будут отправлены через туннель VPN. Если эта команда не включена, пользователям VPN не будет разрешен доступ к Интернету при подключении к VPN.
  • Указываем какой DNS-сервер использовать при подключении к VPN.
  • Назначаем групповую политику используемую по-умолчанию.
  • Активируем работу контекста.

 

Использование нескольких политик в контексте

К примеру необходимо использовать различный уровень туннельного доступа, для VPN-пользователей, то можно использовать несколько policy group в текущем контексте.

 

К примеру к ранее настроенной policy group VPN_USERS, необходимо еще добавить VPN_ADMINS, в которой будет использоваться split include в другую подсеть компании.

 

Принадлежность пользователя к той или иной policy group, можно задать с помощью локальной базы пользователей и при помощи RADIUS. Рассмотрим оба варианта.

 

Локальная политика аутентификации

Ранее мы создали список аутентификации (VPN_USERS), его и будем использовать:

 

Определим списки атрибутов и зададим имя политики WebVPN, с которой мы хотим сопоставить этот список атрибутов:

 

Теперь создаем пользователей и назначаем их к определенным спискам атрибутов:

 

В контексте указываем какой список аутентификации использовать:

 

Теперь при аутентификации пользователей, будет учитываться принадлежность их к той или иной policy group.

 

RADIUS аутентификация

Как настроить Radius аутентификацию с Windows Server 2012 NPS (Network Policy Server) на Cisco IOS можно посмотреть в статье. Принцип настройки аналогичен, с небольшими изменениями.

 

Первым делом создадим в Active Directory две группы безопасности (VPN_Users и VPN_Admins):

 

В оснастке Сервер политики сети (Network Policy Server) добавляем сетевые политики, по аналогии с выше упомянутой статьей. За исключением нескольких параметров:

  • в условиях аутентификации не забываем указать соответственные группы безопасности (VPN_Users и VPN_Admins)
  • в параметрах зависящие от поставщика, используем параметр Cisco-AV-Pair со значением webvpn:user-vpn-group=VPN_ADMINS и webvpn:user-vpn-group=VPN_USERS (где — VPN_ADMINS и VPN_USERS это политики WebVPN)

 

В итоге должна получится такие сетевые политики:

 

Переходим к конфигурации маршрутизатора, добавляем RADIUS-сервер и создаем список аутентификации при помощи RADIUS-сервера:

 

В контексте WebVPN указываем какой список аутентификации использовать:

 

Проверка работы

Запускаем на клиенте браузер, вводим внешний адрес нашего роутера 212.212.0.1 и видим приглашение:

 

После авторизации, мы попадаем в своего рода внутренний портал, где так же можем скачать клиент VPN AnyConnect, посредством которого установить туннельное соединение с корпоративной сетью.

 

 

Так же приведу список полезных команд, для получения той или иной статистики по работе WebVPN:

  1. Состояние пула IP-адресов.
  2. Отобразить текущие VPN сессии.
  3. Отобразить детальную статистику по VPN-пользователю.
  4. Отобрать статистику по туннелю.
  5. Отобразить общую статистику по WebVPN.
  6. Включение debug режима.

 

Понравилась или оказалась полезной статья, поблагодари автора

 

 

ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОБЛАГОДАРИ АВТОРА

БесполезноСлабоватоПриемлемоОтличноПревосходно (Еще нет оценок)
Загрузка...

Всего комментариев: 15 Комментировать

  1. Григорий /

    //Если у вас нет возможности скачать пакеты с оф. сайта cisco.com, то пишите в комментариях, я помогу скачать.
    Можете помочь с пакетами?

    1. Жаконда / Автор записи

      Отправил письмо вам, ссылкой на скачивание

  2. Денис /

    тоже хотел бы получить.
    Заранее спасибо.

  3. Melisa /

    Так же хотелось бы получить актуальные пакеты. Благодарю заранее.

  4. Роман /

    Можно и мне пакеты? Спасибо!!!

    1. Жаконда / Автор записи

      К сожалению на данный момент, нет такой возможности у меня.

  5. Serg /

    есть вопрос по разделению ролей без radius
    aaa authentication login default local
    aaa authentication login VPN_USERS local
    aaa authorization exec default local
    !
    aaa attribute list VPN_ADMINS
    attribute type user-vpn-group «VPN_ADMINS»
    !
    aaa attribute list VPN_USERS
    attribute type user-vpn-group «VPN_USERS»

    username ADMIN privilege 15 secret 4 WWHfkWR04.1VSyplx2CaWJ3bPgNubTSCvZdY3kk0m0Q
    username VPNADMIN privilege 15 secret 5 $1$JxGY$HdJbwqvy3Xkd23CUE.EVE.
    username VPNADMIN aaa attribute list VPN_ADMINS
    username VPNBUH secret 5 $1$F7V5$FbFtiCBSbXNei5q3j7TtS/
    username VPNBUH aaa attribute list VPN_USERS
    username VPNTDIR secret 5 $1$3TPP$5Zgf8qucluvriO/Tj4P8J1
    username VPNTDIR aaa attribute list VPN_USERS

    webvpn gateway VPN_GW
    ip interface GigabitEthernet0/1.55 port 443
    ssl trustpoint SSLVPN_CERT
    logging enable
    inservice
    !
    webvpn context VPN_CONTEXT
    title «WebVPN — Powered By Cisco»
    login-message «Enter your credentials»
    aaa authentication list VPN_USERS
    gateway VPN_GW
    max-users 40
    !
    ssl authenticate verify all
    inservice
    !
    policy group VPN_USERS
    functions svc-enabled
    timeout idle 600
    svc address-pool «VPN_POOL» netmask 255.255.255.0
    svc split include acl 25
    !
    policy group VPN_ADMINS
    functions svc-enabled
    timeout idle 600
    svc address-pool «VPN_POOL» netmask 255.255.255.0
    svc split include 10.150.10.0 255.255.255.0
    default-group-policy VPN_USERS —эту строку оставляем?

    —————————
    в данном случаи все username отрабатывает через aaa authentication login VPN_USERS local и на aaa attribute list внимания не обращает . Даже пользователь без aaa attribute list будет логиниться через aaa authentication login VPN_USERS local и policy group VPN_USERS потому что оно стоит по default-group-policy VPN_USERS(если строку убрать то выдает ошибку что не прошла авторизация)

    Спасибо!

  6. Антон /

    Привет. Есть возможность поделиться пакетами?

  7. Евгений /

    Добрый день.
    Имеется в наличии Cisco C881W-E-K9
    Настроено все аналогично как в данной статье (за исключением Radius — не используется).
    Но anyconnect постоянно реконектится, поэтому работать на RDP через данный тунель невозможно.
    МОжет кто то сталкивался? Может какието мысли, советы?
    Спасибо!

    1. Жаконда / Автор записи

      А что по нагрузке на самом роутере в момент обырыва ? Да и в целом ? Такое ощущение что именно в этом кроется проблема.

    2. Digital /

      Удалось ли победить эту проблему?

      Похожая ситуация
      Максимальная скорость закачки 2-3 Мегабайта в секунду при этом процессор на маршрутизаторе грузится под 80%. Периодически при копировании больших файлов разрывает связь с anyconnect.

      в логах при разрыве:
      323554: Sep 22 16:10:39: %SYS-2-MALLOCFAIL: Memory allocation of 1740 bytes failed from 0x300B0F54, alignment 128
      Pool: I/O Free: 93936 Cause: Memory fragmentation
      Alternate Pool: None Free: 0 Cause: No Alternate pool
      -Process= «encrypt proc», ipl= 3, pid= 338
      -Traceback= 30011630z 300AD45Cz 300AD0D4z 300B0708z 3291FAD0z 3700AD9Cz 3700B0BCz 36FFCE68z 301CA58Cz 33D21D08z 33D20224z 30032B5Cz 30032B40z
      323555: Sep 22 16:10:40: %TCP-6-NOBUFF: TTY0, no buffer available -Process= «encrypt proc», ipl= 3, pid= 338
      323556: Sep 22 16:10:40: %TCP-6-NOBUFF: TTY0, no buffer available -Process= «encrypt proc», ipl= 3, pid= 338

  8. Евгений /

    Да нет, я бы не сказал что сильно загружен роутер, вот вывод команды загрузки процессора при одном установленом тенеле webvpn + 4 ipsec тунеля :
    show processes cpu sorted
    CPU utilization for five seconds: 8%/1%; one minute: 9%; five minutes: 9%

    Кстати, на этом же роутере еще настроен cisco vpn client — все работает отлично и без нареканий — связть не рвется. Но дело в том что на Windows 10 его ставить проблематично, да и вообще для конечного пользователя удобнее конечно anyconnect.

    Кстати, а какой версия IOS у вас используется? У меня c800-universalk9-mz.SPA.154-1.T

  9. Serick /

    Так же хотелось бы получить актуальные пакеты. Благодарю заранее.

  10. Nikolay /

    Добрый день, коллеги!
    Поделитесь, пожалуйста, со мной тоже ссылочкой на скачивание anyconnect.
    Заранее огромное спасибо!

Оставить ответ

18 − тринадцать =

© IT-блог Жаконды All Rights Reserved.
Яндекс.Метрика