fortinet.fortios.fortios_router_multicast 模块 – 在 Fortinet 的 FortiOS 和 FortiGate 中配置路由器多播。

注意

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

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

要安装它,请使用:ansible-galaxy collection install fortinet.fortios。您需要进一步的要求才能使用此模块,有关详细信息,请参阅 要求

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

在 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_multicast

字典

配置路由器多播。

interface

列表 / 元素=字典

PIM 接口。

bfd

字符串

启用/禁用协议无关多播 (PIM) 双向转发检测 (BFD)。

选择

  • "enable"

  • "disable"

cisco_exclude_genid

字符串

从 hello 数据包中排除 GenID(与旧 Cisco IOS 兼容)。

选择

  • "enable"

  • "disable"

dr_priority

整数

DR 选举优先级。

hello_holdtime

整数

旧邻居信息过期前的时间(0 - 65535 秒)。

hello_interval

整数

发送 PIM hello 消息的间隔(0 - 65535 秒)。

igmp

字典

IGMP 配置选项。

access_group

字符串

允许加入的组 IGMP 主机。源 router.access-list.name。

immediate_leave_group

字符串

在收到 IGMPv2 离开后立即删除成员资格的组。源 router.access-list.name。

last_member_query_count

整数

删除组之前的组特定查询数量 (2 - 7)。

last_member_query_interval

整数

IGMPv2 离开和删除组之间的超时时间(1 - 65535 毫秒)。

query_interval

整数

向 IGMP 主机发送查询的间隔(1 - 65535 秒)。

query_max_response_time

整数

等待 IGMP 查询响应的最长时间(1 - 25 秒)。

query_timeout

整数

在成为网络查询单元之前的查询之间的超时时间 (60 - 900)。

router_alert_check

字符串

启用/禁用要求 IGMP 数据包包含路由器警报选项。

选择

  • "enable"

  • "disable"

version

字符串

支持的 IGMP 最大版本。

选择

  • "3"

  • "2"

  • "1"

join_group

列表 / 元素=字典

加入多播组。

address

字符串 / 必需

多播组 IP 地址。

multicast_flow

字符串

多播组的可接受源。源 router.multicast-flow.name。

name

字符串 / 必需

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

neighbour_filter

字符串

确认为邻居路由器的路由器。源 router.access-list.name。

passive

字符串

启用/禁用侦听 IGMP 但不参与 PIM。

选择

  • "enable"

  • "disable"

pim_mode

字符串

PIM 操作模式。

选择

  • "sparse-mode"

  • "dense-mode"

propagation_delay

整数

在此接口上延迟泛洪数据包(100 - 5000 毫秒)。

rp_candidate

字符串

启用/禁用在选举中竞争成为 RP。

选择

  • "enable"

  • "disable"

rp_candidate_group

字符串

此 RP 管理的多播组。源 router.access-list.name。

rp_candidate_interval

整数

RP 候选广播间隔(1 - 16383 秒)。

rp_candidate_priority

整数

路由器作为 RP 的优先级。

rpf_nbr_fail_back

字符串

启用/禁用 RPF 邻居查询的回退。

选择

  • "enable"

  • "disable"

rpf_nbr_fail_back_filter

字符串

回退 RPF 邻居的过滤器。源 router.access-list.name。

state_refresh_interval

整数

发送状态刷新数据包的间隔(1 - 100 秒)。

static_group

字符串

静态设置要转发的多播组。源 router.multicast-flow.name。

ttl_threshold

整数

将转发的多播数据包的最小 TTL(仅应用于新的多播路由)(1 - 255)。

multicast_routing

字符串

启用/禁用 IP 多播路由。

选择

  • "enable"

  • "disable"

pim_sm_global

字典

PIM 稀疏模式全局设置。

accept_register_list

字符串

允许使用此汇集点 (RP) 注册数据包的源。源 router.access-list.name。

accept_source_list

字符串

允许发送组播流量的源。源路由器访问列表名称。

bsr_allow_quick_refresh

字符串

启用/禁用接受来自邻居的 BSR 快速刷新数据包。

选择

  • "enable"

  • "disable"

bsr_candidate

字符串

启用/禁用允许此路由器成为引导程序路由器 (BSR)。

选择

  • "enable"

  • "disable"

bsr_hash

整数

BSR 哈希长度 (0 - 32)。

bsr_interface

字符串

要通告为候选 BSR 的接口。源系统接口名称。

bsr_priority

整数

BSR 优先级 (0 - 255)。

cisco_crp_prefix

字符串

启用/禁用使候选 RP 与旧的 Cisco IOS 兼容。

选择

  • "enable"

  • "disable"

cisco_ignore_rp_set_priority

字符串

仅使用哈希进行 RP 选择(与旧的 Cisco IOS 兼容)。

选择

  • "enable"

  • "disable"

cisco_register_checksum

字符串

校验整个注册数据包(用于旧的 Cisco IOS 兼容性)。

选择

  • "enable"

  • "disable"

cisco_register_checksum_group

字符串

Cisco 注册校验和仅用于这些组。源路由器访问列表名称。

join_prune_holdtime

整数

加入/修剪保持时间 (1 - 65535)。

message_interval

整数

发送周期性 PIM 加入/修剪消息的时间间隔(以秒为单位)(1 - 65535)。

null_register_retries

整数

空注册的最大重试次数 (1 - 20)。

pim_use_sdwan

字符串

启用/禁用在检查 RPF 邻居和发送 REG 数据包时使用 SDWAN。

选择

  • "enable"

  • "disable"

register_rate_limit

整数

每个通过此 RP 注册的源的每秒数据包限制 (0 - 65535)。

register_rp_reachability

字符串

启用/禁用在注册数据包之前检查 RP 是否可达。

选择

  • "enable"

  • "disable"

register_source

字符串

覆盖注册数据包中的源地址。

选择

  • "disable"

  • "interface"

  • "ip-address"

register_source_interface

字符串

使用主接口地址覆盖。源系统接口名称。

register_source_ip

字符串

使用本地 IP 地址覆盖。

register_supression

整数

遵守注册停止消息的时间(1 - 65535 秒)。

rp_address

列表 / 元素=字典

静态配置 RP 地址。

group

字符串

使用此 RP 的组。源路由器访问列表名称。

id

整数 / 必需

ID。请参阅 <a href=’#notes’>注释</a>。

ip_address

字符串

RP 路由器地址。

rp_register_keepalive

整数

RP 在 (S,G) 树上接收数据的超时时间 (1 - 65535 秒)。

spt_threshold

字符串

启用/禁用切换到源特定树。

选择

  • "enable"

  • "disable"

spt_threshold_group

字符串

允许切换到源树的组。源路由器访问列表名称。

ssm

字符串

启用/禁用源特定组播。

选择

  • "enable"

  • "disable"

ssm_range

字符串

允许源特定组播的组。源路由器访问列表名称。

route_limit

整数

组播路由的最大数量。

route_threshold

整数

当组播路由数量超过此数量时生成警告,必须不大于路由限制。

vdom

字符串

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

默认值: "root"

注释

注意

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

示例

- name: Configure router multicast.
  fortinet.fortios.fortios_router_multicast:
      vdom: "{{ vdom }}"
      router_multicast:
          interface:
              -
                  bfd: "enable"
                  cisco_exclude_genid: "enable"
                  dr_priority: "1"
                  hello_holdtime: "105"
                  hello_interval: "30"
                  igmp:
                      access_group: "<your_own_value> (source router.access-list.name)"
                      immediate_leave_group: "<your_own_value> (source router.access-list.name)"
                      last_member_query_count: "2"
                      last_member_query_interval: "1000"
                      query_interval: "125"
                      query_max_response_time: "10"
                      query_timeout: "255"
                      router_alert_check: "enable"
                      version: "3"
                  join_group:
                      -
                          address: "<your_own_value>"
                  multicast_flow: "<your_own_value> (source router.multicast-flow.name)"
                  name: "default_name_22 (source system.interface.name)"
                  neighbour_filter: "<your_own_value> (source router.access-list.name)"
                  passive: "enable"
                  pim_mode: "sparse-mode"
                  propagation_delay: "500"
                  rp_candidate: "enable"
                  rp_candidate_group: "<your_own_value> (source router.access-list.name)"
                  rp_candidate_interval: "60"
                  rp_candidate_priority: "192"
                  rpf_nbr_fail_back: "enable"
                  rpf_nbr_fail_back_filter: "<your_own_value> (source router.access-list.name)"
                  state_refresh_interval: "60"
                  static_group: "<your_own_value> (source router.multicast-flow.name)"
                  ttl_threshold: "1"
          multicast_routing: "enable"
          pim_sm_global:
              accept_register_list: "<your_own_value> (source router.access-list.name)"
              accept_source_list: "<your_own_value> (source router.access-list.name)"
              bsr_allow_quick_refresh: "enable"
              bsr_candidate: "enable"
              bsr_hash: "10"
              bsr_interface: "<your_own_value> (source system.interface.name)"
              bsr_priority: "0"
              cisco_crp_prefix: "enable"
              cisco_ignore_rp_set_priority: "enable"
              cisco_register_checksum: "enable"
              cisco_register_checksum_group: "<your_own_value> (source router.access-list.name)"
              join_prune_holdtime: "210"
              message_interval: "60"
              null_register_retries: "1"
              pim_use_sdwan: "enable"
              register_rate_limit: "0"
              register_rp_reachability: "enable"
              register_source: "disable"
              register_source_interface: "<your_own_value> (source system.interface.name)"
              register_source_ip: "<your_own_value>"
              register_supression: "60"
              rp_address:
                  -
                      group: "<your_own_value> (source router.access-list.name)"
                      id: "61"
                      ip_address: "<your_own_value>"
              rp_register_keepalive: "185"
              spt_threshold: "enable"
              spt_threshold_group: "<your_own_value> (source router.access-list.name)"
              ssm: "enable"
              ssm_range: "<your_own_value> (source router.access-list.name)"
          route_limit: "2147483647"
          route_threshold: ""

返回值

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

描述

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)