You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Ansible报错:无法解析fortinet.fortios.fortios_system_policy模块

解决FortiGate Ansible Playbook模块找不到的问题

核心问题:模块名称拼写错误

你报错里的fortinet.fortios.fortios_system_policy是不存在的模块,FortiGate的安全策略对应的正确模块是fortinet.fortios.fortios_firewall_policy,这是导致报错的直接原因。

分步解决步骤

  • 安装Fortinet官方Ansible集合
    先确保本地已经安装了Fortinet的Ansible集合,执行命令:

    ansible-galaxy collection install fortinet.fortios
    

    这个集合包含所有FortiGate设备管理的官方模块。

  • 修正Playbook中的模块名称
    把Playbook里的模块名替换成正确的fortinet.fortios.fortios_firewall_policy,以下是一个基础的安全策略创建示例:

    - name: 创建FortiGate安全策略
      hosts: fortigates
      gather_facts: false
      collections:
        - fortinet.fortios
      tasks:
        - name: 允许内网到外网的HTTP流量
          fortios_firewall_policy:
            vdom: "root"
            state: "present"
            firewall_policy:
              name: "allow-internet-http"
              srcintf: [{"name": "internal"}]
              dstintf: [{"name": "external"}]
              srcaddr: [{"name": "all"}]
              dstaddr: [{"name": "all"}]
              action: "accept"
              schedule: "always"
              service: [{"name": "HTTP"}]
              nat: "enable"
    
  • 验证模块可用性
    执行以下命令确认模块存在:

    ansible-doc fortinet.fortios.fortios_firewall_policy
    

    如果能正常显示模块文档,说明模块已正确安装。

关于模块的简单解释

Ansible模块是完成特定任务的预制代码块,比如你要在FortiGate上创建安全策略,就需要用对应厂商提供的专用模块。Fortinet把所有FortiGate相关的模块打包在fortinet.fortios集合里,每个模块对应一个具体的设备配置操作(比如防火墙策略、接口配置等)。

内容的提问来源于stack exchange,提问作者Hajar Mh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 21:29:59