fortinet.fortios.fortios_firewall_vip 模块 – 配置 Fortinet FortiOS 和 FortiGate 中 IPv4 的虚拟 IP。
注意
此模块是 fortinet.fortios 集合 (版本 2.3.8) 的一部分。
如果您使用的是 ansible
包,则可能已经安装了此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用: ansible-galaxy collection install fortinet.fortios
。您需要其他要求才能使用此模块,请参阅 要求 获取详细信息。
要在剧本中使用它,请指定: fortinet.fortios.fortios_firewall_vip
。
fortinet.fortios 2.0.0 中的新增功能
概要
此模块能够配置 FortiGate 或 FortiOS (FOS) 设备,允许用户设置和修改防火墙功能和 vip 类别。示例包括所有参数,在使用前需要将值调整到数据源。已在 FOS v6.0.0 版本上测试。
要求
以下是执行此模块的主机所需的条件。
ansible>=2.15
参数
参数 |
注释 |
---|---|
基于令牌的身份验证。从 Fortigate 的 GUI 生成。 |
|
启用/禁用任务的日志记录。 选项
|
|
配置 IPv4 的虚拟 IP。 |
|
启用/禁用添加 NAT46 路由。 选项
|
|
启用对该虚拟 IP 地址的 ARP 请求的响应。默认启用。 选项
|
|
GUI 上图标的颜色。 |
|
注释。 |
|
DNS 映射 TTL(设置为零以使用 DNS 响应中的 TTL)。 |
|
外部 FQDN 地址名称。 |
|
地址名称。来源 firewall.address.name firewall.addrgrp.name。 |
|
连接到接收将转发到目标网络的数据包的源网络的接口。来源 system .interface.name。 |
|
您要映射到目标网络上的地址或地址范围的外部接口上的 IP 地址或地址范围。 |
|
您要映射到目标网络上的端口号范围的传入端口号范围。 |
|
启用 VIP 发送 gratuitous ARP。0=禁用。设置为 5 到 8640000 秒以启用。 |
|
与 FortiGSLB 集成时使用的域。 |
|
在配置的 FortiGSLB 域中使用的主机名。 |
|
FortiGSLB 服务的公共可访问 IP 地址。 |
|
此公共 IP 设置的索引。请参见 备注。 |
|
公共可访问的 IP 地址。 |
|
启用/禁用 HTTP2 支持。 选项
|
|
启用/禁用 HTTP3/QUIC 支持。 选项
|
|
客户端 Web 浏览器应保留 Cookie 的时间(分钟)。默认为 60 分钟。0 = 无时间限制。 |
|
HTTP Cookie 持久性应应用到的域。 |
|
启用/禁用使用 HTTP 中的主机字段中的 HTTP Cookie 域。 选项
|
|
要接受的 HTTP Cookie 生成。更改会使所有现有 Cookie 无效。 |
|
将 HTTP Cookie 持久性限制为指定的路径。 |
|
控制在虚拟服务器之间共享 Cookie。使用 same-ip 表示来自一个虚拟服务器的 Cookie 可以被另一个虚拟服务器使用。禁用会停止 Cookie 共享。 选项
|
|
对于 HTTP 多路复用,启用以在 XForwarded-For HTTP 标头中添加原始客户端 IP 地址。 选项
|
|
对于 HTTP 多路复用,输入自定义 HTTPS 标头名称。原始客户端 IP 地址将添加到此标头。如果为空,则使用 X-Forwarded-For。 |
|
启用/禁用 HTTP 多路复用。 选项
|
|
多路复用服务器可以处理的并发请求的最大数量。 |
|
多路复用服务器在断开会话之前可以处理的请求的最大数量。 |
|
空闲连接到服务器的生存时间。 |
|
启用/禁用将 HTTP 重定向到 HTTPS。 选项
|
|
最大支持的 HTTP 版本。默认 = HTTP2 选项
|
|
启用/禁用插入的 HTTPS Cookie 是否安全的验证。 选项
|
|
自定义 ID。 |
|
映射的 IPv6 地址范围。请指定起始 IPv6 地址,然后加一个空格,再指定结束 IPv6 地址。 |
|
目标网络上与外部端口号范围映射的 IPv6 端口号范围。 |
|
用于将会话分配到真实服务器的方法。 选项
|
|
映射的 FQDN 地址名称。来源 firewall.address.name。 |
|
目标网络上与外部 IP 地址映射的 IP 地址或地址范围。 |
|
映射的 IP 范围。 |
|
目标网络上与外部端口号范围映射的端口号范围。 |
|
未完成连接的最大数量。 |
|
轮询以确定虚拟服务器连接状态时使用的运行状况检查监控器的名称。 |
|
运行状况监控器名称。来源 firewall.ldb-monitor.name。 |
|
虚拟 IP 名称。 |
|
启用/禁用 NAT44。 选项
|
|
启用/禁用 NAT46。 选项
|
|
启用/禁用强制所有流量的源 NAT 映射 IP 为外部 IP。 选项
|
|
启用/禁用与 FortiGSLB 的一键式 GSLB 服务器集成。 选项
|
|
启用后,将为 Microsoft Outlook Web Access 添加 Front-End-Https 标头。 选项
|
|
配置如何确保客户端每次发出属于同一会话的请求时都连接到同一服务器。 选项
|
|
启用/禁用端口转发。 选项
|
|
端口映射类型。 选项
|
|
转发数据包时使用的协议。 选项
|
|
QUIC 设置。 |
|
ACK 延迟指数 (1 - 20)。 |
|
活动连接 ID 限制 (1 - 8)。 |
|
启用/禁用活动迁移。 选项
|
|
启用/禁用 grease QUIC 位。 选项
|
|
最大 ACK 延迟(毫秒)(1 - 16383)。 |
|
最大数据报帧大小(字节)(1 - 1500)。 |
|
最大空闲超时(毫秒)(1 - 60000)。 |
|
最大 UDP 负载大小(字节)(1200 - 1500)。 |
|
选择此服务器负载平衡 VIP 将向其分发流量的真实服务器。 |
|
真实服务器的动态地址。来源 firewall.address.name。 |
|
只有此 IP 范围内的客户端才能连接到此真实服务器。 |
|
启用后,会在转发流量之前检查真实服务器的响应能力。 选项
|
|
在活动-备用模式下,系统在重新激活先前已停用的活动服务器之前等待的时间(秒)。这是为了防止任何抖动问题。 |
|
HTTP 标头中的 HTTP 服务器域名。 |
|
真实服务器 ID。参见 注释。 |
|
真实服务器的 IP 地址。 |
|
可以定向到真实服务器的活动连接的最大数量。达到此数量后,会话将发送到其他真实服务器。 |
|
轮询以确定虚拟服务器连接状态时使用的运行状况检查监控器的名称。来源 firewall.ldb-monitor.name。 |
|
运行状况监控器名称。来源 firewall.ldb-monitor.name。 |
|
与真实服务器通信的端口。如果启用了端口转发,则需要此端口。 |
|
将真实服务器的状态设置为活动状态,以便它可以接受流量,或者设置为备用或禁用状态,以便不发送流量。 选项
|
|
启用/禁用从虚拟服务器到真实服务器的主机名/IP 转换。 选项
|
|
地址类型。 选项
|
|
真实服务器的权重。如果启用了加权负载平衡,则权重最高的服务器将获得更多连接。 |
|
虚拟服务器(也称为服务器负载平衡虚拟 IP)要进行负载平衡的协议。 选项
|
|
服务名称。 |
|
服务名称。来源 firewall.service.custom.name firewall.service.group.name。 |
|
源地址过滤器。每个地址必须是 IP/子网 (x.x.x.x/n) 或范围 (x.x.x.x-y.y.y.y)。用空格分隔地址。 |
|
源过滤器范围。 |
|
启用/禁用使用“src-filter”来匹配反向 SNAT 规则的目标。 选项
|
|
VIP 应用到的接口。用空格分隔名称。 |
|
接口名称。来源 system.interface.name。 |
|
启用/禁用 SSL 密钥交换的 FFDHE 密码套件。 选项
|
|
根据加密强度允许的 SSL 会话加密算法。 选项
|
|
用于 SSL 握手的证书名称。来源 vpn.certificate.local.name。 |
|
用于 SSL 握手的证书名称。 |
|
证书列表。来源 vpn.certificate.local.name。 |
|
客户端可接受的 SSL/TLS 密码套件,按优先级排序。 |
|
密码套件名称。 选项
|
|
SSL/TLS 密码套件优先级。参见 注释。 |
|
密码套件可使用的 SSL/TLS 版本。 选项
|
|
启用/禁用支持防止客户端连接的降级攻击(RFC 7507)。 选项
|
|
触发客户端重新加密之前的数据最大长度(MB)(0 = 禁用)。 |
|
允许、拒绝或要求安全重新协商客户端会话以符合 RFC 5746。 选项
|
|
要保留的客户端到 FortiGate SSL 会话状态的最大数量。 |
|
保留客户端到 FortiGate SSL 会话状态的分钟数。 |
|
如何使客户端和 FortiGate 之间的 SSL 连接段的 SSL 会话过期。 选项
|
|
在用于 RSA 加密的 SSL 会话的 Diffie-Hellman 交换中使用的位数。 选项
|
|
启用/禁用在响应中包含 HPKP 标头。 选项
|
|
客户端应遵守 HPKP 设置的秒数。 |
|
从中生成备份 HPKP pin 的证书。来源 vpn.certificate.local.name vpn.certificate.ca.name。 |
|
指示 HPKP 标头适用于所有子域名。 选项
|
|
从中生成主要 HPKP pin 的证书。来源 vpn.certificate.local.name vpn.certificate.ca.name。 |
|
向其报告 HPKP 违规的 URL。 |
|
启用/禁用在响应中包含 HSTS 标头。 选项
|
|
客户端应遵守 HSTS 设置的秒数。 |
|
指示 HSTS 标头适用于所有子域名。 选项
|
|
启用后,将替换回复的 Location HTTP 标头字段中的 HTTP 为 HTTPS。 选项
|
|
启用/禁用位置转换的 HTTP 主机匹配。 选项
|
|
客户端可接受的最高 SSL/TLS 版本。 选项
|
|
客户端可接受的最低 SSL/TLS 版本。 选项
|
|
在客户端和 FortiGate 之间应用 SSL 卸载(一半)或从客户端到 FortiGate 以及从 FortiGate 到服务器(全部)。 选项
|
|
选择可用于 SSL 完全正向保密 (PFS) 的密码套件。适用于客户端和服务器会话。 选项
|
|
启用/禁用发送空片段以避免 CBC IV 攻击(仅限 SSL 3.0 和 TLS 1.0)。可能需要禁用才能与旧系统兼容。 选项
|
|
根据加密强度允许的 SSL 全模式会话服务器端的加密算法。 选项
|
|
要提供给服务器的 SSL/TLS 密码套件,按优先级排序。 |
|
密码套件名称。 选项
|
|
SSL/TLS 密码套件优先级。参见 注释。 |
|
密码套件可使用的 SSL/TLS 版本。 选项
|
|
服务器可接受的最高 SSL/TLS 版本。默认情况下使用客户端设置。 选项
|
|
服务器可接受的最低 SSL/TLS 版本。默认情况下使用客户端设置。 选项
|
|
启用/禁用安全重新协商以符合 RFC 5746。 选项
|
|
要保留的 FortiGate 到服务器 SSL 会话状态的最大数量。 |
|
保留 FortiGate 到服务器 SSL 会话状态的分钟数。 |
|
如何使服务器和 FortiGate 之间的 SSL 连接段的 SSL 会话过期。 选项
|
|
启用/禁用 VIP。 选项
|
|
配置静态 NAT、负载平衡、服务器负载平衡、访问代理、DNS 转换或 FQDN VIP。 选项
|
|
通用唯一识别码 (UUID;自动分配,但可以手动重置)。 |
|
启用此选项可在HTTP标头中添加信息,指示WebLogic服务器的SSL卸载。 选项
|
|
启用此选项可在HTTP标头中添加信息,指示WebSphere服务器的SSL卸载。 选项
|
|
要操作的成员属性路径。 如果有多个属性,则用斜杠字符分隔。 标有member_path的参数对于执行成员操作是合法的。 |
|
在指定的属性路径下添加或删除成员。 当指定member_state时,将忽略state选项。 选项
|
|
指示是创建还是删除对象。 选项
|
|
虚拟域,属于先前定义的域之一。vdom是FortiGate的虚拟实例,可以将其配置并用作不同的单元。 默认值: |
注释
注意
旧版fortiosapi已弃用,httpapi是运行剧本的首选方式。
该模块支持check_mode。
示例
- name: Configure virtual IP for IPv4.
fortinet.fortios.fortios_firewall_vip:
vdom: "{{ vdom }}"
state: "present"
access_token: "<your_own_value>"
firewall_vip:
add_nat46_route: "disable"
arp_reply: "disable"
color: "0"
comment: "Comment."
dns_mapping_ttl: "0"
extaddr:
-
name: "default_name_9 (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: "0"
gslb_domain_name: "<your_own_value>"
gslb_hostname: "myhostname"
gslb_public_ips:
-
index: "<you_own_value>"
ip: "<your_own_value>"
h2_support: "enable"
h3_support: "enable"
http_cookie_age: "60"
http_cookie_domain: "<your_own_value>"
http_cookie_domain_from_host: "disable"
http_cookie_generation: "0"
http_cookie_path: "<your_own_value>"
http_cookie_share: "disable"
http_ip_header: "enable"
http_ip_header_name: "<your_own_value>"
http_multiplex: "enable"
http_multiplex_max_concurrent_request: "0"
http_multiplex_max_request: "0"
http_multiplex_ttl: "15"
http_redirect: "enable"
http_supported_max_version: "http1"
https_cookie_secure: "disable"
id: "36"
ipv6_mappedip: "<your_own_value>"
ipv6_mappedport: "<your_own_value>"
ldb_method: "static"
mapped_addr: "<your_own_value> (source firewall.address.name)"
mappedip:
-
range: "<your_own_value>"
mappedport: "<your_own_value>"
max_embryonic_connections: "1000"
monitor:
-
name: "default_name_46 (source firewall.ldb-monitor.name)"
name: "default_name_47"
nat_source_vip: "disable"
nat44: "disable"
nat46: "disable"
one_click_gslb_server: "disable"
outlook_web_access: "disable"
persistence: "none"
portforward: "disable"
portmapping_type: "1-to-1"
protocol: "tcp"
quic:
ack_delay_exponent: "3"
active_connection_id_limit: "2"
active_migration: "enable"
grease_quic_bit: "enable"
max_ack_delay: "25"
max_datagram_frame_size: "1500"
max_idle_timeout: "30000"
max_udp_payload_size: "1500"
realservers:
-
address: "<your_own_value> (source firewall.address.name)"
client_ip: "<your_own_value>"
healthcheck: "disable"
holddown_interval: "300"
http_host: "myhostname"
id: "72"
ip: "<your_own_value>"
max_connections: "0"
monitor:
-
name: "default_name_76 (source firewall.ldb-monitor.name)"
port: "0"
status: "active"
translate_host: "enable"
type: "ip"
weight: "1"
server_type: "http"
service:
-
name: "default_name_84 (source firewall.service.custom.name firewall.service.group.name)"
src_filter:
-
range: "<your_own_value>"
src_vip_filter: "disable"
srcintf_filter:
-
interface_name: "<your_own_value> (source system.interface.name)"
ssl_accept_ffdhe_groups: "enable"
ssl_algorithm: "high"
ssl_certificate: "<your_own_value> (source vpn.certificate.local.name)"
ssl_certificate_dict:
-
name: "default_name_94 (source vpn.certificate.local.name)"
ssl_cipher_suites:
-
cipher: "TLS-AES-128-GCM-SHA256"
priority: "<you_own_value>"
versions: "ssl-3.0"
ssl_client_fallback: "disable"
ssl_client_rekey_count: "0"
ssl_client_renegotiation: "allow"
ssl_client_session_state_max: "1000"
ssl_client_session_state_timeout: "30"
ssl_client_session_state_type: "disable"
ssl_dh_bits: "768"
ssl_hpkp: "disable"
ssl_hpkp_age: "5184000"
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: "5184000"
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-AES-128-GCM-SHA256"
priority: "<you_own_value>"
versions: "ssl-3.0"
ssl_server_max_version: "ssl-3.0"
ssl_server_min_version: "ssl-3.0"
ssl_server_renegotiation: "enable"
ssl_server_session_state_max: "100"
ssl_server_session_state_timeout: "60"
ssl_server_session_state_type: "disable"
status: "disable"
type: "static-nat"
uuid: "<your_own_value>"
weblogic_server: "disable"
websphere_server: "disable"
返回值
常见的返回值已在此处记录,以下是此模块特有的字段
键 |
描述 |
---|---|
FortiGate镜像的版本号 返回:始终 示例: |
|
上次用于将内容置备到FortiGate的方法 返回:始终 示例: |
|
FortiGate在上次应用的操作中给出的最后结果 返回:始终 示例: |
|
上次调用FortiGate时使用的主密钥(ID) 返回:成功 示例: |
|
用于完成请求的表的名称 返回:始终 示例: |
|
用于完成请求的表的路径 返回:始终 示例: |
|
内部修订号 返回:始终 示例: |
|
设备的序列号 返回:始终 示例: |
|
操作结果的指示 返回:始终 示例: |
|
使用的虚拟域 返回:始终 示例: |
|
FortiGate的版本 返回:始终 示例: |