fortinet.fortios.fortios_router_policy 模块 – 在 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_router_policy

fortinet.fortios 2.0.0 中的新增功能

概要

  • 此模块能够通过允许用户设置和修改路由器功能和策略类别来配置 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"

router_policy

字典

配置 IPv4 路由策略。

action

字符串

策略路由的操作。

选项

  • "deny"

  • "permit"

comments

字符串

可选注释。

dst

列表 / 元素=字典

目标 IP 和掩码 (x.x.x.x/x)。

subnet

字符串 / 必需

IP 和掩码。

dst_negate

字符串

启用/禁用否定目标地址匹配。

选项

  • "enable"

  • "disable"

dstaddr

列表 / 元素=字典

目标地址名称。

name

字符串 / 必需

地址/组名称。源 firewall.address.name firewall.addrgrp.name。

end_port

整数

结束目标端口号 (0 - 65535)。

end_source_port

整数

结束源端口号 (0 - 65535)。

gateway

字符串

网关的 IP 地址。

input_device

列表 / 元素=字典

传入接口名称。

name

字符串 / 必需

接口名称。源 system.interface.name。

input_device_negate

字符串

启用/禁用输入设备匹配的否定。

选项

  • "enable"

  • "disable"

internet_service_custom

列表 / 元素=字典

自定义目标 Internet 服务名称。

name

字符串 / 必需

自定义目标 Internet 服务名称。源 firewall.internet-service-custom.name。

internet_service_id

列表 / 元素=字典

目标 Internet 服务 ID。

id

整数 / 必需

目标 Internet 服务 ID。请参阅 <a href=’#notes’>注释</a>。源 firewall.internet-service.id。

output_device

字符串

传出接口名称。源 system.interface.name。

protocol

整数

协议号 (0 - 255)。

seq_num

整数 / 必需

序列号 (1-65535)。请参阅 <a href=’#notes’>注释</a>。

src

列表 / 元素=字典

源 IP 和掩码 (x.x.x.x/x)。

subnet

字符串 / 必需

IP 和掩码。

src_negate

字符串

启用/禁用否定源地址匹配。

选项

  • "enable"

  • "disable"

srcaddr

列表 / 元素=字典

源地址名称。

name

字符串 / 必需

地址/组名称。源 firewall.address.name firewall.addrgrp.name。

start_port

整数

起始目标端口号 (0 - 65535)。

start_source_port

整数

起始源端口号 (0 - 65535)。

status

字符串

启用/禁用此策略路由。

选项

  • "enable"

  • "disable"

tos

字符串

服务类型位模式。

tos_mask

字符串

服务类型评估位。

state

字符串 / 必需

指示是创建还是删除对象。

选项

  • "present"

  • "absent"

vdom

字符串

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

默认值: "root"

注释

注意

  • 我们强烈建议使用您自己的值作为 seq_num 而不是 0,虽然 ‘0’ 是一个特殊的占位符,允许后端为对象分配最新的可用数字,但它确实有局限性。请在问答中查找更多详细信息。

  • 遗留的 fortiosapi 已被弃用,httpapi 是运行 playbook 的首选方式。

  • 该模块支持 check_mode。

示例

- name: Configure IPv4 routing policies.
  fortinet.fortios.fortios_router_policy:
      vdom: "{{ vdom }}"
      state: "present"
      access_token: "<your_own_value>"
      router_policy:
          action: "deny"
          comments: "<your_own_value>"
          dst:
              -
                  subnet: "<your_own_value>"
          dst_negate: "enable"
          dstaddr:
              -
                  name: "default_name_9 (source firewall.address.name firewall.addrgrp.name)"
          end_port: "65535"
          end_source_port: "65535"
          gateway: "<your_own_value>"
          input_device:
              -
                  name: "default_name_14 (source system.interface.name)"
          input_device_negate: "enable"
          internet_service_custom:
              -
                  name: "default_name_17 (source firewall.internet-service-custom.name)"
          internet_service_id:
              -
                  id: "19 (source firewall.internet-service.id)"
          output_device: "<your_own_value> (source system.interface.name)"
          protocol: "0"
          seq_num: "<you_own_value>"
          src:
              -
                  subnet: "<your_own_value>"
          src_negate: "enable"
          srcaddr:
              -
                  name: "default_name_27 (source firewall.address.name firewall.addrgrp.name)"
          start_port: "0"
          start_source_port: "0"
          status: "enable"
          tos: "<your_own_value>"
          tos_mask: "<your_own_value>"

返回值

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

描述

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"

作者

  • Link Zheng (@chillancezen)

  • Jie Xue (@JieX19)

  • Hongbin Lu (@fgtdev-hblu)

  • Frank Shen (@frankshen01)

  • Miguel Angel Munoz (@mamunozgonzalez)

  • Nicolas Thomas (@thomnico)