fortinet.fortios.fortios_firewall_vip – Настройка виртуального IP-адреса IPv4 в FortiOS и FortiGate Fortinet.
Примечание
Этот плагин входит в коллекцию fortinet.fortios (версия 1.1.8).
Для его установки используйте: ansible-galaxy collection install fortinet.fortios.
Для использования в плейбуке укажите: fortinet.fortios.fortios_firewall_vip.
Новое в версии 2.8: библиотеки fortinet.fortios
Обзор
- Этот модуль позволяет настроить устройство FortiGate или FortiOS (FOS), позволяя пользователю задавать и изменять параметры брандмауэра и категории VIP. Примеры включают все параметры и значения, которые необходимо настроить в источниках данных перед использованием. Тестировалось с FOS v6.0.0
Требования
Ниже приведены требования, необходимые на хосте, на котором выполняется этот модуль.
- ansible>=2.9.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | ||
|---|---|---|---|---|
| access_token строка | Аутентификация на основе токена. Сгенерировано в графическом интерфейсе Fortigate. | |||
| firewall_vip словарь | Настройка виртуального IP-адреса для IPv4. | |||
| arp_reply строка |
| Включить ответы на запросы ARP для этого виртуального IP-адреса. Включено по умолчанию. | ||
| color целое число | Цвет значка в графическом интерфейсе. | |||
| comment строка | Комментарий. | |||
| dns_mapping_ttl целое число | TTL отображения DNS (Установите значение 0, чтобы использовать TTL в ответе DNS). | |||
| extaddr список / элементы=строка | Имя внешнего адреса FQDN. | |||
| name строка / обязательно | Имя адреса. Источник firewall.address.name firewall.addrgrp.name. | |||
| extintf строка | Интерфейс, подключенный к исходной сети, который получает пакеты, которые будут перенаправлены в целевую сеть. Имя интерфейса исходной системы. | |||
| extip строка | IP-адрес или диапазон адресов на внешнем интерфейсе, которые вы хотите сопоставить с адресом или диапазоном адресов в целевой сети. | |||
| extport строка | Диапазон портов входящего соединения, которые вы хотите сопоставить с диапазоном номеров портов в целевой сети. | |||
| gratuitous_arp_interval целое число | Включить отправку VIP-сервером ARP-запросов. 0=выключено. Установите значение от 5 до 8640000 секунд, чтобы включить. | |||
| http_cookie_age целое число | Время в минутах, в течение которого веб-браузеры клиента должны хранить cookie. По умолчанию 60 секунд. 0 = без ограничения по времени. | |||
| http_cookie_domain строка | Домен, к которому должно применяться сохранение HTTP-cookie. | |||
| http_cookie_domain_from_host строка |
| Включить/выключить использование домена HTTP-cookie из поля host в HTTP. | ||
| http_cookie_generation целое число | Генерация HTTP-cookie для принятия. Изменение делает недействительными все существующие cookie. | |||
| http_cookie_path строка | Ограничить сохранение HTTP-cookie указанным путем. | |||
| http_cookie_share строка |
| Управление совместным использованием cookie между виртуальными серверами. same-ip означает, что cookie с одного виртуального сервера может использоваться другим. Выключение останавливает совместное использование cookie. | ||
| http_ip_header строка |
| Для HTTP-мультиплексирования, включить, чтобы добавить оригинальный IP-адрес клиента в HTTP-заголовок X-Forwarded-For. | ||
| http_ip_header_name строка | Для HTTP-мультиплексирования, введите имя пользовательского HTTPS-заголовка. В этот заголовок добавляется оригинальный IP-адрес клиента. Если пусто, используется X-Forwarded-For. | |||
| http_multiplex строка |
| Включить/выключить HTTP-мультиплексирование. | ||
| https_cookie_secure строка |
| Включить/выключить проверку того, что вставленные HTTPS-cookie защищены. | ||
| id целое число | Пользовательский ID. | |||
| ldb_method строка |
| Метод распределения сессий по реальным серверам. | ||
| mapped_addr строка | Имя сопоставленного адреса FQDN. Источник firewall.address.name. | |||
| mappedip список / элементы=строка | IP-адрес или диапазон адресов в целевой сети, которому сопоставлен внешний IP-адрес. | |||
| range строка / обязательно | Диапазон сопоставленных IP-адресов. | |||
| mappedport строка | Диапазон портов в целевой сети, которому сопоставлен диапазон внешних портов. | |||
| max_embryonic_connections целое число | Максимальное количество незавершенных подключений. | |||
| monitor список / элементы=строка | Имя монитора проверки работоспособности, используемого при опросе для определения состояния подключенности виртуального сервера. | |||
| name строка / обязательно | Имя монитора проверки работоспособности. Источник firewall.ldb-monitor.name. | |||
| name строка / обязательно | Имя виртуального IP-адреса. | |||
| nat_source_vip строка |
| Включить, чтобы предотвратить использование виртуального IP-адреса нежелательными серверами. Выключить, чтобы использовать фактический IP-адрес сервера в качестве исходного адреса. | ||
| outlook_web_access строка |
| Включить, чтобы добавить заголовок Front-End-Https для Microsoft Outlook Web Access. | ||
| persistence строка |
| Настройка способа обеспечения подключения клиентов к одному и тому же серверу каждый раз, когда они выполняют запрос, который является частью одной сессии. | ||
| portforward строка |
| Включить/выключить переадресацию портов. | ||
| portmapping_type строка |
| Тип сопоставления портов. | ||
| protocol строка |
| Протокол для перенаправления пакетов. | ||
| realservers список / элементы=строка | Выберите реальные серверы, которым этот виртуальный IP-адрес балансировки нагрузки будет распределять трафик. | |||
| client_ip строка | Только клиенты в этом диапазоне IP могут подключаться к этому реальному серверу. | |||
| healthcheck строка |
| Включить проверку отзывчивости реального сервера перед перенаправлением трафика. | ||
| holddown_interval целое число | Время в секундах, в течение которого монитор проверки работоспособности продолжает отслеживать и не отвечающий сервер, который должен быть активным. | |||
| http_host строка | Имя домена HTTP-сервера в HTTP-заголовке. | |||
| id целое число / обязательно | ID реального сервера. | |||
| ip строка | IP-адрес реального сервера. | |||
| max_connections целое число | Максимальное количество активных подключений, которые могут быть направлены на реальный сервер. При достижении этого значения сеансы отправляются на другие реальные серверы. | |||
| monitor строка | Имя монитора проверки работоспособности, используемого при опросе для определения состояния подключения виртуального сервера. Источник firewall .ldb-monitor.name. | |||
| port целое число | Порт для связи с реальным сервером. Требуется, если включено перенаправление портов. | |||
| status строка |
| Установите статус реального сервера в активный, чтобы он мог принимать трафик, или в режим ожидания или отключённый, чтобы трафик не отправлялся. | ||
| weight целое число | Вес реального сервера. Если включен взвешенный балансировщик нагрузки, сервер с наибольшим весом получает больше подключений. | |||
| server_type строка |
| Протокол, который должен быть сбалансирован виртуальным сервером (также называемым виртуальным IP-адресом сервера балансировки нагрузки). | ||
| service список / элементы=строка | Имя службы. | |||
| name строка / обязательно | Имя службы. Источник firewall.service.custom.name firewall.service.group.name. | |||
| src_filter список / элементы=строка | Фильтр адресов источника. Каждый адрес должен быть либо IP/подсетью (x.x.x.x/n), либо диапазоном (x.x.x.x-y.y.y.y). Разделяйте адреса пробелами. | |||
| range строка / обязательно | Диапазон фильтра источника. | |||
| srcintf_filter список / элементы=строка | Интерфейсы, к которым применяется VIP. Разделяйте имена пробелами. | |||
| interface_name строка | Имя интерфейса. Источник system.interface.name. | |||
| ssl_algorithm строка |
| Разрешённые алгоритмы шифрования для сеансов SSL в соответствии с силой шифрования. | ||
| ssl_certificate строка | Имя SSL-сертификата, используемого для ускорения SSL. Источник vpn.certificate.local.name. | |||
| ssl_cipher_suites список / элементы=строка | Допустимые наборы шифров SSL/TLS от клиента, упорядоченные по приоритету. | |||
| cipher строка |
| Имя набора шифров. | ||
| priority целое число / обязательно | Приоритет наборов шифров SSL/TLS. | |||
| versions строка |
| Версии SSL/TLS, с которыми может использоваться набор шифров. | ||
| ssl_client_fallback строка |
| Включить/выключить поддержку предотвращения атак с понижением версии на подключениях клиентов (RFC 7507). | ||
| ssl_client_renegotiation строка |
| Разрешить, запретить или потребовать безопасное возобновление сеансов клиентов в соответствии с RFC 5746. | ||
| ssl_client_session_state_max целое число | Максимальное количество состояний сеанса SSL клиента для FortiGate. | |||
| ssl_client_session_state_timeout целое число | Количество минут для сохранения состояния сеанса SSL клиента с FortiGate. | |||
| ssl_client_session_state_type строка |
| Как истекают сеансы SSL для сегмента соединения SSL между клиентом и FortiGate. | ||
| ssl_dh_bits строка |
| Количество битов, используемых в обмене Diffie-Hellman для RSA-шифрования сеансов SSL. | ||
| ssl_hpkp строка |
| Включить/выключить включение заголовка HPKP в ответе. | ||
| ssl_hpkp_age целое число | Количество секунд, в течение которых клиент должен соблюдать настройки HPKP. | |||
| ssl_hpkp_backup строка | Сертификат для генерации резервного HPKP pin. Источник vpn.certificate.local.name vpn.certificate.ca.name. | |||
| ssl_hpkp_include_subdomains строка |
| Указать, что заголовок HPKP применяется ко всем дочерним доменам. | ||
| ssl_hpkp_primary строка | Сертификат для генерации основного HPKP pin. Источник vpn.certificate.local.name vpn.certificate.ca.name. | |||
| ssl_hpkp_report_uri строка | URL для отчётности о нарушениях HPKP. | |||
| ssl_hsts строка |
| Включить/выключить включение заголовка HSTS в ответе. | ||
| ssl_hsts_age integer | Количество секунд, в течение которых клиент должен соблюдать настройку HSTS. | |||
| ssl_hsts_include_subdomains string |
| Указывает, что заголовок HSTS применяется ко всем дочерним доменам. | ||
| ssl_http_location_conversion string |
| Включить для замены HTTP на HTTPS в поле заголовка Location HTTP ответа. | ||
| ssl_http_match_host string |
| Включить/выключить соответствие хоста HTTP для преобразования местоположения. | ||
| ssl_max_version string |
| Наивысшая версия SSL/TLS, приемлемая от клиента. | ||
| ssl_min_version string |
| Наименьшая версия SSL/TLS, приемлемая от клиента. | ||
| ssl_mode string |
| Применить SSL-отгрузку между клиентом и FortiGate (half) или от клиента к FortiGate и от FortiGate к серверу (full). | ||
| ssl_pfs string |
| Выберите наборы шифров, которые могут использоваться для SSL perfect forward secrecy (PFS). Применяется как к клиентским, так и к серверным сессиям. | ||
| ssl_send_empty_frags string |
| Включить/выключить отправку пустых фрагментов для предотвращения атак CBC IV (только SSL 3.0 и TLS 1.0). Возможно, необходимо отключить для совместимости со старыми системами. | ||
| ssl_server_algorithm string |
| Разрешенные алгоритмы шифрования для серверной стороны сессий SSL в полном режиме в соответствии со силой шифрования. | ||
| ssl_server_cipher_suites list / elements=string | Наборы шифров SSL/TLS, предлагаемые серверу, в порядке приоритета. | |||
| cipher string |
| Имя набора шифров. | ||
| priority integer / required | Приоритет наборов шифров SSL/TLS. | |||
| versions string |
| Версии SSL/TLS, с которыми может быть использован набор шифров. | ||
| ssl_server_max_version string |
| Наивысшая версия SSL/TLS, приемлемая от сервера. По умолчанию используется настройка клиента. | ||
| ssl_server_min_version string |
| Наименьшая версия SSL/TLS, приемлемая от сервера. По умолчанию используется настройка клиента. | ||
| ssl_server_session_state_max integer | Максимальное количество состояний SSL-сессий FortiGate к серверу для хранения. | |||
| ssl_server_session_state_timeout integer | Количество минут для хранения состояния SSL-сессии FortiGate к серверу. | |||
| ssl_server_session_state_type string |
| Как истекать SSL-сессиям для сегмента SSL-соединения между сервером и FortiGate. | ||
| state string |
| Устарело Начиная с Ansible 2.9, рекомендуется использовать параметр 'state' верхнего уровня. Указывает, нужно ли создать или удалить объект. | ||
| type string |
| Настройка статического NAT, балансировки нагрузки, балансировки нагрузки сервера, преобразования DNS или VIP FQDN. | ||
| uuid string | Универсальный уникальный идентификатор (UUID; автоматически назначается, но может быть вручную сброшен). | |||
| weblogic_server string |
| Включить для добавления заголовка HTTP для указания SSL-отгрузки для сервера WebLogic. | ||
| websphere_server string |
| Включить для добавления заголовка HTTP для указания SSL-отгрузки для сервера WebSphere. | ||
| state string добавлен в 2.9 от fortinet.fortios |
| Указывает, нужно ли создать или удалить объект. Этот атрибут уже был в предыдущей версии на более глубоком уровне. Он был перенесен на этот внешний уровень. | ||
| vdom string | По умолчанию: "root" | Виртуальный домен, среди ранее определённых. VDOM — это виртуальная инстанция FortiGate, которая может быть настроена и использована как отдельное устройство. | ||
Примечания
Примечание
- Устаревший fortiosapi устарел, httpapi — предпочтительный способ выполнения playbooks
Примеры
- hosts: fortigates
collections:
- fortinet.fortios
connection: httpapi
vars:
vdom: "root"
ansible_httpapi_use_ssl: yes
ansible_httpapi_validate_certs: no
ansible_httpapi_port: 443
tasks:
- name: Configure virtual IP for IPv4.
fortios_firewall_vip:
vdom: "{{ vdom }}"
state: "present"
access_token: "<your_own_value>"
firewall_vip:
arp_reply: "disable"
color: "4"
comment: "Comment."
dns_mapping_ttl: "6"
extaddr:
-
name: "default_name_8 (source firewall.address.name firewall.addrgrp.name)"
extintf: "<your_own_value> (source system.interface.name)"
extip: "<your_own_value>"
extport: "<your_own_value>"
gratuitous_arp_interval: "12"
http_cookie_age: "13"
http_cookie_domain: "<your_own_value>"
http_cookie_domain_from_host: "disable"
http_cookie_generation: "16"
http_cookie_path: "<your_own_value>"
http_cookie_share: "disable"
http_ip_header: "enable"
http_ip_header_name: "<your_own_value>"
http_multiplex: "enable"
https_cookie_secure: "disable"
id: "23"
ldb_method: "static"
mapped_addr: "<your_own_value> (source firewall.address.name)"
mappedip:
-
range: "<your_own_value>"
mappedport: "<your_own_value>"
max_embryonic_connections: "29"
monitor:
-
name: "default_name_31 (source firewall.ldb-monitor.name)"
name: "default_name_32"
nat_source_vip: "disable"
outlook_web_access: "disable"
persistence: "none"
portforward: "disable"
portmapping_type: "1-to-1"
protocol: "tcp"
realservers:
-
client_ip: "<your_own_value>"
healthcheck: "disable"
holddown_interval: "42"
http_host: "myhostname"
id: "44"
ip: "<your_own_value>"
max_connections: "46"
monitor: "<your_own_value> (source firewall.ldb-monitor.name)"
port: "48"
status: "active"
weight: "50"
server_type: "http"
service:
-
name: "default_name_53 (source firewall.service.custom.name firewall.service.group.name)"
src_filter:
-
range: "<your_own_value>"
srcintf_filter:
-
interface_name: "<your_own_value> (source system.interface.name)"
ssl_algorithm: "high"
ssl_certificate: "<your_own_value> (source vpn.certificate.local.name)"
ssl_cipher_suites:
-
cipher: "TLS-ECDHE-RSA-WITH-CHACHA20-POLY1305-SHA256"
priority: "62"
versions: "ssl-3.0"
ssl_client_fallback: "disable"
ssl_client_renegotiation: "allow"
ssl_client_session_state_max: "66"
ssl_client_session_state_timeout: "67"
ssl_client_session_state_type: "disable"
ssl_dh_bits: "768"
ssl_hpkp: "disable"
ssl_hpkp_age: "71"
ssl_hpkp_backup: "<your_own_value> (source vpn.certificate.local.name vpn.certificate.ca.name)"
ssl_hpkp_include_subdomains: "disable"
ssl_hpkp_primary: "<your_own_value> (source vpn.certificate.local.name vpn.certificate.ca.name)"
ssl_hpkp_report_uri: "<your_own_value>"
ssl_hsts: "disable"
ssl_hsts_age: "77"
ssl_hsts_include_subdomains: "disable"
ssl_http_location_conversion: "enable"
ssl_http_match_host: "enable"
ssl_max_version: "ssl-3.0"
ssl_min_version: "ssl-3.0"
ssl_mode: "half"
ssl_pfs: "require"
ssl_send_empty_frags: "enable"
ssl_server_algorithm: "high"
ssl_server_cipher_suites:
-
cipher: "TLS-ECDHE-RSA-WITH-CHACHA20-POLY1305-SHA256"
priority: "89"
versions: "ssl-3.0"
ssl_server_max_version: "ssl-3.0"
ssl_server_min_version: "ssl-3.0"
ssl_server_session_state_max: "93"
ssl_server_session_state_timeout: "94"
ssl_server_session_state_type: "disable"
type: "static-nat"
uuid: "<your_own_value>"
weblogic_server: "disable"
websphere_server: "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 строка | всегда | Указание результата операции Пример: успех |
| vdom строка | всегда | Используемый виртуальный домен Пример: root |
| version строка | всегда | Версия FortiGate Пример: v5.6.3 |
Авторы
- Link Zheng (@chillancezen)
- Jie Xue (@JieX19)
- Hongbin Lu (@fgtdev-hblu)
- Frank Shen (@frankshen01)
- Miguel Angel Munoz (@mamunozgonzalez)
- Nicolas Thomas (@thomnico)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/fortinet/fortios/fortios_firewall_vip_module.html