fortinet.fortios.fortios_firewall_access_proxy 模块 – 在 Fortinet 的 FortiOS 和 FortiGate 中配置 IPv4 访问代理。
注意
此模块是 fortinet.fortios 集合(版本 2.3.8)的一部分。
如果您正在使用 ansible
包,则可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install fortinet.fortios
。您需要其他要求才能使用此模块,请参阅 要求 了解详细信息。
要在 Playbook 中使用它,请指定:fortinet.fortios.fortios_firewall_access_proxy
。
fortinet.fortios 2.0.0 中的新功能
概要
此模块能够通过允许用户设置和修改防火墙功能和 access_proxy 类别来配置 FortiGate 或 FortiOS (FOS) 设备。示例包括所有参数和值,需要在使用前调整为数据源。使用 FOS v6.0.0 测试。
要求
执行此模块的主机需要以下要求。
ansible>=2.15
参数
参数 |
注释 |
---|---|
基于令牌的身份验证。从 Fortigate 的 GUI 生成。 |
|
启用/禁用任务的日志记录。 选择
|
|
配置 IPv4 访问代理。 |
|
启用/禁用将 vhost/域添加到 ztna dox 隧道的 dnsdb。 选择
|
|
设置 IPv4 API 网关。 |
|
此访问代理控制的 SaaS 应用程序。 |
|
SaaS 应用程序名称。 |
|
HTTP2 支持,默认=启用。 选择
|
|
HTTP3/QUIC 支持,默认=禁用。 选择
|
|
客户端 Web 浏览器应保留 Cookie 的时间(以分钟为单位)。默认值为 60 分钟。0 = 无时间限制。 |
|
HTTP Cookie 持久性应应用到的域。 |
|
启用/禁用从 HTTP 中的主机字段使用 HTTP Cookie 域。 选择
|
|
要接受的 HTTP Cookie 的生成。更改会使所有现有 Cookie 失效。 |
|
将 HTTP Cookie 持久性限制为指定的路径。 |
|
控制跨 API 网关的 Cookie 共享。使用 same-ip 意味着一个虚拟服务器的 Cookie 可以被另一个虚拟服务器使用。禁用停止 Cookie 共享。 选择
|
|
启用/禁用验证插入的 HTTPS Cookie 是否安全。 选择
|
|
API 网关 ID。请参阅 <a href=’#notes’>注释</a>。 |
|
用于将会话分配到真实服务器的方法。 选择
|
|
配置如何确保客户端每次发出属于同一会话的请求时都连接到同一服务器。 选择
|
|
QUIC 设置。 |
|
ACK 延迟指数 (1 - 20)。 |
|
活动连接 ID 限制 (1 - 8)。 |
|
启用/禁用活动迁移。 选择
|
|
启用/禁用 grease QUIC 位。 选择
|
|
最大 ACK 延迟(以毫秒为单位)(1 - 16383)。 |
|
最大数据报帧大小(以字节为单位)(1 - 1500)。 |
|
最大空闲超时毫秒 (1 - 60000)。 |
|
最大 UDP 有效负载大小(以字节为单位)(1200 - 1500)。 |
|
选择此访问代理将流量分配到的真实服务器。 |
|
地址类型。 选择
|
|
真实服务器的地址或地址组。源 firewall.address.name firewall.addrgrp.name。 |
|
真实服务器的通配符域名。 |
|
启用/禁用使用外部浏览器作为 SAML 用户身份验证的用户代理。 选择
|
|
启用以在转发流量之前检查真实服务器的响应能力。 选择
|
|
轮询以确定服务器的连接状态时要使用的运行状况检查监视器的协议。 选择
|
|
启用/禁用保持计时器。服务器将在保持期过期(30 秒)后被视为活动且可访问。 选择
|
|
HTTP 标头中的 HTTP 服务器域名。 |
|
真实服务器 ID。请参阅 <a href=’#notes’>注释</a>。 |
|
真实服务器的 IP 地址。 |
|
用于与真实服务器通信的端口。 |
|
用于与真实服务器通信的端口。 |
|
设置访问代理 SSH 客户端证书配置文件。源 firewall.access-proxy-ssh-client-cert.name。 |
|
一个或多个服务器主机密钥。 |
|
服务器主机密钥名称。源 firewall.ssh.host-key.name。 |
|
启用/禁用 SSH 真实服务器主机密钥验证。 选择
|
|
将真实服务器的状态设置为活动,使其可以接受流量,或者设置为待机或禁用,以便不发送流量。 选择
|
|
启用/禁用从虚拟服务器到真实服务器的主机名/IP转换。 选择
|
|
隧道加密。 选择
|
|
TCP 转发服务器类型。 选择
|
|
真实服务器的权重。如果启用了加权负载均衡,则权重最高的服务器将获得更多的连接。 |
|
成功身份验证后启用/禁用 SAML 重定向。 选择
|
|
用于 VIP 身份验证的 SAML 服务提供商配置。源 user.saml.name。 |
|
服务。 选择
|
|
根据加密强度,允许用于 SSL 完全模式会话服务器端的加密算法。 选择
|
|
提供给服务器的 SSL/TLS 密码套件,按优先级排序。 |
|
密码套件名称。 选择
|
|
SSL/TLS 密码套件优先级。请参阅 备注。 |
|
可用于密码套件的 SSL/TLS 版本。 选择
|
|
在 SSL 会话的 RSA 加密中,Diffie-Hellman 交换中使用的位数。 选择
|
|
服务器可接受的最高 SSL/TLS 版本。 选择
|
|
服务器可接受的最低 SSL/TLS 版本。 选择
|
|
启用/禁用安全重新协商以符合 RFC 5746。 选择
|
|
SSL-VPN Web 门户。源 vpn.ssl.web.portal.name。 |
|
要匹配的 URL 模式。 |
|
url-map 的类型。 选择
|
|
虚拟主机。源 firewall.access-proxy-virtual-host.name。 |
|
设置 IPv6 API 网关。 |
|
此访问代理控制的 SaaS 应用程序。 |
|
SaaS 应用程序名称。 |
|
HTTP2 支持,默认=启用。 选择
|
|
HTTP3/QUIC 支持,默认=禁用。 选择
|
|
客户端 Web 浏览器应保留 Cookie 的时间(以分钟为单位)。默认值为 60 分钟。0 = 无时间限制。 |
|
HTTP Cookie 持久性应应用到的域。 |
|
启用/禁用从 HTTP 中的主机字段使用 HTTP Cookie 域。 选择
|
|
要接受的 HTTP Cookie 的生成。更改会使所有现有 Cookie 失效。 |
|
将 HTTP Cookie 持久性限制为指定的路径。 |
|
控制跨 API 网关的 Cookie 共享。使用 same-ip 意味着一个虚拟服务器的 Cookie 可以被另一个虚拟服务器使用。禁用停止 Cookie 共享。 选择
|
|
启用/禁用验证插入的 HTTPS Cookie 是否安全。 选择
|
|
API 网关 ID。请参阅 <a href=’#notes’>注释</a>。 |
|
用于将会话分配到真实服务器的方法。 选择
|
|
配置如何确保客户端每次发出属于同一会话的请求时都连接到同一服务器。 选择
|
|
QUIC 设置。 |
|
ACK 延迟指数 (1 - 20)。 |
|
活动连接 ID 限制 (1 - 8)。 |
|
启用/禁用活动迁移。 选择
|
|
启用/禁用 grease QUIC 位。 选择
|
|
最大 ACK 延迟(以毫秒为单位)(1 - 16383)。 |
|
最大数据报帧大小(以字节为单位)(1 - 1500)。 |
|
最大空闲超时毫秒 (1 - 60000)。 |
|
最大 UDP 有效负载大小(以字节为单位)(1200 - 1500)。 |
|
选择此访问代理将流量分配到的真实服务器。 |
|
地址类型。 选择
|
|
真实服务器的地址或地址组。源 firewall.address6.name firewall.addrgrp6.name。 |
|
真实服务器的通配符域名。 |
|
启用/禁用使用外部浏览器作为 SAML 用户身份验证的用户代理。 选择
|
|
启用以在转发流量之前检查真实服务器的响应能力。 选择
|
|
轮询以确定服务器的连接状态时要使用的运行状况检查监视器的协议。 选择
|
|
启用/禁用保持计时器。服务器将在保持期过期(30 秒)后被视为活动且可访问。 选择
|
|
HTTP 标头中的 HTTP 服务器域名。 |
|
真实服务器 ID。请参阅 <a href=’#notes’>注释</a>。 |
|
真实服务器的 IPv6 地址。 |
|
用于与真实服务器通信的端口。 |
|
用于与真实服务器通信的端口。 |
|
设置访问代理 SSH 客户端证书配置文件。源 firewall.access-proxy-ssh-client-cert.name。 |
|
一个或多个服务器主机密钥。 |
|
服务器主机密钥名称。源 firewall.ssh.host-key.name。 |
|
启用/禁用 SSH 真实服务器主机密钥验证。 选择
|
|
将真实服务器的状态设置为活动,使其可以接受流量,或者设置为待机或禁用,以便不发送流量。 选择
|
|
启用/禁用从虚拟服务器到真实服务器的主机名/IP转换。 选择
|
|
隧道加密。 选择
|
|
TCP 转发服务器类型。 选择
|
|
真实服务器的权重。如果启用了加权负载均衡,则权重最高的服务器将获得更多的连接。 |
|
成功身份验证后启用/禁用 SAML 重定向。 选择
|
|
用于 VIP 身份验证的 SAML 服务提供商配置。源 user.saml.name。 |
|
服务。 选择
|
|
根据加密强度,允许用于 SSL 完全模式会话服务器端的加密算法。 选择
|
|
提供给服务器的 SSL/TLS 密码套件,按优先级排序。 |
|
密码套件名称。 选择
|
|
SSL/TLS 密码套件优先级。请参阅 备注。 |
|
可用于密码套件的 SSL/TLS 版本。 选择
|
|
在 SSL 会话的 RSA 加密中,Diffie-Hellman 交换中使用的位数。 选择
|
|
服务器可接受的最高 SSL/TLS 版本。 选择
|
|
服务器可接受的最低 SSL/TLS 版本。 选择
|
|
启用/禁用安全重新协商以符合 RFC 5746。 选择
|
|
SSL-VPN Web 门户。源 vpn.ssl.web.portal.name。 |
|
要匹配的 URL 模式。 |
|
url-map 的类型。 选择
|
|
虚拟主机。源 firewall.access-proxy-virtual-host.name。 |
|
启用/禁用身份验证门户。 选择
|
|
身份验证门户的虚拟主机。源 firewall.access-proxy-virtual-host.name。 |
|
启用/禁用以请求客户端证书。 选择
|
|
解密流量镜像。源 firewall.decrypted-traffic-mirror.name。 |
|
空客户端证书的操作。 选择
|
|
支持的最大 HTTP 版本。默认 = HTTP2 选择
|
|
用于将会话分配到 SSL 真实服务器的方法。 选择
|
|
启用/禁用阻止流量的日志记录。 选择
|
|
访问代理名称。 |
|
选择此访问代理将流量分配到的 SSL 真实服务器。 |
|
真实服务器 ID。请参阅 <a href=’#notes’>注释</a>。 |
|
真实服务器的 IP 地址。 |
|
用于与真实服务器通信的端口。 |
|
将真实服务器的状态设置为活动,使其可以接受流量,或者设置为待机或禁用,以便不发送流量。 选择
|
|
真实服务器的权重。如果启用了加权负载均衡,则权重最高的服务器将获得更多的连接。 |
|
启用/禁用 SSH 真实服务器公钥身份验证。 选择
|
|
服务器 SSH 公钥身份验证设置。 |
|
SSH 服务器公钥身份验证 CA 的名称。源 firewall.ssh.local-ca.name。 |
|
配置用户证书的证书扩展。 |
|
关键选项。 选择
|
|
证书扩展的名称。 |
|
证书扩展的名称。 |
|
证书扩展的类型。 选择
|
|
启用/禁用附加 permit-agent-forwarding 证书扩展。 选择
|
|
启用/禁用附加 permit-port-forwarding 证书扩展。 选择
|
|
启用/禁用附加 permit-pty 证书扩展。 选择
|
|
启用/禁用附加 permit-user-rc 证书扩展。 选择
|
|
启用/禁用附加 permit-x11-forwarding 证书扩展。 选择
|
|
启用/禁用附加 source-address 证书关键选项。此选项确保证书仅从 FortiGate 源地址接受。 选择
|
|
启用/禁用服务器池多路复用。在 HTTP、HTTPS 和 web-portal api-gateway 中共享连接的服务器。 选择
|
|
服务器池中的服务器可以处理的最大并发请求数。 |
|
服务器池中的服务器在断开连接之前处理的最大请求数。 |
|
服务器池中与服务器的空闲连接的生存时间。 |
|
如果未提供客户端证书,则启用/禁用通过 HTTP user-agent 检测设备类型。 选择
|
|
虚拟 IP 名称。源 firewall.vip.name。 |
|
要操作的成员属性路径。 如果有多个属性,则用斜杠字符分隔。 标有 member_path 的参数对于执行成员操作是合法的。 |
|
在指定的属性路径下添加或删除成员。 指定 member_state 时,将忽略状态选项。 选择
|
|
指示是创建还是删除对象。 选择
|
|
虚拟域,在先前定义的域中。vdom 是 FortiGate 的虚拟实例,可以配置并用作不同的单元。 默认值: |
备注
注意
已弃用旧版 fortiosapi,httpapi 是运行 playbook 的首选方法
示例
- name: Configure IPv4 access proxy.
fortinet.fortios.fortios_firewall_access_proxy:
vdom: "{{ vdom }}"
state: "present"
access_token: "<your_own_value>"
firewall_access_proxy:
add_vhost_domain_to_dnsdb: "enable"
api_gateway:
-
application:
-
name: "default_name_6"
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"
https_cookie_secure: "disable"
id: "16"
ldb_method: "static"
persistence: "none"
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:
-
addr_type: "ip"
address: "<your_own_value> (source firewall.address.name firewall.addrgrp.name)"
domain: "<your_own_value>"
external_auth: "enable"
health_check: "disable"
health_check_proto: "ping"
holddown_interval: "enable"
http_host: "myhostname"
id: "37"
ip: "<your_own_value>"
mappedport: "<your_own_value>"
port: "443"
ssh_client_cert: "<your_own_value> (source firewall.access-proxy-ssh-client-cert.name)"
ssh_host_key:
-
name: "default_name_43 (source firewall.ssh.host-key.name)"
ssh_host_key_validation: "disable"
status: "active"
translate_host: "enable"
tunnel_encryption: "enable"
type: "tcp-forwarding"
weight: "1"
saml_redirect: "disable"
saml_server: "<your_own_value> (source user.saml.name)"
service: "http"
ssl_algorithm: "high"
ssl_cipher_suites:
-
cipher: "TLS-AES-128-GCM-SHA256"
priority: "<you_own_value>"
versions: "tls-1.0"
ssl_dh_bits: "768"
ssl_max_version: "tls-1.0"
ssl_min_version: "tls-1.0"
ssl_renegotiation: "enable"
ssl_vpn_web_portal: "<your_own_value> (source vpn.ssl.web.portal.name)"
url_map: "<your_own_value>"
url_map_type: "sub-string"
virtual_host: "myhostname (source firewall.access-proxy-virtual-host.name)"
api_gateway6:
-
application:
-
name: "default_name_68"
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"
https_cookie_secure: "disable"
id: "78"
ldb_method: "static"
persistence: "none"
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:
-
addr_type: "ip"
address: "<your_own_value> (source firewall.address6.name firewall.addrgrp6.name)"
domain: "<your_own_value>"
external_auth: "enable"
health_check: "disable"
health_check_proto: "ping"
holddown_interval: "enable"
http_host: "myhostname"
id: "99"
ip: "<your_own_value>"
mappedport: "<your_own_value>"
port: "443"
ssh_client_cert: "<your_own_value> (source firewall.access-proxy-ssh-client-cert.name)"
ssh_host_key:
-
name: "default_name_105 (source firewall.ssh.host-key.name)"
ssh_host_key_validation: "disable"
status: "active"
translate_host: "enable"
tunnel_encryption: "enable"
type: "tcp-forwarding"
weight: "1"
saml_redirect: "disable"
saml_server: "<your_own_value> (source user.saml.name)"
service: "http"
ssl_algorithm: "high"
ssl_cipher_suites:
-
cipher: "TLS-AES-128-GCM-SHA256"
priority: "<you_own_value>"
versions: "tls-1.0"
ssl_dh_bits: "768"
ssl_max_version: "tls-1.0"
ssl_min_version: "tls-1.0"
ssl_renegotiation: "enable"
ssl_vpn_web_portal: "<your_own_value> (source vpn.ssl.web.portal.name)"
url_map: "<your_own_value>"
url_map_type: "sub-string"
virtual_host: "myhostname (source firewall.access-proxy-virtual-host.name)"
auth_portal: "disable"
auth_virtual_host: "myhostname (source firewall.access-proxy-virtual-host.name)"
client_cert: "disable"
decrypted_traffic_mirror: "<your_own_value> (source firewall.decrypted-traffic-mirror.name)"
empty_cert_action: "accept"
http_supported_max_version: "http1"
ldb_method: "static"
log_blocked_traffic: "enable"
name: "default_name_136"
realservers:
-
id: "138"
ip: "<your_own_value>"
port: "0"
status: "active"
weight: "1"
server_pubkey_auth: "disable"
server_pubkey_auth_settings:
auth_ca: "<your_own_value> (source firewall.ssh.local-ca.name)"
cert_extension:
-
critical: "no"
data: "<your_own_value>"
name: "default_name_149"
type: "fixed"
permit_agent_forwarding: "enable"
permit_port_forwarding: "enable"
permit_pty: "enable"
permit_user_rc: "enable"
permit_x11_forwarding: "enable"
source_address: "enable"
svr_pool_multiplex: "enable"
svr_pool_server_max_concurrent_request: "0"
svr_pool_server_max_request: "0"
svr_pool_ttl: "15"
user_agent_detect: "disable"
vip: "<your_own_value> (source firewall.vip.name)"
返回值
常见返回值记录在这里,以下是此模块独有的字段
键 |
描述 |
---|---|
飞塔映像的版本号 返回: 始终 示例: |
|
用于将内容配置到 FortiGate 的最后方法 返回: 始终 示例: |
|
上次应用的操作中 FortiGate 给出的最后结果 返回: 始终 示例: |
|
上次调用 FortiGate 时使用的主密钥(ID) 返回: 成功 示例: |
|
用于完成请求的表名称 返回: 始终 示例: |
|
用于完成请求的表的路径 返回: 始终 示例: |
|
内部版本号 返回: 始终 示例: |
|
设备的序列号 返回: 始终 示例: |
|
操作结果的指示 返回: 始终 示例: |
|
使用的虚拟域 返回: 始终 示例: |
|
FortiGate 的版本 返回: 始终 示例: |