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。您需要其他要求才能使用此模块,请参阅 要求 了解详细信息。

要在 playbook 中使用它,请指定: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

整数

在有冲突的 IP 地址从 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

列表 / elements=字典

排除一个或多个 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

列表 / elements=字典

用空格分隔的一个或多个带引号的 UCI 字符串。

uci_string

字符串 / 必需

UCI 字符串。

vci_match

字符串

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

选择

  • "disable"

  • "enable"

vci_string

列表 / elements=字典

用空格分隔的一个或多个带引号的 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

列表 / elements=字典

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

列表 / elements=字典

用空格分隔的一个或多个带引号的 UCI 字符串。

uci_string

字符串 / 必需

UCI 字符串。

vci_match

字符串

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

选择

  • "disable"

  • "enable"

vci_string

列表 / elements=字典

用空格分隔的一个或多个带引号的 VCI 字符串。

vci_string

字符串 / 必需

VCI 字符串。

ipsec_lease_hold

整数

IPsec 上的 DHCP 租约在隧道关闭后会过期这么长时间(0 表示禁用强制过期)。

lease_time

整数

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

mac_acl_default_action

字符串

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

选择

  • "assign"

  • "block"

netmask

字符串

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

next_server

字符串

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

ntp_server1

字符串

NTP 服务器 1。

ntp_server2

字符串

NTP 服务器 2。

ntp_server3

字符串

NTP 服务器 3。

ntp_service

字符串

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

选择

  • "local"

  • "default"

  • "specify"

options

列表 / elements=字典

DHCP 选项。

code

整数

DHCP 选项代码。

id

整数 / 必需

ID。请参阅 <a href=’#notes’>说明</a>。

ip

列表 / elements=字符串

DHCP 选项 IP。

type

字符串

DHCP 选项类型。

选择

  • "hex"

  • "string"

  • "ip"

  • "fqdn"

uci_match

字符串

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

选择

  • "disable"

  • "enable"

uci_string

列表 / elements=字典

用空格分隔的一个或多个带引号的 UCI 字符串。

uci_string

字符串 / 必需

UCI 字符串。

value

字符串

DHCP 选项值。

vci_match

字符串

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

选择

  • "disable"

  • "enable"

vci_string

列表 / elements=字典

用空格分隔的一个或多个带引号的 VCI 字符串。

vci_string

字符串 / 必需

VCI 字符串。

relay_agent

字符串

中继代理 IP。

reserved_address

列表 / elements=字典

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

action

字符串

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

选择

  • "assign"

  • "block"

  • “保留”

circuit_id

字符串

将获得保留 IP 地址的客户端的 Option 82 circuit-ID。

circuit_id_type

字符串

DHCP 选项类型。

选择

  • "hex"

  • "string"

description

字符串

描述。

id

整数 / 必需

ID。请参阅 <a href=’#notes’>说明</a>。

ip

字符串

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

mac

字符串

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

remote_id

字符串

将获得保留 IP 地址的客户端的 Option 82 remote-ID。

remote_id_type

字符串

DHCP 选项类型。

选择

  • "hex"

  • "string"

type

字符串

DHCP 保留地址类型。

选择

  • “mac”

  • “option82”

server_type

字符串

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

选择

  • “regular”

  • “ipsec”

shared_subnet

字符串

启用/禁用共享子网。

选择

  • "disable"

  • "enable"

status

字符串

启用/禁用此 DHCP 配置。

选择

  • "disable"

  • "enable"

tftp_server

列表 / elements=字典

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

tftp_server

字符串 / 必需

TFTP 服务器。

timezone

字符串

选择要分配给 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"

timezone_option

字符串

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

选择

  • "disable"

  • "default"

  • "specify"

vci_match

字符串

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

选择

  • "disable"

  • "enable"

vci_string

列表 / elements=字典

用空格分隔的一个或多个带引号的 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"

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)