>[оверквотинг удален]
> #!/bin/bash
> let "PING=`/bin/ping 192.168.1.1 -c 3 -W 2 | /bin/grep received | /usr/bin/awk
> {' print $4'}`" 2 > /dev/null
> if [ "$PING" -eq "0" ]; then
> /usr/src/forticlientsslvpn/forticlientsslvpn_cli --server 178.207.157.170:10443
> --vpnuser calluser > /dev/null
> fi
> Вместо 192.168.1.1 надо написать ip, который доступен только тогда, когда vpn-туннель работает.
> Запихиваете в крон ежеминутно и в случае отсутствия пинга выполнится команда
> на поднятие туннеля.Примерно так и планировал, только в качестве критерия планировал выбрать ниличие или отсутствие ppp интерфейса
>> forticlientsslvpn_cli пытается найти сертификаты в директории /root/.fctsslvpn_trustca,
>> там их ессно нет.
> Если у вас есть сертификаты, положите их туда. Нормальная практика, когда программа
> ищет файлы в домашнем каталоге пользователя, от которого она запускается.
> Еще можно переопределить переменную $HOME, но что бы вы не указали, в
> этом каталоге все равно должен быть каталог .fctsslvpn_trustca
Я тут начал экспериментировать после чего, озадачился.
Суть: через шел все работает, запускается.
Через скрипт, вижу в логе forticlientsslvpn.log
04/13/2016 20:14:50 [8669] starting ssl vpn tunnel[4.0.2289]
gateway for 1.1.1.1:91.245.35.33 for 178.207.157.170:91.245.35.33
if has single route record for 1.1.1.1:0 for 178.207.157.170:1
04/13/2016 20:14:50 [8691] execl /usr/src/forticlientsslvpn/helper/get_fortisslvpn_info /usr/src/forticlientsslvpn/helper 178.207.157.170 10443 ...
04/13/2016 20:14:50 [8691] trusted CA dir: /root/.fctsslvpn_trustca
04/13/2016 20:14:50 [8691] set loglevel to 1
04/13/2016 20:14:50 [8691] Peer's certificate is not valid. action is 1
04/13/2016 20:14:50 [8691] peer's certificate:
Version: 3 (0x2)$ Serial Number:$ da:f6:36:b4:43:d4:a5:8b$ Signature Algorithm: sha256WithRSAEncryption$ Issuer: C=US, ST=California, L=Sunnyvale, O=Fortinet, OU=Certificate Authority, CN=support/emai$
04/13/2016 20:14:50 [8691] peer certificate verify result: 19
04/13/2016 20:14:50 [8691] ssl connect failed
04/13/2016 20:14:50 [8669] rcv notice:1|SSL connect failed.
Скопировал папку все что можно, в каталог /root, картина не поменялась.
Что такое /root/.fctsslvpn_trustca, не имею представления. Ничего похоже в каталоге с приложением нет.
В /usr/src/forticlientsslvpn/ лежат forticlientsslvpn_cli и forticlientsslvpn
В /usr/src/forticlientsslvpn/helper/
cleanup.linux.sh construct_trustca fctrt forticlientsslvpn.log fortisslclient.crt License.txt pppd.log setup.linux.sh subproc
config fctrouternke.kext forticlientsslvpn.backup.tmp fortisslcacert.pem fortisslclient.key linux.rtbackup printcert showlicense sysconfig.linux.sh
Чего не хватает этому поделию, для старта из скрипта, я не понимаю.
>> Как заставить выполняться скрипт в контексте выполнения
>> из каталога /usr/src/forticlientsslvpn/, чтобы он искал сертификаты как в нем прописано,
>> в каталоге ./helper/ (т.е. /usr/src/forticlientsslvpn/helper/)?
> Т.к. не встречался с этим vpn клиентом, не могу знать, что у
> него за принципы настройки и расположения файлов.
>> 2) как передать скрипту пароль, на подключение к vpn, чтобы не требовалось
>> вводить его вручную?
>> Вопрос про передачу пароля думал решить с помощью expect (www.osnews.com/story/10929)
>> либо empty (empty.sourceforge.net/), но не уверен, что сходу осилю.
> Вы сами написали ответ - использовать expect или empty. Удачи ;)
Буду познавать, после того, как научусь впн поднимать из скрпита, а не ручками.