вторник, 24 марта 2015 г.

Установка и настройка Cisco AnyConnect на CentOS 6

Возникла необходимость подключить сервер с linux к удаленной сети через Cisco AnyConnect.

Предусловия:
Дистрибутив Cisco AnyConnect: 3.1.05170
ОС: CentOS release 6.6 x86_64



 Процесс установки Cisco AnyConnect:


1. Распаковываем дистрибутив

# tar xvzf anyconnect-predeploy-linux-[version]-k9.tar.gz

2. Запускаем инсталлятор

# cd anyconnect-[version]/vpn
# ./vpn_install

3. Принимаем пользовательское соглашение

Во время инсталляции демон vpnagentd прописывает себя в init.d для старта при запуске системы.
Проверить:
# ls -l /etc/rc?.d/*vpn*

Путь к исполняемому файлу
/opt/cisco/anyconnect/bin/vpn

При попытке подключиться, получаем ошибку:
"Connection attempt has failed due to server certificate problem.
AnyConnect cannot confirm it is connected to your secure gateway"

Проблема возникает из-за того, что сертификат vpn-сервера выдан недоверенным, с точки зрения Cisco AnyConnect, издателем.

Необходимо добавить сертификат издателя в доверенные:
1. Получаем информацию о сертификате издателя

# openssl s_client -connect target.vpnserver.local:443

В выводе находим (допустим, издатель Thawte):
issuer=/C=US/O=Thawte, Inc./OU=Domain Validated SSL/CN=Thawte DV SSL CA

2. Ищем в интернет корневые сертификаты данного издателя.

Для Thawte весь комплект можно скачать здесь

Ссылка на пакет целиком


3. Заливаем себе на сервер, распаковываем.

4. Копируем все (либо необходимые) сертификаты в формате pem
в /opt/.cisco/certificates/ca/

# ls /opt/.cisco/certificates/ca/
Class 3 Public Primary Certification Authority.pem  Thawte Premium Server CA.pem         Thawte_SSL123_cert.pem
Thawte Personal Basic CA.pem                        thawte Primary Root CA - G2_ECC.pem  Thawte Timestamping CA.pem
Thawte Personal Freemail CA.pem                     thawte_Primary_Root_CA.pem           VeriSignClass3PublicPrimaryCertificationAuthority-G5.pem
Thawte Personal Premium CA.pem                      Thawte Server CA.pem

Управление из командной строки:

Вызов справки по возможным опциям и командам: help или -h.
В том числе, выводит версию клиента.
# /opt/cisco/anyconnect/bin/vpn help
...
Cisco AnyConnect Secure Mobility Client (version 3.1.05187) .
...
    usage: vpn [options] | [cmd] [host]

       options:
            -h         print this usage statement.
            -v         print version.
            -s         read commands from standard input
                       Example: vpncli.exe -s < MyScript.txt

       commands: [connect|disconnect|hosts|state|stats]



Команда connect служит для подключения. В командной строке можно сразу указать хост для подключения:
#  /opt/cisco/anyconnect/bin/vpn connect vpn.mydomain.lz

Команда state показывает текущее состояние соединения:
  • Длительность подключения;
  • Адреса клиента и сервера;
  • Протокол, алгоритм шифрования;
  • Маршруты;
  • Прочее.
Команда disconnect служит для отключения от удаленного сервера.

Все вышеперечисленные команды можно вводить в интерактивном режиме клиента Cisco AnyConnect:
#  /opt/cisco/anyconnect/bin/vpn
...
VPN> state
state
  >> state: Disconnected
VPN> help
help

[ VPN Connection commands ]
    connect             disconnect        hosts         stats
    state               block

[ Misc commands ]
    help                version           exit

  For help with a specific command, try: help <command>
 
VPN>  exit
exit
goodbye...

Комментариев нет:

Отправить комментарий