fortinet.fortios.fortios_web_proxy_explicit 模块 – 在 Fortinet 的 FortiOS 和 FortiGate 中配置显式 Web 代理设置。

注意

此模块是 fortinet.fortios 集合 (版本 2.3.8) 的一部分。

如果您使用的是 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用: ansible-galaxy collection install fortinet.fortios。您需要满足其他要求才能使用此模块,请参阅 要求 获取详细信息。

要在 playbook 中使用它,请指定: fortinet.fortios.fortios_web_proxy_explicit

fortinet.fortios 2.0.0 中的新增功能

概要

  • 此模块能够通过允许用户设置和修改 web_proxy 功能和显式类别来配置 FortiGate 或 FortiOS (FOS) 设备。示例包括所有参数,在使用前需要将值调整为数据源。在 FOS v6.0.0 上测试。

要求

执行此模块的主机需要以下要求。

  • ansible>=2.15

参数

参数

注释

access_token

字符串

基于令牌的身份验证。从 FortiGate 的 GUI 生成。

enable_log

布尔值

启用/禁用任务日志记录。

选项

  • false ← (默认)

  • true

member_path

字符串

要操作的成员属性路径。

如果有多个属性,则用斜杠字符分隔。

标有 member_path 的参数对于执行成员操作是合法的。

member_state

字符串

在指定的属性路径下添加或删除成员。

指定 member_state 时,将忽略 state 选项。

选项

  • "present"

  • "absent"

vdom

字符串

虚拟域,在先前定义的那些域中。vdom 是 FortiGate 的虚拟实例,可以将其配置并用作不同的单元。

默认值: "root"

web_proxy_explicit

字典

配置显式 Web 代理设置。

client_cert

字符串

启用/禁用请求客户端证书。

选项

  • "disable"

  • "enable"

empty_cert_action

字符串

空客户端证书的操作。

选项

  • "accept"

  • "block"

  • "accept-unmanageable"

ftp_incoming_port

字符串

在一个或多个端口 (0 - 65535) 上接受传入的 FTP-over-HTTP 请求。

ftp_over_http

字符串

启用代理从 Web 浏览器发送的 FTP-over-HTTP 会话。

选项

  • "enable"

  • "disable"

http_connection_mode

字符串

HTTP 连接模式。

选项

  • "static"

  • "multiplex"

  • "serverpool"

http_incoming_port

字符串

在一个或多个端口 (0 - 65535) 上接受传入的 HTTP 请求。

https_incoming_port

字符串

在一个或多个端口 (0 - 65535) 上接受传入的 HTTPS 请求。

https_replacement_message

字符串

启用/禁用向客户端发送 HTTPS 请求的替换消息。

选项

  • "enable"

  • "disable"

incoming_ip

字符串

将显式 HTTP 代理限制为仅接受来自此 IP 地址的会话。接口必须具有此 IP 地址。

incoming_ip6

字符串

将显式 Web 代理限制为仅接受来自此 IPv6 地址的会话。接口必须具有此 IPv6 地址。

ipv6_status

字符串

启用/禁用允许策略中的 IPv6 Web 代理目标和此命令中的所有 IPv6 相关条目。

选项

  • "enable"

  • "disable"

message_upon_server_error

字符串

启用/禁用在检测到服务器错误时显示替换消息。

选项

  • "enable"

  • "disable"

outgoing_ip

列表 / 元素=字符串

传出的 HTTP 请求将此 IP 地址作为其源地址。接口必须具有此 IP 地址。

outgoing_ip6

列表 / 元素=字符串

传出的 HTTP 请求将离开此 IPv6。可以指定多个接口。接口必须具有这些 IPv6 地址。

pac_file_data

字符串

用引号括起来的 PAC 文件内容(最大 256K 字节)。

pac_file_name

字符串

PAC 文件名。

pac_file_server_port

字符串

客户端 Web 浏览器使用的 PAC 流量连接到显式 Web 代理的端口号 (0 - 65535)。

pac_file_server_status

字符串

启用/禁用此显式代理配置文件用户的代理自动配置 (PAC)。

选项

  • "enable"

  • "disable"

pac_file_through_https

字符串

启用/禁用通过 HTTPS 获取代理自动配置 (PAC)。

选项

  • "enable"

  • "disable"

pac_file_url

字符串

PAC 文件访问 URL。

pac_policy

列表 / 元素=字典

PAC 策略。

comments

字符串

可选注释。

dstaddr

列表 / 元素=字典

目标地址对象。

name

字符串 / 必需

地址名称。来源 firewall.address.name firewall.addrgrp.name。

pac_file_data

字符串

用引号括起来的 PAC 文件内容(最大 256K 字节)。

pac_file_name

字符串

PAC 文件名。

policyid

整数 / 必需

策略 ID。请参阅 备注

srcaddr

列表 / 元素=字典

源地址对象。

name

字符串 / 必需

地址名称。来源 firewall.address.name firewall.addrgrp.name firewall.proxy-address.name firewall.proxy-addrgrp.name。

srcaddr6

列表 / 元素=字典

源地址 6 对象。

name

字符串 / 必需

地址名称。来源 firewall.address6.name firewall.addrgrp6.name。

status

字符串

启用/禁用策略。

选项

  • "enable"

  • "disable"

pref_dns_result

字符串

更倾向于使用已配置的 IPv4 或 IPv6 DNS 服务器解析地址。

选项

  • "ipv4"

  • "ipv6"

  • "ipv4-strict"

  • "ipv6-strict"

realm

字符串

用于标识显式 Web 代理的身份验证领域(最多 63 个字符)。

sec_default_action

字符串

当不存在 Web 代理防火墙策略时,接受或拒绝显式 Web 代理会话。

选项

  • "accept"

  • "deny"

secure_web_proxy

字符串

为 HTTP 和 HTTPS 会话启用/禁用/要求安全 Web 代理。

选项

  • "disable"

  • "enable"

  • "secure"

secure_web_proxy_cert

列表 / 元素=字典

安全 Web 代理的证书名称。

name

字符串 / 必需

证书列表。来源 vpn.certificate.local.name。

socks

字符串

启用/禁用 SOCKS 代理。

选项

  • "enable"

  • "disable"

socks_incoming_port

字符串

在一个或多个端口 (0 - 65535) 上接受传入的 SOCKS 代理请求。

ssl_algorithm

字符串

在 HTTPS 深层扫描中接受的加密算法的相对强度:高、中或低。

选项

  • "high"

  • "medium"

  • "low"

ssl_dh_bits

字符串

在 DHE-RSA 协商中使用的 Diffie-Hellman (DH) 素数的位大小。

选项

  • "768"

  • "1024"

  • "1536"

  • "2048"

status

字符串

启用/禁用 HTTP 和 HTTPS 会话的显式 Web 代理。

选项

  • "enable"

  • "disable"

strict_guest

字符串

启用/禁用显式 Web 代理对严格的访客用户检查。

选项

  • "enable"

  • "disable"

trace_auth_no_rsp

字符串

启用/禁用记录超时身份验证请求。

选项

  • "enable"

  • "disable"

unknown_http_version

字符串

如何处理不符合 HTTP 0.9、1.0 或 1.1 的 HTTP 会话。

选项

  • "reject"

  • "best-effort"

  • "tunnel"

user_agent_detect

字符串

如果未提供客户端证书,则启用/禁用通过 HTTP 用户代理检测设备类型。

选项

  • "disable"

  • "enable"

备注

注意

  • 旧版 fortiosapi 已弃用,httpapi 是运行剧本的首选方式。

示例

- name: Configure explicit Web proxy settings.
  fortinet.fortios.fortios_web_proxy_explicit:
      vdom: "{{ vdom }}"
      web_proxy_explicit:
          client_cert: "disable"
          empty_cert_action: "accept"
          ftp_incoming_port: "<your_own_value>"
          ftp_over_http: "enable"
          http_connection_mode: "static"
          http_incoming_port: "<your_own_value>"
          https_incoming_port: "<your_own_value>"
          https_replacement_message: "enable"
          incoming_ip: "<your_own_value>"
          incoming_ip6: "<your_own_value>"
          ipv6_status: "enable"
          message_upon_server_error: "enable"
          outgoing_ip: "<your_own_value>"
          outgoing_ip6: "<your_own_value>"
          pac_file_data: "<your_own_value>"
          pac_file_name: "<your_own_value>"
          pac_file_server_port: "<your_own_value>"
          pac_file_server_status: "enable"
          pac_file_through_https: "enable"
          pac_file_url: "<your_own_value>"
          pac_policy:
              -
                  comments: "<your_own_value>"
                  dstaddr:
                      -
                          name: "default_name_26 (source firewall.address.name firewall.addrgrp.name)"
                  pac_file_data: "<your_own_value>"
                  pac_file_name: "<your_own_value>"
                  policyid: "<you_own_value>"
                  srcaddr:
                      -
                          name: "default_name_31 (source firewall.address.name firewall.addrgrp.name firewall.proxy-address.name firewall.proxy-addrgrp.name)"
                  srcaddr6:
                      -
                          name: "default_name_33 (source firewall.address6.name firewall.addrgrp6.name)"
                  status: "enable"
          pref_dns_result: "ipv4"
          realm: "<your_own_value>"
          sec_default_action: "accept"
          secure_web_proxy: "disable"
          secure_web_proxy_cert:
              -
                  name: "default_name_40 (source vpn.certificate.local.name)"
          socks: "enable"
          socks_incoming_port: "<your_own_value>"
          ssl_algorithm: "high"
          ssl_dh_bits: "768"
          status: "enable"
          strict_guest: "enable"
          trace_auth_no_rsp: "enable"
          unknown_http_version: "reject"
          user_agent_detect: "disable"

返回值

常见的返回值已在 此处 文档中说明,以下是此模块特有的字段:

描述

build

字符串

FortiGate镜像的版本号

返回值:始终返回

示例: "1547"

http_method

字符串

上次用于将内容置备到 FortiGate 的方法

返回值:始终返回

示例: "PUT"

http_status

字符串

FortiGate 在上次执行的操作中给出的最后结果

返回值:始终返回

示例: "200"

mkey

字符串

上次调用 FortiGate 时使用的主密钥 (ID)

返回值:成功

示例: "id"

name

字符串

用于完成请求的表名称

返回值:始终返回

示例: "urlfilter"

path

字符串

用于完成请求的表的路径

返回值:始终返回

示例: "webfilter"

revision

字符串

内部版本号

返回值:始终返回

示例: "17.0.2.10658"

serial

字符串

设备的序列号

返回值:始终返回

示例: "FGVMEVYYQT3AB5352"

status

字符串

操作结果指示

返回值:始终返回

示例: "success"

vdom

字符串

使用的虚拟域

返回值:始终返回

示例: "root"

version

字符串

FortiGate 的版本

返回值:始终返回

示例: "v5.6.3"

作者

  • 郑链 (@chillancezen)

  • 薛杰 (@JieX19)

  • 陆宏斌 (@fgtdev-hblu)

  • 沈方 (@frankshen01)

  • Miguel Angel Munoz (@mamunozgonzalez)

  • Nicolas Thomas (@thomnico)