Настройка замены Forticlient в Linux (консоль).


Forticlient имеет избыточный функционал, который иногда мешает (быстрая перезагрузка системы). Поэтому я заменил его консольным вариантом openfortivpn (установить его просто, описывать не буду). У меня есть сертификат формата pkcs12, логин, пароль, хост и порт. Всё это подходит для Forticlient, но openfortivpn не понимает такой сертификат. Вынем из контейнера нужные нам сертификат и ключ.

openssl pkcs12 -in client.pfx -clcerts -nokeys -out client.crt

openssl pkcs12 -in client.pfx -nocerts -nodes -out client.key

openssl спросит пароль.

В итоге мы получаем 2 файла:

client.crt и client.key

Теперь нам надо отредактировать конфиг /etc/openfortivpn/config

host = vpn-host
port = 443
username = user
password = pass # если хотите вводить пароль при каждом запуске, то закоментируйте эту строчку
#trusted-cert =
user-cert = /etc/openfortivpn/client.crt
user-key = /etc/openfortivpn/client.key

Даём команду:

# openfortivpn -c /etc/openfortivpn/config

Первый запуск выдаст нам недостающий параметр — trusted-cert. Скопируйте его значение в вставьте в конфиг, затем раскомментируйте соответствующую строку:

ERROR: Gateway certificate validation failed, and the certificate digest is not in the local whitelist. If you trust it, rerun with:
ERROR: —trusted-cert 2ffcb45a91862………
ERROR: or add this line to your config file:
ERROR: trusted-cert = 2ffcb45a91862……..

Запустите повторно, должно выдать что-то похожее:

INFO: Connected to gateway.
INFO: Authenticated.
INFO: Remote gateway has allocated a VPN.
Using interface ppp0
Connect: ppp0 <—> /dev/pts/2
INFO: Got addresses: [172.10.0.10], ns [11.12.12.17, 172.10.0.11]
INFO: Negotiation complete.
INFO: Negotiation complete.
local IP address 172.11.0.10
remote IP address 192.168.0.1
INFO: Interface ppp0 is UP.
INFO: Setting new routes…
INFO: Adding VPN nameservers…
INFO: Tunnel is up and running.

Работает быстро и не нагружает систему лишним функционалом, который от VPN-клинта никак не ждёшь.