Возникла необходимость подключить сервер с linux к удаленной сети через Cisco AnyConnect.
Предусловия:
Дистрибутив Cisco AnyConnect: 3.1.05170
ОС: CentOS release 6.6 x86_64
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
# /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
Команда disconnect служит для отключения от удаленного сервера.Предусловия:
Дистрибутив 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.
В том числе, выводит версию клиента.
В том числе, выводит версию клиента.
...
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 показывает текущее состояние соединения:
- Длительность подключения;
- Адреса клиента и сервера;
- Протокол, алгоритм шифрования;
- Маршруты;
- Прочее.
Все вышеперечисленные команды можно вводить в интерактивном режиме клиента 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...
Полезные ссылки:
Сообщения клиента Cisco AnyConnect 3.1Конвертация сертификата в PEM-формат
It works!
Комментариев нет:
Отправить комментарий