- Подключение Linux Ubuntu 20.04, 20.10, 21.04 к Forti VPN
- Предыстория
- Решение
- Альтернативное решение
- Install FortiClient VPN Client on Ubuntu 20.04/Ubuntu 18.04
- Install FortiClient VPN Client on Ubuntu 20.04/Ubuntu 18.04
- Installing FortiClient VPN Client on Ubuntu 20.04/Ubuntu 18.04 using DEB file
- Install FortiClient VPN Client from Fortinet Ubuntu Repos
- Install FortiClient VPN Client from Fortinet Ubuntu Repos on Ubuntu 18.04
- Connecting to VPN using FortiClient VPN client
- Установка клиента Fortinet SSL VPN без графического интерфейса в Linux (centos)
- SSL VPN
- Создание группы пользователей
- Создание SSL VPN туннеля
- Split mode
- Full mode
- Web mode
- Настройки общих параметров SSL VPN
- Добавление сертификата для аутентификации
- Настройка политики
- Настройка FortiClient
Подключение Linux Ubuntu 20.04, 20.10, 21.04 к Forti VPN
Предыстория
Так уж получилось, что для удаленного доступа к работе приходится использовать Forti VPN.
В Windows за подключение отвечает отдельное приложение, а в Ubuntu 18.04 раньше использовал пакет из репозитория openfortivpn и GUI клиент с сайта https://hadler.me/linux/openfortigui/ .
Интерфейс OpenFortiGUI
Не феншуйно, но работало. Времени искать более правильное решение не было.
Сейчас, когда только-только вышла Ubuntu 20.04 работающего без ошибок GUI Forti VPN клиента еще не выпустили.
Прежде всего в репозитории я нашел для GNOME пакет network-manager-fortisslvpn-gnome. В результате его установки в настройках подключения появился пункт настройки VPN и возможность выбора типа подключения.
Добавление нового подключения Fortinet VPN
Безусловно это вселяло надежду, что получится отказаться от громоздкого GUI приложения.
После создания и настройки нового подключения появляется соответствующий пункт в панели управления.
Но вот незадача, не подтягиваются DNS сервера от DHCP сервера. После многих часов поиска ответа на вопрос что же происходит привели меня к следующему выводу. Оказалось, что наш VPN-cервер Forti использует SSL для шифрования, а его использование по умолчанию отключено в systemd.
Решение
Итого, чтобы настроить подключение к Forti VPN с шифрованием SSL и корректным использованием DNS серверов нужно:
1 — Установить network-manager-fortisslvpn-gnome
sudo apt-get install network-manager-fortisslvpn-gnome
2 — Открываем файл /etc/systemd/resolved.conf . Далее ищем строчку DNSOverTLS, раскомментируем ее и присваиваем значение opportunistic. Потом раскомментируем строку Domains и прописываем доменное имя DNS-сервера. После чего дописываем DNS.
[Resolve]
DNS=X.X.X.X
DNS=Y.Y.Y.Y
#FallbackDNS=
Domains=corp.yourdomain.com
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
DNSOverTLS=opportunistic
#Cache=yes
#DNSStubListener=yes
#ReadEtcHosts=yes
3. Перезапускаем systemd
sudo systemctl daemon-reload
sudo systemctl restart systemd-networkd
sudo systemctl restart systemd-resolved
Затем переподключаем соединение или для избежания доп проблем вообще перезагружаемся.
Все, при новом подключении к VPN серверу DNS серверы должны начать использоваться системой.
Альтернативное решение
Есть всегда альтернативный способ прописать DNS-серверы вручную и для этого нужно:
1 — Установить resolvconf
sudo apt-get install resolvconf
2 — Затем открыть один из файлов в папке /etc/resolvconf/resolv.conf.d (head или tail)
3 — После чего прописать в файл информацию о DNS серверах.
Источник
Install FortiClient VPN Client on Ubuntu 20.04/Ubuntu 18.04
In this tutorial, you will learn how to install FortiClient VPN Client on Ubuntu 20.04/Ubuntu 18.04. FortiClient VPN allows you to create a secure and an encrypted Virtual Private Network (VPN) connection tunnel using IPSec or SSL VPN “Tunnel Mode” connections between your device and the FortiGate Firewall.
Install FortiClient VPN Client on Ubuntu 20.04/Ubuntu 18.04
FortiClient VPN client can be installed on Ubuntu systems using the DEB binary or directly from the Fortinet Ubuntu repos.
Installing FortiClient VPN Client on Ubuntu 20.04/Ubuntu 18.04 using DEB file
To install FortiClient VPN Client on Ubuntu 20.04/Ubuntu 18.04 or other Ubuntu releases using the DEB binary file, navigate to FortiClient downloads page and grab the DEB binary installer.
You can as well simply get the link to the DEB installer and pull it using wget utility tool as follows;
Note that this specifically installs FortiClient 6.4.0.0851. Be sure to get the latest version from the downloads page.
Once the installer is downloaded, install FortiClient VPN as follows;
To avoid having to deal with the required package dependencies, simply run the command below instead.
FortiClient VPN application should now be present on your system.
Install FortiClient VPN Client from Fortinet Ubuntu Repos
Fortinet provides repos from which you can easily install FortiClient VPN Client from. However, as of this writing, the repos are not available for Ubuntu 20.04 Focal Fossa. Thus, use the method above to install FortiClient VPN on Ubuntu 20.04.
Install FortiClient VPN Client from Fortinet Ubuntu Repos on Ubuntu 18.04
To install Fortinet VPN from Fortinet Ubuntu repos, you first need to install the repository GPG signing key.
Next, create the Fortinet Ubuntu 18.04 repo;
Next, update the package repos;
Check the available version of
As you can see the Fortinet repos do not provide the latest version of the FortiClient VPN as of this writing. Hence, better use the first method above instead.
Connecting to VPN using FortiClient VPN client
Launch FortiClient VPN client by searching it from Ubuntu activities menu;
When you first run it, being a free version, it prompts you accept that it doesn’t come with any support. Accept the disclaimer to continue using the application.
To setup the VPN connection profile, click Configure VPN .
Setup your SSL VPN connection details;
Click Save to add the connections.
Enter you VPN connection credentials.
Click Connect to connect to the VPN.
You can click the three menu lines to add a new, edit or delete the existing connection.
Upon successful connection to the VPN, you should see such connection status.
You can always disconnect from the VPN by clicking Disconnect.
And that is how easy it is to install FortiClient VPN client on Ubuntu 20.04/Ubuntu 18.04.
Источник
Установка клиента Fortinet SSL VPN без графического интерфейса в Linux (centos)
Как я могу установить и настроить VPN-клиент fortinet SSL на VPS, который работает на Centos? У меня есть проблема, чтобы сделать это, потому что все мое руководство все использует графический интерфейс, который не установлен на VPS для сохранения ресурсов. (пример: http://dbssolutions.freshdesk.com/solution/categories/1513/folders/3047/articles/1791-how-to-install-the-linux-fortinet-ssl-vpn-client )
У меня уже есть версия linux для клиента vpn, но я не уверен, как установить и настроить ее только с помощью терминала.
Я потратил некоторое время, пытаясь найти документацию по этому, и получил это от инженера Fortinet.
- Установите как любой другой файл tar.gz. Затем выполните команду ниже в linux CLI
- Затем выполните команду ниже в CLI Linux
./forticlientsslvpn_cli —server 172.17.97.85:10443 —vpnuser forti
Убедитесь, что команда запускается из каталога sslvpn. Замените IP-адрес адресом вашего сервера.
Это еще одно короткое решение. Скачать и установить клиент:
Нажмите Ctrl + C, согласуйте их лицензию (только в первый раз) и затем подключитесь к VPN:
Кодировал некоторый сценарий Expect примерно так:
Вы можете попробовать настроить VPN без графического интерфейса Fortinet. Вот полное руководство по IPSEC для Linux http://www.ipsec-howto.org/, и вы можете попробовать это:
Ссылка создается путем запуска pppd через псевдотерминал, который создается pty-redir и подключается к ssh. Это делается с помощью чего-то похожего на следующую последовательность команд:
Это запускает ssh, перенаправляя ввод и вывод в pppd. Параметры, передаваемые в ssh, настраивают его для запуска без escape-символов (-e), используя криптоалгоритм blowfish (-c), используя указанный файл идентификации (-i), в режиме терминала (-t) с параметром ‘Batchmode да ‘(-о). Команды сна используются для разметки выполнения команд, чтобы каждая из них могла завершить свой запуск до следующего запуска.
Следующий раздел « Сценарии » может также помочь вам настроить и запустить ваш VPN-клиент. В документации по Ubuntu есть дополнительная информация .
Источник
SSL VPN
Создание группы пользователей
Чтобы создать пользователей, которым будет предоставлен удалённый доступ и которые смогут воспользоваться технологией SSL VPN:
- Перейдите в поле User & Authentication → User Definition → Create New.
- Создайте локального пользователя, укажите имя пользователя и пароль, при необходимости контактную информацию.
- Объедините созданных пользователей в группу.
- Для создания группы пользователей перейдите в поле User & Authentication → User Groups → Create New.
- Укажите имя группы, тип Firewall и членов группы, созданных ранее.
Создание SSL VPN туннеля
Для создания SSL VPN туннеля:
- Перейдите в поле VPN → SSL-VPN Portal → Create New.
- Укажите название, включите Tunnel Mode.
- В поле Source IP Pools укажите пул адресов (IP Range), которые будут присваиваться удалённым пользователям. Можно добавить пул, созданный по умолчанию SSLVPN_TUNNEL_ADDR1, или собственный, настроенный аналогичным образом.
В настройках портала также можно включить проверки клиентов, ограничить определенные версии ОС и задать другие параметры подключения клиентов.
Split mode
Чтобы создать split tunnel, где трафик направляется только в назначенную сеть:
- Активируйте Enable Split Tunneling.
- Выберите Routing Address, чтобы определить сеть назначения, которая будет маршрутизироваться через туннель, то есть к этим адресам будет доступ у удалённых клиентов.
- Нажмите + и выберите адрес из существующих.
- Для создания адреса во всплывающем окне нажмите кнопку Create или в поле Policy & Objects → Addresses → Create New.
Full mode
Если необходим full mode tunnel, при котором весь трафик удалённых клиентов будет проходить через FortiGate, параметр Enable Split Tunneling нужно отключить.
Web mode
Другой настройкой является параметр Enable Web Mode, позволяющий включить режим web. Здесь можно также выбрать:
- название портала (поле Portal Message);
- оформление;
- другие настройки.
Наибольший интерес представляет поле User Bookmarks — опция позволяет пользователям создавать свои закладки. В поле Predefined Bookmarks можно создавать закладки централизованно для всех пользователей. Например, можно создать закладку для подключения к удалённому рабочему столу по протоколу RDP. На этом настройка самого SSL Tunnel завершается.
Настройки общих параметров SSL VPN
Для настройки общих параметров SSL VPN:
- Перейдите в поле VPN → SSL-VPN Settings.
- Укажите “слушающий” интерфейс, то есть внешний интерфейс, на который будут приходить соединения от удаленных пользователей (в данном примере — wan1), и порт, по которому они будут подключаться. Обратите внимание! При определении порта, он может совпадать с другими, которые определены для административного доступа. Например, по умолчанию указывается 443, что может конфликтовать с HTTPS портом, при этом FortiGate выведет следующее сообщение:
- Укажите в параметре Restrict Access значение Allow access from any hosts или, при необходимости ограничить доступ, нажмите Limit access to specific hosts и предоставьте доступ конкретным хостам.
- Укажите период бездействия, после которого пользователь будет принудительно отключаться от VPN, включив параметр Idle Logout и определив значение в параметре Inactive For, по умолчанию это 300 секунд.
- Выберите сертификат для параметра Server Certificate. Этот сертификат используется для аутентификации и шифрования трафика SSL VPN. По умолчанию это встроенный Fortinet_Factory. Со встроенным сертификатом работа возможна, но пользователи увидят предупреждение, что сертификат некорректен, так как в хранилище сертификатов нет CA сертификата, который подписал текущий SSL сертификат. Рекомендуется приобрести сертификат для вашего сервера и загрузить его для аутентификации.
Добавление сертификата для аутентификации
Для добавления сертификата:
- Перейдите в раздел System → Certificates.
- Убедитесь, что в System → Feature Visibility включено Certificates.
- Выберите Import → Local Certificate.
- В появившемся окне установите Type — Certificate.
- Загрузите Certificate file и Key file для вашего сертификата и введите пароль в поле Password.
- Сертификат сервера появится в списке Certificates.
- Установите CA сертификат — это сертификат, который подписывает как сертификат сервера, так и сертификат пользователя, например, для аутентификации пользователей SSL VPN. Для этого в разделе System → Certificates выберите Import → CA Certificate.
- В появившемся окне установите Type — File и загрузите файл сертификата.
- CA сертификат появится в списке External CA Certificates.
Настройте пользователей PKI и группу пользователей, чтобы использовать аутентификацию по сертификату, для чего используйте CLI для создания пользователей PKI:
Убедитесь, что subject совпадает с именем пользователя сертификата. Когда вы создаете пользователя PKI, в графический интерфейс добавляется новое меню, где можно продолжить настройки.
Перейдите в User & Authentication → PKI, чтобы выделить нового пользователя.
Нажмите Edit, чтобы отредактировать учетную запись пользователя и установить Two-factor authentication.
Проследите, чтобы данный пользователь был в группе пользователей для SSL VPN, созданной ранее (см. пункт Создание группы пользователей).
Также можно проверять сертификаты удаленных пользователей, включив параметр Require Client Certificate. В разделе Authentication/Portal Mapping необходимо сопоставить SSL портал с группой пользователей. По умолчанию все пользователи имеют доступ в одинаковые порталы. Данная таблица позволяет сопоставлять разные порталы разным группам пользователей. Создайте новую запись в таблице, нажав Create New и определив портал и группу пользователей.
После настройки нажмите Apply и приступайте к созданию политики безопасности.
Настройка политики
Для того, чтобы пользователи успешно подключались к нашему VPN и имели необходимый доступ, нужно создать политику, разрешающую доступ из интерфейса ssl.root в интерфейс локальной сети:
- Перейдите в поле Policy & Objects → Firewall Policy → Create New.
- Укажите имя политики, в качестве входящего интерфейса должен быть SSL-VPN tunnel interface(ssl.root).
- Выберите исходящий интерфейс, в данном случае это внутренний интерфейс lan.
- В поле Source выберите созданную ранее группу пользователей, в данном случае это SSLVPNGROUP, и адресный объект all.
- В поле Destination выберите необходимую локальную сеть.
- Укажите необходимые сервисы и сохраните политику.
Настройка FortiClient
Клиент FortiNet FortiClient можно бесплатно скачать на официальном сайте. FortiClient совместим со множеством платформ, на каждой из которой доступно бесплатное использование SSL VPN. Для клиента также можно приобрести лицензию, которая предоставляет дополнительные возможности и техническую поддержку. С особенностями использования и совместимости можно ознакомиться также на официальном сайте в разделе Technical Specification.
Для настройки подключения на клиенте:
- Перейдите в раздел REMOTE ACCESS и выберите SSL-VPN.
- Укажите имя подключения, IP адрес FortiGate, порт, по которому подключается клиент (его настраивали в пункте Настройки общих параметров SSL VPN).
- При необходимости выберите сертификаты и параметры аутентификации (либо запрашивать логин и пароль при каждом подключении, либо сохранить логин).
- Сохраните данное подключение.
- Попробуйте подключиться, указав имя подключения, имя пользователя и пароль.
- При успешном подключении должно появиться следующее окно:
Если ранее у SSL-портала был разрешён web mode, то подключиться можно как с помощью браузера, так и использовать созданную закладку без использования FortiClient:
- Введите в адресной строке адрес вашего FortiGate и порт, по которому доступно подключение (см. в пункте Настройки общих параметров SSL VPN).
- Авторизуйтесь, введя имя пользователя и пароль.
- При успешном подключении появится следующее окно с закладкой.
Источник