fortinet.fortios.fortios_system_dhcp_server 模块 – 配置 Fortinet 的 FortiOS 和 FortiGate 中的 DHCP 服务器。

注意

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

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

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

要在剧本中使用它,请指定:fortinet.fortios.fortios_system_dhcp_server

fortinet.fortios 2.0.0 中的新增功能

概要

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

state

字符串 / 必需

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

选项

  • "present"

  • "absent"

system_dhcp_server

字典

配置 DHCP 服务器。

auto_configuration

字符串

启用/禁用自动配置。

选项

  • "disable"

  • "enable"

auto_managed_status

字符串

启用/禁用在此接口已从 FortiIPAM 分配 IP 地址后使用此 DHCP 服务器。

选项

  • "disable"

  • "enable"

conflicted_ip_timeout

整数

从 DHCP 范围中删除冲突的 IP 地址后等待的时间(以秒为单位),然后才能重复使用它。

ddns_auth

字符串

DDNS 身份验证模式。

选项

  • "disable"

  • "tsig"

ddns_key

字符串

DDNS 更新密钥(base 64 编码)。

ddns_keyname

字符串

DDNS 更新密钥名称。

ddns_server_ip

字符串

DDNS 服务器 IP。

ddns_ttl

整数

TTL。

ddns_update

字符串

启用/禁用 DHCP 的 DDNS 更新。

选项

  • "disable"

  • "enable"

ddns_update_override

字符串

启用/禁用 DHCP 的 DDNS 更新覆盖。

选项

  • "disable"

  • "enable"

ddns_zone

字符串

您域名所在区域(例如 DDNS.com)。

default_gateway

字符串

DHCP 服务器分配的默认网关 IP 地址。

dhcp_settings_from_fortiipam

字符串

启用/禁用从 FortiIPAM 填充 DHCP 服务器设置。

选项

  • "disable"

  • "enable"

dns_server1

字符串

DNS 服务器 1。

dns_server2

字符串

DNS 服务器 2。

dns_server3

字符串

DNS 服务器 3。

dns_server4

字符串

DNS 服务器 4。

dns_service

字符串

为 DHCP 客户端分配 DNS 服务器的选项。

选项

  • "local"

  • "default"

  • "specify"

domain

字符串

DHCP 服务器分配给客户端的 IP 地址的域名后缀。

exclude_range

列表 / 元素=字典

排除一个或多个 IP 地址范围不被分配给客户端。

end_ip

字符串

IP 范围的结束。

id

整数 / 必需

ID。参见 <a href=’#notes’>备注</a>。

lease_time

整数

租赁时间(以秒为单位),0 表示默认租赁时间。

start_ip

字符串

IP 范围的开始。

uci_match

字符串

启用/禁用用户类标识符 (UCI) 匹配。启用后,只有具有匹配 UCI 的 DHCP 请求才能使用此范围。

选项

  • "disable"

  • "enable"

uci_string

列表 / 元素=字典

用空格分隔的一个或多个 UCI 字符串(用引号括起来)。

uci_string

字符串 / 必需

UCI 字符串。

vci_match

字符串

启用/禁用供应商类标识符 (VCI) 匹配。启用后,只有具有匹配 VCI 的 DHCP 请求才能使用此范围。

选项

  • "disable"

  • "enable"

vci_string

列表 / 元素=字典

用空格分隔的一个或多个 VCI 字符串(用引号括起来)。

vci_string

字符串 / 必需

VCI 字符串。

filename

字符串

TFTP 服务器上引导文件的名称。

forticlient_on_net_status

字符串

启用/禁用此 DHCP 服务器的 FortiClient-On-Net 服务。

选项

  • "disable"

  • "enable"

id

整数 / 必需

ID。参见 <a href=’#notes’>备注</a>。

interface

字符串

DHCP 服务器可以将 IP 配置分配给连接到此接口的客户端。来源 system.interface.name。

ip_mode

字符串

用于分配客户端 IP 的方法。

选项

  • "range"

  • "usrgrp"

ip_range

列表 / 元素=字典

DHCP IP 范围配置。

end_ip

字符串

IP 范围的结束。

id

整数 / 必需

ID。参见 <a href=’#notes’>备注</a>。

lease_time

整数

租赁时间(以秒为单位),0 表示默认租赁时间。

start_ip

字符串

IP 范围的开始。

uci_match

字符串

启用/禁用用户类标识符 (UCI) 匹配。启用后,只有具有匹配 UCI 的 DHCP 请求才能使用此范围。

选项

  • "disable"

  • "enable"

uci_string

列表 / 元素=字典

用空格分隔的一个或多个 UCI 字符串(用引号括起来)。

uci_string

字符串 / 必需

UCI 字符串。

vci_match

字符串

启用/禁用供应商类标识符 (VCI) 匹配。启用后,只有具有匹配 VCI 的 DHCP 请求才能使用此范围。

选项

  • "disable"

  • "enable"

vci_string

列表 / 元素=字典

用空格分隔的一个或多个 VCI 字符串(用引号括起来)。

vci_string

字符串 / 必需

VCI 字符串。

ipsec_lease_hold

整数

在隧道关闭后,DHCP 通过 IPsec 的租约将在这么多秒后过期(0 表示禁用强制过期)。

lease_time

整数

租赁时间(以秒为单位),0 表示无限期。

mac_acl_default_action

字符串

MAC 访问控制默认操作(允许或阻止分配 IP 设置)。

选项

  • "assign"

  • "block"

netmask

字符串

DHCP 服务器分配的网络掩码。

next_server

字符串

DHCP 客户端可以从中下载引导文件的服务器(例如,TFTP 服务器)的 IP 地址。

ntp_server1

字符串

NTP 服务器 1。

ntp_server2

字符串

NTP 服务器 2。

ntp_server3

字符串

NTP 服务器 3。

ntp_service

字符串

为 DHCP 客户端分配网络时间协议 (NTP) 服务器的选项。

选项

  • "local"

  • "default"

  • "specify"

options

列表 / 元素=字典

DHCP 选项。

code

整数

DHCP 选项代码。

id

整数 / 必需

ID。参见 <a href=’#notes’>备注</a>。

ip

列表 / 元素=字符串

DHCP 选项 IP。

type

字符串

DHCP 选项类型。

选项

  • "hex"

  • "string"

  • "ip"

  • "fqdn"

uci_match

字符串

启用/禁用用户类标识符 (UCI) 匹配。启用后,只有具有匹配 UCI 的 DHCP 请求才能使用此选项。

选项

  • "disable"

  • "enable"

uci_string

列表 / 元素=字典

用空格分隔的一个或多个 UCI 字符串(用引号括起来)。

uci_string

字符串 / 必需

UCI 字符串。

value

字符串

DHCP选项值。

vci_match

字符串

启用/禁用供应商类标识符 (VCI) 匹配。启用后,只有具有匹配 VCI 的 DHCP 请求才能使用此选项。

选项

  • "disable"

  • "enable"

vci_string

列表 / 元素=字典

用空格分隔的一个或多个 VCI 字符串(用引号括起来)。

vci_string

字符串 / 必需

VCI 字符串。

中继代理

字符串

中继代理IP。

保留地址

列表 / 元素=字典

DHCP服务器为特定MAC地址分配IP设置的选项。

操作

字符串

DHCP服务器使用保留的MAC地址配置客户端的选项。

选项

  • "assign"

  • "block"

  • "保留"

电路ID

字符串

将获得保留IP地址的客户端的选项82电路ID。

电路ID类型

字符串

DHCP 选项类型。

选项

  • "hex"

  • "string"

描述

字符串

描述。

id

整数 / 必需

ID。参见 <a href=’#notes’>备注</a>。

ip

字符串

要为MAC地址保留的IP地址。

MAC

字符串

将获得保留IP地址的客户端的MAC地址。

远程ID

字符串

将获得保留IP地址的客户端的选项82远程ID。

远程ID类型

字符串

DHCP 选项类型。

选项

  • "hex"

  • "string"

type

字符串

DHCP保留地址类型。

选项

  • "mac"

  • "选项82"

服务器类型

字符串

DHCP服务器可以是普通的DHCP服务器或IPsec DHCP服务器。

选项

  • "常规"

  • "ipsec"

共享子网

字符串

启用/禁用共享子网。

选项

  • "disable"

  • "enable"

状态

字符串

启用/禁用此DHCP配置。

选项

  • "disable"

  • "enable"

TFTP服务器

列表 / 元素=字典

用空格分隔的TFTP服务器的一个或多个主机名或IP地址(用引号括起来)。

TFTP服务器

字符串 / 必需

TFTP服务器。

时区

字符串

选择要分配给DHCP客户端的时区。来源system.timezone.name。

选项

  • "01"

  • "02"

  • "03"

  • "04"

  • "05"

  • "81"

  • "06"

  • "07"

  • "08"

  • "09"

  • "10"

  • "11"

  • "12"

  • "13"

  • "74"

  • "14"

  • "77"

  • "15"

  • "87"

  • "16"

  • "17"

  • "18"

  • "19"

  • "20"

  • "75"

  • "21"

  • "22"

  • "23"

  • "24"

  • "80"

  • "79"

  • "25"

  • "26"

  • "27"

  • "28"

  • "78"

  • "29"

  • "30"

  • "31"

  • "32"

  • "33"

  • "34"

  • "35"

  • "36"

  • "37"

  • "38"

  • "83"

  • "84"

  • "40"

  • "85"

  • "39"

  • "41"

  • "42"

  • "43"

  • "44"

  • "45"

  • "46"

  • "47"

  • "51"

  • "48"

  • "49"

  • "50"

  • "52"

  • "53"

  • "54"

  • "55"

  • "56"

  • "57"

  • "58"

  • "59"

  • "60"

  • "61"

  • "62"

  • "63"

  • "64"

  • "65"

  • "66"

  • "67"

  • "68"

  • "69"

  • "70"

  • "71"

  • "72"

  • "00"

  • "82"

  • "73"

  • "86"

  • "76"

时区选项

字符串

DHCP服务器设置客户端时区的选项。

选项

  • "disable"

  • "default"

  • "specify"

vci_match

字符串

启用/禁用供应商类标识符 (VCI) 匹配。启用后,只有具有匹配 VCI 的 DHCP 请求才能被处理。

选项

  • "disable"

  • "enable"

vci_string

列表 / 元素=字典

用空格分隔的一个或多个 VCI 字符串(用引号括起来)。

vci_string

字符串 / 必需

VCI 字符串。

wifi_ac1

字符串

WiFi接入控制器1 IP地址(DHCP选项138,RFC 5417)。

wifi_ac2

字符串

WiFi接入控制器2 IP地址(DHCP选项138,RFC 5417)。

wifi_ac3

字符串

WiFi接入控制器3 IP地址(DHCP选项138,RFC 5417)。

wifi_ac_service

字符串

将WiFi接入控制器分配给DHCP客户端的选项。

选项

  • "specify"

  • "local"

wins_server1

字符串

WINS服务器1。

wins_server2

字符串

WINS服务器2。

vdom

字符串

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

默认值: "root"

备注

注意

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

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

  • 该模块支持check_mode。

示例

- name: Configure DHCP servers.
  fortinet.fortios.fortios_system_dhcp_server:
      vdom: "{{ vdom }}"
      state: "present"
      access_token: "<your_own_value>"
      system_dhcp_server:
          auto_configuration: "disable"
          auto_managed_status: "disable"
          conflicted_ip_timeout: "1800"
          ddns_auth: "disable"
          ddns_key: "<your_own_value>"
          ddns_keyname: "<your_own_value>"
          ddns_server_ip: "<your_own_value>"
          ddns_ttl: "300"
          ddns_update: "disable"
          ddns_update_override: "disable"
          ddns_zone: "<your_own_value>"
          default_gateway: "<your_own_value>"
          dhcp_settings_from_fortiipam: "disable"
          dns_server1: "<your_own_value>"
          dns_server2: "<your_own_value>"
          dns_server3: "<your_own_value>"
          dns_server4: "<your_own_value>"
          dns_service: "local"
          domain: "<your_own_value>"
          exclude_range:
              -
                  end_ip: "<your_own_value>"
                  id: "24"
                  lease_time: "0"
                  start_ip: "<your_own_value>"
                  uci_match: "disable"
                  uci_string:
                      -
                          uci_string: "<your_own_value>"
                  vci_match: "disable"
                  vci_string:
                      -
                          vci_string: "<your_own_value>"
          filename: "<your_own_value>"
          forticlient_on_net_status: "disable"
          id: "35"
          interface: "<your_own_value> (source system.interface.name)"
          ip_mode: "range"
          ip_range:
              -
                  end_ip: "<your_own_value>"
                  id: "40"
                  lease_time: "0"
                  start_ip: "<your_own_value>"
                  uci_match: "disable"
                  uci_string:
                      -
                          uci_string: "<your_own_value>"
                  vci_match: "disable"
                  vci_string:
                      -
                          vci_string: "<your_own_value>"
          ipsec_lease_hold: "60"
          lease_time: "604800"
          mac_acl_default_action: "assign"
          netmask: "<your_own_value>"
          next_server: "<your_own_value>"
          ntp_server1: "<your_own_value>"
          ntp_server2: "<your_own_value>"
          ntp_server3: "<your_own_value>"
          ntp_service: "local"
          options:
              -
                  code: "0"
                  id: "60"
                  ip: "<your_own_value>"
                  type: "hex"
                  uci_match: "disable"
                  uci_string:
                      -
                          uci_string: "<your_own_value>"
                  value: "<your_own_value>"
                  vci_match: "disable"
                  vci_string:
                      -
                          vci_string: "<your_own_value>"
          relay_agent: "<your_own_value>"
          reserved_address:
              -
                  action: "assign"
                  circuit_id: "<your_own_value>"
                  circuit_id_type: "hex"
                  description: "<your_own_value>"
                  id: "76"
                  ip: "<your_own_value>"
                  mac: "<your_own_value>"
                  remote_id: "<your_own_value>"
                  remote_id_type: "hex"
                  type: "mac"
          server_type: "regular"
          shared_subnet: "disable"
          status: "disable"
          tftp_server:
              -
                  tftp_server: "<your_own_value>"
          timezone: "01"
          timezone_option: "disable"
          vci_match: "disable"
          vci_string:
              -
                  vci_string: "<your_own_value>"
          wifi_ac_service: "specify"
          wifi_ac1: "<your_own_value>"
          wifi_ac2: "<your_own_value>"
          wifi_ac3: "<your_own_value>"
          wins_server1: "<your_own_value>"
          wins_server2: "<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"

状态

字符串

操作结果的指示

返回:始终

示例: "success"

vdom

字符串

使用的虚拟域

返回:始终

示例: "root"

version

字符串

FortiGate的版本

返回:始终

示例: "v5.6.3"

作者

  • 郑链 (@chillancezen)

  • 薛杰 (@JieX19)

  • 陆洪宾 (@fgtdev-hblu)

  • 沈方 (@frankshen01)

  • 米格尔·安赫尔·穆诺兹 (@mamunozgonzalez)

  • 尼古拉斯·托马斯 (@thomnico)