Подключение 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 приложения.

После создания и настройки нового подключения появляется соответствующий пункт в панели управления.

Меню подключения к Forti VPN в панели управления

Но вот незадача, не подтягиваются 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 серверах.

Суть в том, что после установки resolvconf он начинает управлять DNS серверами и итоговый файл /etc/resolv.conf начинает формироваться на основе трех файлов:

/etc/resolvconf/resolv.conf.d/head
/run/resolvconf/interface/systemd-resolved
/etc/resolvconf/resolv.conf.d/tail

Получается, что добавляя информацию в эти файлы мы автоматически ее добавляем в итоговый файл /etc/resolv.conf

Поделиться:

Читайте также: