Настройка Forsec-VPN ==================== Управление forsec-vpn --------------------- Для управления ``forsec-vpn`` используется утилита ``forsec-vpn``. Её нужно запускать от имени пользователя, входящего в группу ``forsec-vpn``, либо от суперпользователя (root). :: $ forsec-vpn help Usage: forsec-vpn list forsec-vpn enable [] forsec-vpn disable [] forsec-vpn gen-ac forsec-vpn store-ac [] forsec-vpn load-ac [] forsec-vpn clear-ac [] forsec-vpn import-key forsec-vpn ac-state forsec-vpn list-keys forsec-vpn remove-key forsec-vpn update-config forsec-vpn check forsec-vpn version Команды forsec-vpn: .. list-table:: :widths: 25 75 :header-rows: 1 * - Команда - Описание * - list - Просмотр соединений * - enable - Включение соединений * - disable - Выключение соединений * - gen-ac - Генерация ключа доступа * - store-ac - Сохранение ключа доступа * - load-ac - Загрузка ключа доступа * - clear-ac - Очистка ключа доступа * - import-key - Загрузка ключа * - ac-state - Просмотр статуса ключа доступа * - list-keys - Просмотр загруженных ключей * - remove-key - Удаление ключа * - update-config - Перезагрузка конфигурации * - check/version - Проверка сервиса (контрольных сумм, ПДСЧ, криптографических функций), вывод версии и контрольной суммы Forsec-VPN Файл конфигурации ----------------- Для настройки forsec-vpn используется файл ``/opt/forsec-vpn/forsec-vpn.conf``. Он использует формат json. Все соединения содержатся в массиве ``connections``. Каждое соединение состоит из следующих настроек: .. list-table:: :widths: 20 35 20 25 :header-rows: 1 * - Настройка - Значение - Аналог в Fortics - Комментарий * - name - название fortun-соединения - - * - id - идентификатор туннеля - ``id`` - * - autostart - автозапуск соединения при запуске сервиса - - boolean (true/false); работает только при указании access-key-path на глобальном уровне * - mode-fortap - режим fortap - ``mode tap`` - boolean (true/false) * - keepalive - настройки keepalive - ``keepalive`` - Секция * - key - настройки ключа - ``forsec-key`` - Секция * - interface - настройки виртуального интерфейса - - Секция * - udp - настройки UDP-соединения - - Секция Секция ``keepalive`` состоит из следующих настроек: .. list-table:: :widths: 20 35 25 20 :header-rows: 1 * - Настройка - Значение - Аналог в Fortics - Комментарий * - interval - интервал keepalive - ``keepalive interval`` - * - retries - количество попыток keepalive - ``keepalive retries`` - Секция ``key`` состоит из следующих настроек: .. list-table:: :widths: 20 35 25 20 :header-rows: 1 * - Настройка - Значение - Аналог в Fortics - Комментарий * - serial - серия ключа - ``forsec-key serial`` - * - local-cn - локальный криптономер - ``forsec-key local-cn`` - * - remote-cn - удалённый криптономер - ``forsec-key remote-cn`` - Секция ``interface`` состоит из следующих настроек: .. list-table:: :widths: 20 35 30 40 :header-rows: 1 * - Настройка - Значение - Аналог в Fortics - Комментарий * - name - имя виртуального интерфейса - ``interface fortun `` - по умолчанию совпадает с названием fortun-соединения * - address - адрес виртуального интерфейса - `` address`` - На данный момент поддерживается только один адрес; можно вместо адреса указать ``dhcp4`` или ``dhcp6`` * - routes - список маршрутов - - Секция ``udp`` состоит из следующих настроек: \|remote-host\|адрес удалённого конца туннеля\|\ `` remote``\ \|по идее можно указывать не только ip-адрес, но и доменное имя (например fortun.zts.ru)\| \|remote-port\|порт удалённого конца туннеля\|\ ``encap dport``\ \|\| \|local-host\|адрес локального конца туннеля\|\ `` local``\ \|не рекомендуется к использованию; по идее можно указывать не только ip-адрес, но и доменное имя\| \|local-port\|порт локального конца туннеля\|\ ``encap sport``\ \|не рекомендуется к использованию\| На глобальном уровне (для всех интерфейсов) доступны следующие настройки: .. list-table:: :widths: 25 45 30 :header-rows: 1 * - Настройка - Значение - Комментарий * - block-unencrypted - блокировка незашифрованного трафика в системе - boolean (true/false) * - access-key-path - путь к КД - указывается для автоматической загрузки КД; он должен быть сохранён по этому пути без пароля а настройка “block-unencrypted”, блокирующая незашифрованный трафик в системе. После редактирования конфигурации нужно обновить её контрольную сумму: :: $ forsec-vpn update-config Configuration checksum is invalid; do you want to update it? (y/n) y Пример конфигурации ------------------- :: $ cat /opt/forsec-vpn/forsec-vpn.conf { "connections": [ { "name": "conn1", "id": 1, "interface": { "address": "192.168.10.2/24", "dns": { "server": "192.168.10.1", "domain": [ "domain.int", "domain2.int" ] }, "routes": [ "10.0.0.0/24", "10.0.10.0/24" ] }, "udp": { "remote-host": "12.34.56.78", "remote-port": "505" }, "keepalive": { "interval": 5, "retries": 2 }, "key": { "serial": 100, "local-cn": 2, "remote-cn": 1 }, "autostart": true } ], "block-unencrypted": false, "access-key-path": "/var/lib/forsec-vpn-ac" } Инициализация криптоподсистемы ------------------------------ Для генерации КД используется следующая команда: :: $ forsec-vpn gen-ac Далее КД нужно сохранить: :: $ forsec-vpn store-ac Password: Пароль должен быть либо пустым, либо от 8 символов. Также непустой пароль проходит проверку по словарю. Все пути должны быть абсолютными. Директория ```` должна существовать. Для загрузки ключа используется команда: :: $ forsec-vpn import-key Запуск соединений ----------------- Для запуска соединений нужно загрузить КД, если он не был создан при этом запуске forsec-vpn: :: $ forsec-vpn load-ac Для запуска соединений используется команда: :: $ forsec-vpn enable [имя соединения] Если имя соединения не указано, запустятся все соединения. Журнал ------ На данный момент используется стандартный системный журнал: :: $ journalctl -u forsec-vpn