fortios_vpn_ipsec_phase1_interface – Настройка удалённого шлюза VPN в Fortinet’s FortiOS и FortiGate
Новая в версии 2.8.
Описание
- Этот модуль позволяет настроить устройство FortiGate или FortiOS (FOS), позволяя пользователю устанавливать и изменять функцию vpn_ipsec и категорию phase1_interface. Примеры включают все параметры и значения, которые необходимо настроить в источниках данных перед использованием. Тестировалось с FOS v6.0.5
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- fortiosapi>=0.9.8
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | ||
|---|---|---|---|---|
| host строка | IP-адрес FortiOS или FortiGate. | |||
| https логическое |
| Указывает, должны ли запросы к FortiGate использовать протокол HTTPS. | ||
| password строка | Значение по умолчанию: "" | Пароль FortiOS или FortiGate. | ||
| ssl_verify логическое добавлено в 2.9 |
| Обеспечивает проверку сертификата FortiGate надлежащим центром сертификации. | ||
| state строка добавлено в 2.9 |
| Указывает, нужно ли создать или удалить объект. Этот атрибут уже был в предыдущей версии на более глубоком уровне. Он был вынесен на внешний уровень. | ||
| username строка | Имя пользователя FortiOS или FortiGate. | |||
| vdom строка | Значение по умолчанию: "root" | Виртуальный домен из числа ранее определенных. VDOM — виртуальная инстанция FortiGate, которая может быть настроена и использована как отдельный блок. | ||
| vpn_ipsec_phase1_interface словарь | Значение по умолчанию: null | Настройка удалённого шлюза VPN. | ||
| acct_verify строка |
| Включить/отключить проверку записи RADIUS об учёте. | ||
| add_gw_route строка |
| Включить/отключить автоматическое добавление маршрута к удалённому шлюзу. | ||
| add_route строка |
| Включить/отключить управление добавлением маршрута к селектору целевого узла. | ||
| assign_ip строка |
| Включить/отключить назначение IP-адреса интерфейсу IPsec с помощью метода конфигурации. | ||
| assign_ip_from строка |
| Метод назначения IP-адреса. | ||
| authmethod строка |
| Метод аутентификации. | ||
| authmethod_remote строка |
| Метод аутентификации (сторона удалённого устройства). | ||
| authpasswd строка | Пароль XAuth (макс. 35 символов). | |||
| authusr строка | Имя пользователя XAuth. | |||
| authusrgrp строка | Группа пользователей аутентификации. Источник user.group.name. | |||
| auto_discovery_forwarder строка |
| Включить/отключить пересылку сообщений об автоматическом обнаружении. | ||
| auto_discovery_psk строка |
| Включить/отключить использование предварительно установленных секретов для аутентификации туннелей автоматического обнаружения. | ||
| auto_discovery_receiver строка |
| Включить/отключить приём сообщений об автоматическом обнаружении. | ||
| auto_discovery_sender строка |
| Включить/отключить отправку сообщений об автоматическом обнаружении. | ||
| auto_negotiate строка |
| Включить/отключить автоматическое начало согласования IKE SA. | ||
| backup_gateway список | Указать клиентам unity адрес резервного шлюза. | |||
| address строка / обязательно | Адрес резервного шлюза. | |||
| banner строка | Сообщение, которое клиент unity должен отобразить после подключения. | |||
| cert_id_validation строка |
| Включить/отключить проверку взаимной корректности идентификатора узла и идентичности в сертификате узла, как указано в RFC 4945. | ||
| certificate список | Имена до 4 подписанных личных сертификатов. | |||
| name строка / обязательно | Имя сертификата. Источник vpn.certificate.local.name. | |||
| childless_ike строка |
| Включить/отключить инициирование без дочерних IKEv2 (RFC 6023). | ||
| client_auto_negotiate строка |
| Включить/отключить возможность VPN-клиенту установить туннель при отсутствии трафика. | ||
| client_keep_alive строка |
| Включить/отключить возможность VPN-клиенту поддерживать туннель при отсутствии трафика. | ||
| comments строка | Комментарий. | |||
| default_gw строка | IPv4-адрес шлюза по умолчанию для использования трафика, выходящего из интерфейса. | |||
| default_gw_priority целое число | Приоритет маршрута шлюза по умолчанию. Более высокое число приоритета указывает на менее предпочтительный маршрут. | |||
| dhgrp строка |
| Группа DH. | ||
| digital_signature_auth string |
| Включить/выключить аутентификацию цифровых подписей IKEv2 (RFC 7427). | ||
| distance integer | Расстояние для маршрутов, добавленных IKE (от 1 до 255). | |||
| dns_mode string |
| Режим сервера DNS. | ||
| domain string | Указывает клиентам Unity имя домена DNS по умолчанию. | |||
| dpd string |
| Режим обнаружения неактивных узлов (Dead Peer Detection). | ||
| dpd_retrycount integer | Количество попыток повторной проверки DPD. | |||
| dpd_retryinterval string | Интервал повторной проверки DPD. | |||
| eap string |
| Включить/выключить аутентификацию IKEv2 EAP. | ||
| eap_identity string |
| Тип идентификации участника EAP IKEv2. | ||
| encap_local_gw4 string | Локальный IPv4 адрес туннеля GRE/VXLAN. | |||
| encap_local_gw6 string | Локальный IPv6 адрес туннеля GRE/VXLAN. | |||
| encap_remote_gw4 string | Удаленный IPv4 адрес туннеля GRE/VXLAN. | |||
| encap_remote_gw6 string | Удаленный IPv6 адрес туннеля GRE/VXLAN. | |||
| encapsulation string |
| Включить/выключить инкапсуляцию GRE/VXLAN. | ||
| encapsulation_address string |
| Источник адреса туннеля GRE/VXLAN. | ||
| enforce_unique_id string |
| Включить/выключить проверку уникальности идентификатора узла. | ||
| exchange_interface_ip string |
| Включить/выключить обмен адресом IP интерфейса IPSec. | ||
| exchange_ip_addr4 string | IPv4 адрес для обмена с узлами-партнёрами. | |||
| exchange_ip_addr6 string | IPv6 адрес для обмена с узлами-партнёрами. | |||
| forticlient_enforcement string |
| Включить/выключить принудительное применение FortiClient. | ||
| fragmentation string |
| Включить/выключить фрагментацию сообщений IKE при повторной передаче. | ||
| fragmentation_mtu integer | MTU для фрагментации IKE (500 - 16000). | |||
| group_authentication string |
| Включить/выключить аутентификацию групп IKEv2 IDi. | ||
| group_authentication_secret string | Пароль для аутентификации групп IKEv2 IDi. (Строка ASCII или шестнадцатеричное значение, начинающееся с 0x.) | |||
| ha_sync_esp_seqno string |
| Включить/выключить «прыжок» номеров последовательности ESP для IPsec HA. | ||
| idle_timeout string |
| Включить/выключить таймаут бездействия туннеля IPsec. | ||
| idle_timeoutinterval integer | Таймаут бездействия туннеля IPsec в минутах (от 5 до 43200). | |||
| ike_version string |
| Версия протокола IKE. | ||
| include_local_lan string |
| Включить/выключить доступ к локальной сети LAN на клиентах Unity. | ||
| interface string | Локальный физический, агрегированный или VLAN интерфейс для исходящего трафика. Имя интерфейса источника. | |||
| ip_version string |
| Версия IP для использования VPN интерфейсом. | ||
| ipv4_dns_server1 string | IPv4 DNS сервер 1. | |||
| ipv4_dns_server2 string | IPv4 DNS сервер 2. | |||
| ipv4_dns_server3 string | IPv4 DNS сервер 3. | |||
| ipv4_end_ip string | Конечный IPv4 диапазон. | |||
| ipv4_exclude_range list | Метод конфигурации исключенных IPv4 диапазонов. | |||
| end_ip string | Конечный исключительный IPv4 диапазон. | |||
| id integer / обязательно | Идентификатор. | |||
| start_ip string | Начальный исключительный IPv4 диапазон. | |||
| ipv4_name string | Имя IPv4 адреса. Имя адреса брандмауэра. Имя группы адресов брандмауэра. | |||
| ipv4_netmask string | IPv4 маска сети. | |||
| ipv4_split_exclude string | Подсети IPv4, которые не должны отправляться по туннелю IPsec. Источник: firewall.address.name firewall.addrgrp.name. | |||
| ipv4_split_include string | Подсети IPv4 для split-include. Источник: firewall.address.name firewall.addrgrp.name. | |||
| ipv4_start_ip string | Начало диапазона IPv4. | |||
| ipv4_wins_server1 string | WINS-сервер 1. | |||
| ipv4_wins_server2 string | WINS-сервер 2. | |||
| ipv6_dns_server1 string | IPv6 DNS-сервер 1. | |||
| ipv6_dns_server2 string | IPv6 DNS-сервер 2. | |||
| ipv6_dns_server3 string | IPv6 DNS-сервер 3. | |||
| ipv6_end_ip string | Конец диапазона IPv6. | |||
| ipv6_exclude_range list | Метод конфигурации исключенных диапазонов IPv6. | |||
| end_ip string | Конец исключительного диапазона IPv6. | |||
| id integer / обязательно | Идентификатор. | |||
| start_ip string | Начало исключительного диапазона IPv6. | |||
| ipv6_name string | Имя адреса IPv6. Источник: firewall.address6.name firewall.addrgrp6.name. | |||
| ipv6_prefix integer | Префикс IPv6. | |||
| ipv6_split_exclude string | Подсети IPv6, которые не должны отправляться по туннелю IPsec. Источник: firewall.address6.name firewall.addrgrp6.name. | |||
| ipv6_split_include string | Подсети IPv6 для split-include. Источник: firewall.address6.name firewall.addrgrp6.name. | |||
| ipv6_start_ip string | Начало диапазона IPv6. | |||
| keepalive integer | Интервал ожидания NAT-T keep alive. | |||
| keylife integer | Время ожидания в секундах до истечения срока действия ключа шифрования фазы 1. | |||
| local_gw string | Внешний IPv4 адрес локального шлюза. | |||
| local_gw6 string | Внешний IPv6 адрес локального шлюза. | |||
| localid string | Локальный идентификатор. | |||
| localid_type string |
| Тип локального идентификатора. | ||
| mesh_selector_type string |
| Добавление селекторов, содержащих подмножества конфигурации в зависимости от трафика. | ||
| mode string |
| Режим защиты идентификатора, используемый для создания защищённого канала. | ||
| mode_cfg string |
| Включить/выключить метод конфигурации. | ||
| monitor string | Интерфейс IPsec как резервный для основного интерфейса. Источник vpn.ipsec.phase1-interface.name. | |||
| monitor_hold_down_delay integer | Время ожидания в секундах перед восстановлением после повторного установления основного интерфейса. | |||
| monitor_hold_down_time string | Время суток, в которое произойдет откат к основному интерфейсу после его повторного установления. | |||
| monitor_hold_down_type string |
| Способ восстановления при повторном установлении основного интерфейса. | ||
| monitor_hold_down_weekday string |
| День недели для восстановления после повторного установления основного интерфейса. | ||
| name string / обязательно | Имя удаленного шлюза IPsec. | |||
| nattraversal string |
| Включить/выключить NAT-проброс. | ||
| negotiate_timeout integer | Таймаут переговоров IKE SA в секундах (1 - 300). | |||
| net_device string |
| Включить/выключить создание ядра устройства для экземпляров dialup. | ||
| passive_mode string |
| Включить/выключить пассивный режим IPsec для статических туннелей. | ||
| peer string | Принять этот сертификат peer. Источник user.peer.name. | |||
| peergrp string | Принять эту группу сертификатов peer. Источник user.peergrp.name. | |||
| peerid string | Принять эту идентификацию peer. | |||
| peertype string |
| Принять этот тип peer. | ||
| ppk string |
| Включить/выключить IKEv2 Postquantum Preshared Key (PPK). | ||
| ppk_identity string | Идентификатор предварительно согласованного ключа IKEv2 постквантового шифрования. | |||
| ppk_secret string | Предварительно согласованный ключ IKEv2 постквантового шифрования (строка ASCII или шестнадцатеричное кодирование с лидирующим 0x). | |||
| priority integer | Приоритет маршрутов, добавленных IKE (0 - 4294967295). | |||
| proposal string |
| Предложение Phase1. | ||
| psksecret string | Предварительно согласованная секретная фраза для аутентификации PSK (строка ASCII или шестнадцатеричное кодирование с лидирующим 0x). | |||
| psksecret_remote string | Предварительно согласованная секретная фраза для аутентификации удаленного узла PSK (строка ASCII или шестнадцатеричное кодирование с лидирующим 0x). | |||
| reauth string |
| Включение/выключение повторной аутентификации при истечении срока действия IKE SA. | ||
| rekey string |
| Включение/выключение повторного ключения Phase1. | ||
| remote_gw string | Внешний IPv4-адрес удалённого шлюза. | |||
| remote_gw6 string | Внешний IPv6-адрес удалённого шлюза. | |||
| remotegw_ddns string | Доменное имя удалённого шлюза (например, name.DDNS.com). | |||
| rsa_signature_format string |
| Формат цифровой подписи RSA для аутентификации. | ||
| save_password string |
| Включение/выключение сохранения имени пользователя и пароля XAuth на клиентах VPN. | ||
| send_cert_chain string |
| Включение/выключение отправки цепочки сертификатов. | ||
| signature_hash_alg string |
| Хеш-алгоритмы цифровой подписи для аутентификации. | ||
| split_include_service string | Сервисы split-include. Источник firewall.service.group.name firewall.service.custom.name. | |||
| state string |
| Устарело Начиная с Ansible 2.9, рекомендуется использовать параметр "state" на верхнем уровне. Указывает, нужно ли создать или удалить объект. | ||
| suite_b string |
| Использовать Suite-B. | ||
| tunnel_search string |
| Метод поиска туннелей при совместном использовании интерфейса. | ||
| type string |
| Тип удаленного шлюза. | ||
| unity_support string |
| Включение/выключение поддержки расширений Cisco UNITY Configuration Method. | ||
| usrgrp string | Имя группы пользователей для модемов. Источник user.group.name. | |||
| vni integer | VNI VXLAN туннеля. | |||
| wizard_type string |
| Тип мастера GUI VPN. | ||
| xauthtype string |
| Тип XAuth. | ||
Примечания
Примечание
- Требуется библиотека fortiosapi, разработанная Fortinet
- Выполняется как local_action в вашем playbook
Примеры
- hosts: localhost
vars:
host: "192.168.122.40"
username: "admin"
password: ""
vdom: "root"
ssl_verify: "False"
tasks:
- name: Configure VPN remote gateway.
fortios_vpn_ipsec_phase1_interface:
host: "{{ host }}"
username: "{{ username }}"
password: "{{ password }}"
vdom: "{{ vdom }}"
https: "False"
state: "present"
vpn_ipsec_phase1_interface:
acct_verify: "enable"
add_gw_route: "enable"
add_route: "disable"
assign_ip: "disable"
assign_ip_from: "range"
authmethod: "psk"
authmethod_remote: "psk"
authpasswd: "<your_own_value>"
authusr: "<your_own_value>"
authusrgrp: "<your_own_value> (source user.group.name)"
auto_discovery_forwarder: "enable"
auto_discovery_psk: "enable"
auto_discovery_receiver: "enable"
auto_discovery_sender: "enable"
auto_negotiate: "enable"
backup_gateway:
-
address: "<your_own_value>"
banner: "<your_own_value>"
cert_id_validation: "enable"
certificate:
-
name: "default_name_23 (source vpn.certificate.local.name)"
childless_ike: "enable"
client_auto_negotiate: "disable"
client_keep_alive: "disable"
comments: "<your_own_value>"
default_gw: "<your_own_value>"
default_gw_priority: "29"
dhgrp: "1"
digital_signature_auth: "enable"
distance: "32"
dns_mode: "manual"
domain: "<your_own_value>"
dpd: "disable"
dpd_retrycount: "36"
dpd_retryinterval: "<your_own_value>"
eap: "enable"
eap_identity: "use-id-payload"
encap_local_gw4: "<your_own_value>"
encap_local_gw6: "<your_own_value>"
encap_remote_gw4: "<your_own_value>"
encap_remote_gw6: "<your_own_value>"
encapsulation: "none"
encapsulation_address: "ike"
enforce_unique_id: "disable"
exchange_interface_ip: "enable"
exchange_ip_addr4: "<your_own_value>"
exchange_ip_addr6: "<your_own_value>"
forticlient_enforcement: "enable"
fragmentation: "enable"
fragmentation_mtu: "52"
group_authentication: "enable"
group_authentication_secret: "<your_own_value>"
ha_sync_esp_seqno: "enable"
idle_timeout: "enable"
idle_timeoutinterval: "57"
ike_version: "1"
include_local_lan: "disable"
interface: "<your_own_value> (source system.interface.name)"
ip_version: "4"
ipv4_dns_server1: "<your_own_value>"
ipv4_dns_server2: "<your_own_value>"
ipv4_dns_server3: "<your_own_value>"
ipv4_end_ip: "<your_own_value>"
ipv4_exclude_range:
-
end_ip: "<your_own_value>"
id: "68"
start_ip: "<your_own_value>"
ipv4_name: "<your_own_value> (source firewall.address.name firewall.addrgrp.name)"
ipv4_netmask: "<your_own_value>"
ipv4_split_exclude: "<your_own_value> (source firewall.address.name firewall.addrgrp.name)"
ipv4_split_include: "<your_own_value> (source firewall.address.name firewall.addrgrp.name)"
ipv4_start_ip: "<your_own_value>"
ipv4_wins_server1: "<your_own_value>"
ipv4_wins_server2: "<your_own_value>"
ipv6_dns_server1: "<your_own_value>"
ipv6_dns_server2: "<your_own_value>"
ipv6_dns_server3: "<your_own_value>"
ipv6_end_ip: "<your_own_value>"
ipv6_exclude_range:
-
end_ip: "<your_own_value>"
id: "83"
start_ip: "<your_own_value>"
ipv6_name: "<your_own_value> (source firewall.address6.name firewall.addrgrp6.name)"
ipv6_prefix: "86"
ipv6_split_exclude: "<your_own_value> (source firewall.address6.name firewall.addrgrp6.name)"
ipv6_split_include: "<your_own_value> (source firewall.address6.name firewall.addrgrp6.name)"
ipv6_start_ip: "<your_own_value>"
keepalive: "90"
keylife: "91"
local_gw: "<your_own_value>"
local_gw6: "<your_own_value>"
localid: "<your_own_value>"
localid_type: "auto"
mesh_selector_type: "disable"
mode: "aggressive"
mode_cfg: "disable"
monitor: "<your_own_value> (source vpn.ipsec.phase1-interface.name)"
monitor_hold_down_delay: "100"
monitor_hold_down_time: "<your_own_value>"
monitor_hold_down_type: "immediate"
monitor_hold_down_weekday: "everyday"
name: "default_name_104"
nattraversal: "enable"
negotiate_timeout: "106"
net_device: "enable"
passive_mode: "enable"
peer: "<your_own_value> (source user.peer.name)"
peergrp: "<your_own_value> (source user.peergrp.name)"
peerid: "<your_own_value>"
peertype: "any"
ppk: "disable"
ppk_identity: "<your_own_value>"
ppk_secret: "<your_own_value>"
priority: "116"
proposal: "des-md5"
psksecret: "<your_own_value>"
psksecret_remote: "<your_own_value>"
reauth: "disable"
rekey: "enable"
remote_gw: "<your_own_value>"
remote_gw6: "<your_own_value>"
remotegw_ddns: "<your_own_value>"
rsa_signature_format: "pkcs1"
save_password: "disable"
send_cert_chain: "enable"
signature_hash_alg: "sha1"
split_include_service: "<your_own_value> (source firewall.service.group.name firewall.service.custom.name)"
suite_b: "disable"
tunnel_search: "selectors"
type: "static"
unity_support: "disable"
usrgrp: "<your_own_value> (source user.group.name)"
vni: "135"
wizard_type: "custom"
xauthtype: "disable"
Значения возврата
Общие значения возврата документированы здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| build строка | всегда | Номер сборки изображения FortiGate Пример: 1547 |
| http_method строка | всегда | Последний метод, используемый для предоставления контента в FortiGate Пример: PUT |
| http_status строка | всегда | Последний результат, полученный от FortiGate при последней операции Пример: 200 |
| mkey строка | успех | Главный ключ (id), используемый в последнем запросе к FortiGate Пример: id |
| name строка | всегда | Имя таблицы, используемой для выполнения запроса Пример: urlfilter |
| path строка | всегда | Путь к таблице, используемой для выполнения запроса Пример: webfilter |
| revision строка | всегда | Внутренний номер ревизии Пример: 17.0.2.10658 |
| serial строка | всегда | Серийный номер устройства Пример: FGVMEVYYQT3AB5352 |
| status строка | всегда | Указание результата операции Пример: success |
| vdom строка | всегда | Используемый виртуальный домен Пример: root |
| version строка | всегда | Версия FortiGate Пример: v5.6.3 |
Статус
- Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- Miguel Angel Munoz (@mamunozgonzalez)
- Nicolas Thomas (@thomnico)
Подсказка
Если вы обнаружите какие-либо проблемы в этом руководстве, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/fortios_vpn_ipsec_phase1_interface_module.html