fortios_firewall_vip – Настройка виртуального IP для IPv4 в FortiOS и FortiGate Fortinet
Новая версия 2.8.
Обзор
- Этот модуль позволяет настроить FortiGate или FortiOS, предоставив пользователю возможность настроить функцию брандмауэра и категорию VIP. Примеры включают все параметры и должны быть скорректированы для источников данных перед использованием. Тестировано с FOS v6.0.2
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- fortiosapi>=0.9.8
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | ||
|---|---|---|---|---|
| firewall_vip - | Значение по умолчанию: null | Настройка виртуального IP-адреса для IPv4. | ||
| arp-reply - |
| Включить ответы на запросы ARP для этого виртуального IP-адреса. Включено по умолчанию. | ||
| color - | Цвет значка на графическом интерфейсе. | |||
| comment - | Комментарий. | |||
| dns-mapping-ttl - | TTL для сопоставления DNS (Установите в ноль, чтобы использовать TTL в ответе DNS, по умолчанию = 0). | |||
| extaddr - | Имя внешнего адреса FQDN. | |||
| name - / обязательно | Имя адреса. Источник firewall.address.name firewall.addrgrp.name. | |||
| extintf - | Интерфейс, подключенный к исходной сети, который получает пакеты, которые будут перенаправлены в целевую сеть. Имя интерфейса источника .interface.name. | |||
| extip - | IP-адрес или диапазон адресов на внешнем интерфейсе, который вы хотите сопоставить с адресом или диапазоном адресов в целевой сети. | |||
| extport - | Диапазон номеров входящих портов, который вы хотите сопоставить с диапазоном номеров портов в целевой сети. | |||
| gratuitous-arp-interval - | Включить отправку VIP-адресом 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 - | Генерация cookie HTTP для приема. Изменение делает все существующие cookie недействительными. | |||
| http-cookie-path - | Ограничить сохранение cookie HTTP указанным путем. | |||
| 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 - | Выберите реальные серверы, к которым этот балансировщик нагрузки VIP будет распределять трафик. | |||
| client-ip - | Только клиенты в этом диапазоне IP могут подключиться к этому реальному серверу. | |||
| healthcheck - |
| Включите для проверки отзывчивости реального сервера перед переадресацией трафика. | ||
| holddown-interval - | Время в секундах, в течение которого монитор проверки работоспособности продолжает отслеживать неотзывчивый сервер, который должен быть активным. | |||
| http-host - | Имя домена HTTP-сервера в HTTP-заголовке. | |||
| id - / обязательно | ID реального сервера. | |||
| ip - | IP-адрес реального сервера. | |||
| max-connections - | Максимальное количество активных подключений, которые могут быть направлены на реальный сервер. При достижении этого значения сеансы отправляются на другие реальные серверы. | |||
| monitor - | Имя монитора проверки работоспособности, используемого при опросе для определения состояния подключения виртуального сервера. Источник брандмауэра .ldb-monitor.name. | |||
| port - | Порт для связи с реальным сервером. Требуется, если включено перенаправление портов. | |||
| status - |
| Установите статус реального сервера в активный, чтобы он мог принимать трафик, или в режим ожидания или отключенный, чтобы трафик не отправлялся. | ||
| weight - | Вес реального сервера. Если включен весовой балансировщик нагрузки, сервер с наибольшим весом получает больше подключений. | |||
| server-type - |
| Протокол, который должен быть сбалансирован виртуальным сервером (также называемый виртуальным IP-адресом балансировщика нагрузки сервера). | ||
| service - | Название службы. | |||
| name - / обязательно | Название службы. Источник брандмауэра.service.custom.name брандмауэр.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 - / обязательно | Имя интерфейса. Источник системы.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. Источник 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 ответа HTTP. | ||
| ssl-http-match-host - |
| Включить/выключить соответствие хоста HTTP для преобразования местоположения. | ||
| ssl-max-version - |
| Наивысшая версия SSL/TLS, приемлемая от клиента. | ||
| ssl-min-version - |
| Наименьшая версия SSL/TLS, приемлемая от клиента. | ||
| ssl-mode - |
| Применить SSL-оффлоадинг между клиентом и FortiGate (half) или от клиента к FortiGate и от FortiGate к серверу (full). | ||
| 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 - / required | Приоритет наборов шифров 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 для части подключения между сервером и FortiGate. | ||
| state - |
| Указывает, нужно ли создавать или удалять объект. | ||
| type - |
| Настройка статического NAT, балансировки нагрузки, балансировки нагрузки сервера, DNS-перевода или VIP FQDN. | ||
| uuid - | Универсальный уникальный идентификатор (UUID; автоматически назначается, но может быть изменен вручную). | |||
| weblogic-server - |
| Включить для добавления заголовка HTTP, указывающего на SSL-оффлоадинг для сервера WebLogic. | ||
| websphere-server - |
| Включить для добавления заголовка HTTP, указывающего на SSL-оффлоадинг для сервера WebSphere. | ||
| host - / required | IP-адрес FortiOS или FortiGate. | |||
| https boolean |
| Указывает, должны ли запросы к FortiGate использовать протокол HTTPS. | ||
| password - | По умолчанию: "" | Пароль FortiOS или FortiGate. | ||
| username - / required | Имя пользователя FortiOS или FortiGate. | |||
| vdom - | По умолчанию: "root" | Виртуальный домен, среди ранее определенных. VDOM — виртуальная инстанция FortiGate, которая может быть настроена и использована как отдельное устройство. | ||
Примечания
Примечание
- Требуется библиотека fortiosapi, разработанная Fortinet
- Запускается как local_action в вашем playbook
Примеры
- hosts: localhost
vars:
host: "192.168.122.40"
username: "admin"
password: ""
vdom: "root"
tasks:
- name: Configure virtual IP for IPv4.
fortios_firewall_vip:
host: "{{ host }}"
username: "{{ username }}"
password: "{{ password }}"
vdom: "{{ vdom }}"
firewall_vip:
state: "present"
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 Пример: key1 |
| name строка | всегда | Имя таблицы, используемой для выполнения запроса Пример: urlfilter |
| path строка | всегда | Путь к таблице, используемой для выполнения запроса Пример: webfilter |
| revision строка | всегда | Внутренний номер ревизии Пример: 17.0.2.10658 |
| serial строка | всегда | Серийный номер устройства Пример: FGVMEVYYQT3AB5352 |
| status строка | всегда | Указание результата операции Пример: успех |
| vdom строка | всегда | Используемый виртуальный домен Пример: root |
| version строка | всегда | Версия FortiGate Пример: v5.6.3 |
Статус
- Данный модуль не гарантирует обратной совместимости интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- 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.8/modules/fortios_firewall_vip_module.html