fortinet.fortimanager.fmgr_dnsfilter_profile 模块 – 配置 DNS 域名过滤配置文件。

注意

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

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

要安装它,请使用:ansible-galaxy collection install fortinet.fortimanager

要在 playbook 中使用它,请指定:fortinet.fortimanager.fmgr_dnsfilter_profile

fortinet.fortimanager 1.0.0 中的新增功能

概要

  • 此模块能够配置 FortiManager 设备。

  • 示例包括所有参数和值,在使用前需要将其调整为数据源。

参数

参数

注释

access_token

字符串

无需使用用户名和密码即可访问 FortiManager 的令牌。

adom

字符串 / 必需

请求的 URL 中的参数 (adom)。

bypass_validation

布尔值

仅当模块架构与 FortiManager API 结构不同时设置为 True,模块将继续执行而不验证参数。

选项

  • false ←(默认)

  • true

dnsfilter_profile

字典

顶层参数集。

block_action

别名:block-action

字符串

阻止域时采取的操作。

选项

  • "block"

  • "redirect"

  • "block-sevrfail"

block_botnet

别名:block-botnet

字符串

启用/禁用阻止僵尸网络 C&C DNS 查找。

选项

  • "disable"

  • "enable"

comment

字符串

注释。

dns_translation

别名:dns-translation

列表 / 元素=字典

DNS 转换。

addr_type

别名:addr-type

字符串

DNS 转换类型

选项

  • "ipv4"

  • "ipv6"

dst

字符串

外部网络上的 IPv4 地址或子网,用于替换 DNS 查询回复中已解析的地址。

dst6

字符串

外部网络上的 IPv6 地址或子网,用于替换 DNS 查询回复中已解析的地址。

id

整数

ID。

netmask

字符串

如果 src 和 dst 是子网而不是单个 IP 地址,则输入 src 和 dst 的网络掩码。

prefix

整数

如果 src6 和 dst6 是子网而不是单个 IP 地址,则输入 src6 和 dst6 的前缀。

src

字符串

内部网络上的 IPv4 地址或子网,用于与 DNS 查询回复中已解析的地址进行比较。

src6

字符串

内部网络上的 IPv6 地址或子网,用于与 DNS 查询回复中已解析的地址进行比较。

status

字符串

启用/禁用此 DNS 转换条目。

选项

  • "disable"

  • "enable"

domain_filter

别名:domain-filter

字典

域名过滤器。

domain_filter_table

别名:domain-filter-table

整数

DNS 域名过滤表 ID。

external_ip_blocklist

别名:external-ip-blocklist

任意

(列表或字符串) 一个或多个外部 IP 黑名单。

ftgd_dns

别名:ftgd-dns

字典

Ftgd DNS。

filters

列表 / 元素=字典

过滤器。

action

字符串

对与类别匹配的 DNS 请求采取的操作。

选项

  • "monitor"

  • "block"

category

字符串

类别编号。

id

整数

ID 编号。

log

字符串

启用/禁用此 DNS 配置文件的 DNS 过滤器日志记录。

选项

  • "disable"

  • "enable"

options

列表 / 元素=字符串

FortiGuard DNS 过滤器选项。

选项

  • "error-allow"

  • "ftgd-disable"

log_all_domain

别名:log-all-domain

字符串

启用/禁用记录所有访问的域

选项

  • "disable"

  • "enable"

log_all_url

别名:log-all-url

字符串

启用/禁用记录所有访问的 URL。

选项

  • "disable"

  • "enable"

name

字符串 / 必需

配置文件名称。

redirect_portal

别名:redirect-portal

字符串

SDNS 重定向门户的 IP 地址。

redirect_portal6

别名:redirect-portal6

字符串

SDNS 重定向门户的 IPv6 地址。

safe_search

别名:safe-search

字符串

启用/禁用 Google、必应和 YouTube 安全搜索。

选项

  • "disable"

  • "enable"

sdns_domain_log

别名:sdns-domain-log

字符串

启用/禁用域名过滤和僵尸网络域名日志记录。

选项

  • "disable"

  • "enable"

sdns_ftgd_err_log

别名: sdns-ftgd-err-log

字符串

启用/禁用 FortiGuard SDNS 评级错误日志记录。

选项

  • "disable"

  • "enable"

sdns_url_log

别名: sdns-url-log

字符串

启用/禁用 URL 过滤和僵尸网络域的日志记录。

选项

  • "disable"

  • "enable"

strip_ech

别名: strip-ech

字符串

启用/禁用从支持的 DNS RR 中删除加密的客户端 hello 服务参数。

选项

  • "disable"

  • "enable"

transparent_dns_database

别名: transparent-dns-database

任意

(列表) 透明 DNS 数据库区域。

urlfilter

字典

Urlfilter。

urlfilter_table

别名: urlfilter-table

整数

DNS URL 过滤表 ID。

youtube_restrict

别名: youtube-restrict

字符串

设置 YouTube 限制级别的安全搜索。

选项

  • "strict" (严格)

  • "moderate" (中等)

  • "none" (无)

enable_log

布尔值

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

选项

  • false ←(默认)

  • true

forticloud_access_token

字符串

使用 FortiCloud API 访问令牌验证 Ansible 客户端。

proposed_method

字符串

底层 Json RPC 请求的覆盖方法。

选项

  • "update" (更新)

  • "set" (设置)

  • "add" (添加)

rc_failed

列表 / 元素=整数

将覆盖失败条件的 rc 代码列表。

rc_succeeded

列表 / 元素=整数

将覆盖成功条件的 rc 代码列表。

state

字符串 / 必需

创建、更新或删除对象的指令。

选项

  • "present" (存在)

  • "absent" (不存在)

workspace_locking_adom

字符串

在工作区模式下运行的 FortiManager 要锁定的 ADOM,该值可以是 global 和其他包括 root 的值。

workspace_locking_timeout

整数

等待其他用户释放工作区锁定的最大时间(秒)。

默认值: 300

注释

注意

  • 从 2.4.0 版本开始,所有输入参数都使用下划线命名约定 (snake_case)。请将诸如 “var-name” 的参数更改为 “var_name”。旧的参数名称仍然可用,但您会收到弃用警告。您可以在 ansible.cfg 中设置 deprecation_warnings=False 来忽略此警告。

  • 此 FortiManager 模块支持在工作区锁定模式下运行,顶层参数 workspace_locking_adom 和 workspace_locking_timeout 有助于完成此工作。

  • 要创建或更新对象,请使用 state present 指令。

  • 要删除对象,请使用 state absent 指令。

  • 通常,当返回非零 rc 时,运行一个模块可能会失败。您还可以使用参数 rc_failed 和 rc_succeeded 来覆盖失败或成功的条件

示例

- name: Example playbook
  hosts: fortimanagers
  connection: httpapi
  vars:
    ansible_httpapi_use_ssl: true
    ansible_httpapi_validate_certs: false
    ansible_httpapi_port: 443
  tasks:
    - name: Configure DNS domain filter profiles.
      fortinet.fortimanager.fmgr_dnsfilter_profile:
        bypass_validation: false
        adom: ansible
        state: present
        dnsfilter_profile:
          block-action: redirect
          block-botnet: disable
          comment: "ansible-test-comment"
          log-all-domain: disable
          name: "ansible-test"

- name: Gathering fortimanager facts
  hosts: fortimanagers
  gather_facts: false
  connection: httpapi
  vars:
    ansible_httpapi_use_ssl: true
    ansible_httpapi_validate_certs: false
    ansible_httpapi_port: 443
  tasks:
    - name: Retrieve all the profiles
      fortinet.fortimanager.fmgr_fact:
        facts:
          selector: "dnsfilter_profile"
          params:
            adom: "ansible"
            profile: "your_value"

返回值

常见返回值在此处记录 这里,以下是此模块独有的字段

描述

meta

字典

请求的结果。

返回: 始终

request_url

字符串

请求的完整 URL。

返回: 始终

示例: "/sys/login/user"

response_code

整数

API 请求的状态。

返回: 始终

示例: 0

response_data

列表 / 元素=字符串

API 响应。

返回: 始终

response_message

字符串

API 响应的描述性消息。

返回: 始终

示例: "OK."

system_information

字典

目标系统的信息。

返回: 始终

rc

整数

请求的状态。

返回: 始终

示例: 0

version_check_warning

列表 / 元素=字符串

如果 playbook 中使用的参数不受当前 FortiManager 版本支持,则发出警告。

返回: 复杂

作者

  • Xinwei Du (@dux-fortinet)

  • Xing Li (@lix-fortinet)

  • Jie Xue (@JieX19)

  • Link Zheng (@chillancezen)

  • Frank Shen (@fshen01)

  • Hongbin Lu (@fgtdev-hblu)