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
。您需要进一步的要求才能使用此模块,请参阅 要求 以了解详细信息。
要在 playbook 中使用它,请指定: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 发送无故 ARP。0=禁用。设置为 5 到 8640000 秒以启用。 |
|
与 FortiGSLB 集成时使用的域。 |
|
在配置的 FortiGSLB 域中使用的主机名。 |
|
FortiGSLB 服务的公开可访问 IP 地址。 |
|
此公有 IP 设置的索引。请参阅 <a href=’#notes’>注释</a>。 |
|
公开可访问的 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 地址。 选择
|
|
启用/禁用一键 GSLB 服务器与 FortiGSLB 的集成。 选择
|
|
启用此选项可为 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。请参阅 <a href=’#notes’>注释</a>。 |
|
真实服务器的 IP 地址。 |
|
可以定向到真实服务器的最大活动连接数。达到此限制时,会话将发送到其他真实服务器。 |
|
用于轮询以确定虚拟服务器连接状态时使用的运行状况检查监视器的名称。源 firewall .ldb-monitor.name。 |
|
健康监视器名称。源 firewall.ldb-monitor.name。 |
|
与真实服务器通信的端口。如果启用了端口转发,则为必填项。 |
|
将真实服务器的状态设置为 active,使其可以接受流量,或设置为 standby 或 disabled,以便不发送任何流量。 选择
|
|
启用/禁用从虚拟服务器到真实服务器的主机名/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 密码套件优先级。请参阅 <a href=’#notes’>注释</a>。 |
|
可使用该密码套件的 SSL/TLS 版本。 选择
|
|
启用/禁用对防止客户端连接降级攻击的支持 (RFC 7507)。 选择
|
|
触发客户端重新密钥之前的数据最大长度,以 MB 为单位(0 = 禁用)。 |
|
允许、拒绝或要求对客户端会话进行安全重新协商,以符合 RFC 5746。 选择
|
|
要保留的最大客户端到 FortiGate SSL 会话状态数。 |
|
保留客户端到 FortiGate SSL 会话状态的分钟数。 |
|
如何为客户端和 FortiGate 之间的 SSL 连接段过期 SSL 会话。 选择
|
|
在 Diffie-Hellman 交换中用于 SSL 会话的 RSA 加密的位数。 选择
|
|
启用/禁用在响应中包含 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 之间(半)或从客户端到 FortiGate 以及从 FortiGate 到服务器(全)应用 SSL 卸载。 选择
|
|
选择可用于 SSL 完全前向保密 (PFS) 的密码套件。适用于客户端和服务器会话。 选择
|
|
启用/禁用发送空片段以避免 CBC IV 攻击(仅限 SSL 3.0 和 TLS 1.0)。可能需要禁用此选项以兼容较旧的系统。 选择
|
|
根据加密强度,允许用于 SSL 全模式会话服务器端的加密算法。 选择
|
|
要提供给服务器的 SSL/TLS 密码套件,按优先级排序。 |
|
密码套件名称。 选择
|
|
SSL/TLS 密码套件优先级。请参阅 <a href=’#notes’>注释</a>。 |
|
可使用该密码套件的 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 是运行 playbook 的首选方式
该模块支持 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 的版本 返回: 始终 示例: |