fortios_firewall_vip – Настройка виртуального IP для IPv4 в Fortinet’s FortiOS и FortiGate
Новая версия 2.8.
Описание
- Этот модуль позволяет настроить устройство FortiGate или FortiOS (FOS), позволяя пользователю устанавливать и изменять параметры брандмауэра и категории vip. Примеры включают все параметры и значения, которые необходимо настроить в источниках данных перед использованием. Тестировано на FOS v6.0.5
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- fortiosapi>=0.9.8
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | ||
|---|---|---|---|---|
| firewall_vip словарь | Значение по умолчанию: null | Настройка виртуального IP-адреса для IPv4. | ||
| arp_reply строка |
| Включить ответ на запросы ARP для этого виртуального IP-адреса. Включено по умолчанию. | ||
| color целое число | Цвет значка на графическом интерфейсе. | |||
| comment строка | Комментарий. | |||
| dns_mapping_ttl целое число | TTL (Время жизни) для сопоставления DNS (Установите в ноль, чтобы использовать TTL в ответе DNS). | |||
| extaddr список | Имя внешнего адреса FQDN. | |||
| name строка / обязательно | Имя адреса. Имя адреса источника брандмауэра. Имя группы адресов брандмауэра. | |||
| extintf строка | Интерфейс, подключенный к исходной сети, который получает пакеты, которые будут перенаправлены в целевую сеть. Имя интерфейса исходной системы. | |||
| extip строка | IP-адрес или диапазон адресов на внешнем интерфейсе, который вы хотите сопоставить с адресом или диапазоном адресов в целевой сети. | |||
| extport строка | Диапазон портов входящих соединений, который вы хотите сопоставить с диапазоном портов в целевой сети. | |||
| gratuitous_arp_interval целое число | Включить отправку VIP-адресом запросов Gratuitous ARP. 0=выключено. Установите значение от 5 до 8640000 секунд, чтобы включить. | |||
| http_cookie_age целое число | Время в минутах, в течение которого веб-браузеры клиентов должны хранить cookie. По умолчанию 60 секунд. 0 = без ограничения по времени. | |||
| http_cookie_domain строка | Домен, к которому должно применяться сохранение cookie HTTP. | |||
| http_cookie_domain_from_host строка |
| Включить/выключить использование домена cookie HTTP из поля host в HTTP. | ||
| http_cookie_generation целое число | Генерация HTTP cookie для принятия. Изменение делает все существующие cookie недействительными. | |||
| http_cookie_path строка | Ограничить сохранение cookie HTTP указанным путем. | |||
| http_cookie_share строка |
| Управление совместным использованием cookie между виртуальными серверами. same-ip означает, что cookie с одного виртуального сервера может использоваться другим. Выключение останавливает совместное использование cookie. | ||
| http_ip_header строка |
| Для HTTP-мультиплексирования, включить добавление оригинального IP-адреса клиента в заголовок HTTP XForwarded-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. Имя адреса источника брандмауэра. | |||
| mappedip список | IP-адрес или диапазон адресов в целевой сети, которому сопоставлен внешний IP-адрес. | |||
| range строка / обязательно | Диапазон сопоставленных IP-адресов. | |||
| mappedport строка | Диапазон портов в целевой сети, которому сопоставлен диапазон внешних портов. | |||
| max_embryonic_connections целое число | Максимальное число неполных соединений. | |||
| monitor список | Имя монитора проверки работоспособности для использования при опросе для определения состояния подключенности виртуального сервера. | |||
| name строка / обязательно | Имя монитора проверки работоспособности. Имя монитора проверки работоспособности из источника брандмауэра. | |||
| name строка / обязательно | Имя виртуального IP-адреса. | |||
| nat_source_vip строка |
| Включить/выключить принудительное сопоставление источника NAT с внешним IP-адресом для всего трафика. | ||
| outlook_web_access строка |
| Включить добавление заголовка Front-End-Https для Microsoft Outlook Web Access. | ||
| persistence строка |
| Настроить, как убедиться, что клиенты каждый раз подключаются к одному и тому же серверу, когда они отправляют запрос, который является частью одного сеанса. | ||
| portforward строка |
| Включить/выключить переадресацию портов. | ||
| portmapping_type строка |
| Тип сопоставления портов. | ||
| protocol строка |
| Протокол, используемый при переадресации пакетов. | ||
| realservers list | Выберите реальные серверы, к которым этот VIP балансировки нагрузки серверов будет распределять трафик. | |||
| client_ip string | Только клиенты в этом диапазоне IP-адресов могут подключиться к этому реальному серверу. | |||
| healthcheck string |
| Включите, чтобы проверить реакцию реального сервера перед переадресацией трафика. | ||
| holddown_interval integer | Время в секундах, которое монитор проверки работоспособности продолжает отслеживать неотвечающий сервер, который должен быть активным. | |||
| http_host string | Имя домена HTTP-сервера в HTTP-заголовке. | |||
| id integer / обязательно | ID реального сервера. | |||
| ip string | IP-адрес реального сервера. | |||
| max_connections integer | Максимальное количество активных подключений, которые могут быть направлены на реальный сервер. При достижении этого значения сеансы отправляются на другие реальные серверы. | |||
| monitor string | Имя монитора проверки работоспособности для использования при опросе для определения состояния подключения виртуального сервера. Источник брандмауэра .ldb-monitor.name. | |||
| port integer | Порт для связи с реальным сервером. Требуется, если включен переадресация портов. | |||
| status string |
| Установите статус реального сервера на активный, чтобы он мог принимать трафик, или на ожидание или отключен, чтобы не отправлять трафик. | ||
| weight integer | Вес реального сервера. Если включен весовой баланс нагрузки, сервер с наибольшим весом получает больше подключений. | |||
| server_type string |
| Протокол, который будет балансироваться виртуальным сервером (также называемым виртуальным IP-адресом балансировки нагрузки серверов). | ||
| service list | Название службы. | |||
| name string / обязательно | Название службы. Источник брандмауэра.service.custom.name брандмауэр.service.group.name. | |||
| src_filter list | Фильтр адресов источника. Каждый адрес должен быть либо IP/подсетью (x.x.x.x/n), либо диапазоном (x.x.x.x-y.y.y.y). Разделяйте адреса пробелами. | |||
| range string / обязательно | Диапазон фильтра источника. | |||
| srcintf_filter list | Интерфейсы, к которым применяется VIP. Разделяйте имена пробелами. | |||
| interface_name string | Имя интерфейса. Источник системы.interface.name. | |||
| ssl_algorithm string |
| Разрешенные алгоритмы шифрования для SSL-сеансов в соответствии с силой шифрования. | ||
| ssl_certificate string | Имя SSL-сертификата, используемого для ускорения SSL. Источник vpn.certificate.local.name. | |||
| ssl_cipher_suites list | Наборы шифров SSL/TLS, приемлемые от клиента, упорядоченные по приоритету. | |||
| cipher string |
| Имя набора шифров. | ||
| priority integer / обязательно | Приоритет набора шифров SSL/TLS. | |||
| versions string |
| Версии SSL/TLS, с которыми может использоваться набор шифров. | ||
| ssl_client_fallback string |
| Включить/выключить поддержку предотвращения атак понижения версии на подключения клиентов (RFC 7507). | ||
| ssl_client_renegotiation string |
| Разрешить, запретить или потребовать безопасной повторной установления сеансов клиентов для соответствия RFC 5746. | ||
| ssl_client_session_state_max integer | Максимальное количество состояний SSL-сеансов клиента для FortiGate. | |||
| ssl_client_session_state_timeout integer | Количество минут для сохранения состояния SSL-сеанса клиента для FortiGate. | |||
| ssl_client_session_state_type string |
| Как истекают SSL-сеансы для сегмента SSL-соединения между клиентом и FortiGate. | ||
| ssl_dh_bits string |
| Количество бит, используемых в обмене Diffie-Hellman для шифрования RSA SSL-сеансов. | ||
| ssl_hpkp string |
| Включить/выключить включение заголовка HPKP в ответ. | ||
| ssl_hpkp_age integer | Количество секунд, в течение которых клиент должен соблюдать установку HPKP. | |||
| ssl_hpkp_backup string | Сертификат для создания резервной копии HPKP-значения. Источник vpn.certificate.local.name vpn.certificate.ca.name. | |||
| ssl_hpkp_include_subdomains строка |
| Указывает, что заголовок HPKP применяется ко всем поддоменам. | ||
| ssl_hpkp_primary строка | Сертификат для генерации первичной метки HPKP. Источник vpn.certificate.local.name vpn.certificate.ca.name. | |||
| ssl_hpkp_report_uri строка | URL для отправки отчетов о нарушениях HPKP. | |||
| ssl_hsts строка |
| Включить/отключить добавление заголовка HSTS в ответ. | ||
| ssl_hsts_age целое число | Количество секунд, в течение которого клиент должен соблюдать настройки HSTS. | |||
| ssl_hsts_include_subdomains строка |
| Указывает, что заголовок HSTS применяется ко всем поддоменам. | ||
| ssl_http_location_conversion строка |
| Включить для замены HTTP на HTTPS в поле заголовка Location ответа. | ||
| ssl_http_match_host строка |
| Включить/отключить соответствие по HTTP-хосту для преобразования местоположения. | ||
| ssl_max_version строка |
| Наивысшая поддерживаемая версия SSL/TLS от клиента. | ||
| ssl_min_version строка |
| Наименьшая поддерживаемая версия SSL/TLS от клиента. | ||
| ssl_mode строка |
| Применить SSL-отгрузку между клиентом и FortiGate (половинный) или от клиента к FortiGate и от FortiGate к серверу (полный). | ||
| ssl_pfs строка |
| Выбор наборов шифров, которые можно использовать для SSL perfect forward secrecy (PFS). Применяется к сессиям как клиента, так и сервера. | ||
| ssl_send_empty_frags строка |
| Включить/отключить отправку пустых фрагментов для предотвращения атак CBC IV (только SSL 3.0 и TLS 1.0). Возможно, потребуется отключить для совместимости со старыми системами. | ||
| ssl_server_algorithm строка |
| Разрешенные алгоритмы шифрования для серверной стороны SSL-сессий в полном режиме в соответствии со степенью криптостойкости. | ||
| ssl_server_cipher_suites список | Наборы шифров SSL/TLS, предлагаемые серверу, в порядке приоритета. | |||
| cipher строка |
| Имя набора шифров. | ||
| priority целое число / обязательно | Приоритет наборов шифров SSL/TLS. | |||
| versions строка |
| Версии SSL/TLS, с которыми может использоваться набор шифров. | ||
| ssl_server_max_version строка |
| Наивысшая версия SSL/TLS, принимаемая от сервера. По умолчанию используется значение «клиентский». | ||
| ssl_server_min_version строка |
| Наименьшая версия SSL/TLS, принимаемая от сервера. По умолчанию используется значение «клиентский». | ||
| ssl_server_session_state_max целое число | Максимальное количество состояний SSL-сессий FortiGate-сервер для сохранения. | |||
| ssl_server_session_state_timeout целое число | Количество минут для сохранения состояния SSL-сессии FortiGate-сервер. | |||
| ssl_server_session_state_type строка |
| Как истекают SSL-сессии для сегмента соединения SSL между сервером и FortiGate. | ||
| state строка |
| Устарело Начиная с Ansible 2.9, рекомендуется использовать параметр «state» на верхнем уровне. Указывает, нужно ли создать или удалить объект. | ||
| type строка |
| Настройка статического NAT, балансировки нагрузки, серверной балансировки нагрузки, перевода DNS или VIP FQDN. | ||
| uuid строка | Универсальный уникальный идентификатор (UUID; автоматически назначается, но может быть вручную сброшен). | |||
| weblogic_server строка |
| Включить для добавления HTTP-заголовка, указывающего на SSL-отгрузку для сервера WebLogic. | ||
| websphere_server строка |
| Включить для добавления HTTP-заголовка, указывающего на SSL-отгрузку для сервера WebSphere. | ||
| host строка | IP-адрес FortiOS или FortiGate. | |||
| https булево |
| Указывает, должны ли запросы к FortiGate использовать протокол HTTPS. | ||
| password строка | По умолчанию: "" | Пароль FortiOS или FortiGate. | ||
| ssl_verify булево добавлено в 2.9 |
| Обеспечивает проверку сертификата FortiGate надёжной организацией сертификации. | ||
| состояние строка добавлено в 2.9 |
| Указывает, нужно ли создать или удалить объект. Этот атрибут уже присутствовал в предыдущих версиях на более глубоком уровне. Он был перемещён на этот внешний уровень. | ||
| имя_пользователя строка | Имя пользователя FortiOS или FortiGate. | |||
| vdom строка | По умолчанию: "root" | Виртуальная область, среди тех, которые определены ранее. VDOM — виртуальная инстанция FortiGate, которая может быть настроена и использована как отдельное устройство. | ||
Примечания
Примечание
- Требуется библиотека fortiosapi, разработанная Fortinet
- Выполнять как local_action в вашем playbook
Примеры
- hosts: localhost
vars:
host: "192.168.122.40"
username: "admin"
password: ""
vdom: "root"
ssl_verify: "False"
tasks:
- name: Configure virtual IP for IPv4.
fortios_firewall_vip:
host: "{{ host }}"
username: "{{ username }}"
password: "{{ password }}"
vdom: "{{ vdom }}"
https: "False"
state: "present"
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-RSA-WITH-3DES-EDE-CBC-SHA"
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-RSA-WITH-3DES-EDE-CBC-SHA"
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 |
Статус
- Данный модуль не гарантирует обратную совместимость интерфейса. [превью]
- Этот модуль поддерживается сообществом 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_firewall_vip_module.html