/ip/dhcp-server
dhcp-server
DHCP 服务器向客户端分配 IPv4 地址和网络设置。它从 IP 池租用地址,发送
/ip/dhcp-server/network中匹配条目的设置,还可以分发静态租约(/ip/dhcp-server/lease)。概述和配置示例参见 DHCP 服务器。DHCP 的工作原理参见 DHCP。
ip/dhcp-server
Type: Directory
DHCP 服务器向客户端分配 IPv4 地址和网络设置。它从 IP 池租用地址,发送 /ip/dhcp-server/network 中匹配条目的设置,还可以分发静态租约(/ip/dhcp-server/lease)。概述和配置示例参见 DHCP 服务器。DHCP 的工作原理参见 DHCP。
| 标志 | 名称 | 描述 |
|---|---|---|
D | dynamic | DHCP 服务器是动态创建的。 |
X | disabled | DHCP 服务器已禁用。 |
I | invalid | DHCP 服务器配置无效,例如因为其接口没有 IP 地址。 |
| 参数 | 类型 | 描述 |
|---|---|---|
name | string | DHCP 服务器名称。 |
interface * | iface_enum | DHCP 服务器监听的接口。接口必须有 IP 地址,否则服务器无效。一个接口上只能运行一个直接连接客户端的服务器;同一接口上的多个服务器必须各自具有不同的 relay 地址。 |
relay | ipAddr | 服务器根据请求的网关地址(giaddr)应答哪些请求: - 0.0.0.0(默认)- 仅来自直接连接客户端的请求,无中继请求。 - 255.255.255.255 - 来自任何 DHCP 中继的请求,但由另一个设置了该中继地址的服务器应答的请求除外。 - 一个 IP 地址 - 仅由具有该地址的 DHCP 中继中继的请求,该地址是中继的 local-address。 |
lease-time | time | 租约持续多长时间。客户端在此时间的一半后续订租约,并在 87.5% 后开始重新绑定。没有自己 lease-time 的静态租约也使用此值。默认值:30m。 |
address-pool | enum (static-only) | 用于分配动态地址的 IP 池。使用 static-only 时,服务器仅应答具有静态租约的客户端。默认值:static-only。 |
dynamic-lease-identifiers | ubit (client-mac, client-id, opt-82) | 服务器用于识别动态租约客户端的标识符:client-mac(硬件地址)、client-id(选项 61)和 opt-82(中继代理信息)。更改所选标识符的客户端将获得新租约。默认值:client-mac,client-id。 |
bootp-support | enum (none | static | dynamic) | 服务器如何应答 BOOTP 客户端: - none - 不应答 BOOTP 请求。 - static(默认)- 仅向 BOOTP 客户端提供静态租约。 - dynamic - 向 BOOTP 客户端提供静态和动态租约。 |
bootp-lease-time | alt { enum: enum (lease-time | forever) { lease-time:0, forever:0xffffffff } , time: time } | BOOTP 客户端的租约时间:forever(默认)表示永不过期的租约,lease-time 表示使用服务器的 lease-time,或一个时间值。 |
delay-threshold | alt { enum: enum (none) { none:0 } , time: time } | 请求必须具有的 seconds-elapsed 字段(secs)最小值才会被应答。客户端将此字段设置为自开始获取或续订地址以来的时间,因此阈值使服务器仅应答已尝试该时长的客户端,例如让另一台服务器先应答。使用 none 时,所有请求都会被应答。默认值:none。 |
server-address | ipAddr | 服务器用作其身份的地址:回复从此地址发送,并将其作为服务器标识符(选项 54)携带。未设置时,使用服务器接口的地址。当接口有多个地址时设置它。 |
add-arp | bool | 是否为每个已绑定租约的地址添加永久 ARP 条目,在 /ip/arp 中以 H 标志显示。当接口本身不解析 ARP 时使用,例如 ARP 模式为 reply-only。默认值:no。 |
add-dns-entries | bool | 是否为每个已绑定租约的地址添加动态 DNS 条目(/ip/dns/static,A 类型)。条目名称为客户端发送的主机名(选项 12)后跟 add-dns-entries-suffix,其 TTL 为租约时间。路由器的 DNS 解析器应答这些名称。默认值:no。 |
add-dns-entries-suffix | string | 在 add-dns-entries 创建的 DNS 条目中追加到客户端主机名的域,例如 laptop.lan。仅与 add-dns-entries=yes 一起使用。当网络没有 domain 时,服务器还会将此后缀作为域名(选项 15)发送。它不能为空。默认值:lan。 |
authoritative | enum (no | after-10sec-delay | after-2sec-delay | yes) | 服务器如何应答无法提供的地址请求,以便此类客户端更快重新开始: - yes(默认)- 以 DHCPNAK 应答。 - no - 忽略针对此类地址的广播请求,例如来自重新绑定客户端的请求,以便另一台服务器可以应答。 - after-2sec-delay、after-10sec-delay - 对于广播请求,当请求的 secs 字段低于 2 或 10 秒时按 no 处理,之后按 yes 处理。要忽略低于阈值的所有请求,请使用 delay-threshold。 单播续订请求始终会被应答:无法提供请求的地址时以 DHCPNAK 应答,或该地址在池中空闲时以新租约应答。 |
always-broadcast | bool | 是否广播回复,即使客户端未设置广播标志。使用 no 时,回复遵循客户端的广播标志。默认值:no。 |
use-radius | enum (no | yes | accounting) | 是否使用 RADIUS 服务器(service=dhcp 的 /radius 条目)处理租约: - no(默认)- 不使用 RADIUS。 - yes - 通过 RADIUS 授权租约并发送计费。服务器等待 RADIUS 回复期间,租约状态为 authorizing,客户端不会获得地址。 - accounting - 仅使用 RADIUS 进行计费。 |
client-mac-limit | enum (unlimited) { unlimited:0xffffffff } | 具有相同 MAC 地址的客户端可以获得的最大租约数。默认值:unlimited。 |
conflict-detection | bool | 是否在提供地址之前使用 ARP 和 ICMP 检查该地址。当另一台主机应答时,服务器记录警告,将该地址作为具有 conflict 状态的租约保留租约时间,并提供另一个空闲地址。不检查静态租约的地址。默认值:yes。 |
use-framed-as-classless | bool | 是否将从 RADIUS 收到的 Framed-Route 属性作为无类静态路由(选项 121)发送给客户端。同时收到 Framed-Route 和 Classless-Static-Route 时,使用 Classless-Static-Route。默认值:yes。 |
use-reconfigure | bool | 服务器是否支持 Reconfigure(FORCERENEW)消息。启用后,服务器向请求密钥的客户端提供 reconfigure 密钥,例如设置 allow-reconfigure=yes 的 RouterOS DHCP 客户端,租约的 send-reconfigure 命令会使此类客户端续订其租约。Reconfigure 消息仅由该命令发送,服务器或网络设置更改时不会发送。未启用此设置时,客户端不会获得密钥,send-reconfigure 会被拒绝。默认值:no。 |
lease-script | alt { script: string } | 租约绑定时以及释放或过期时运行的脚本。脚本接收以下变量: - leaseBound - 租约绑定时为 1,释放或过期时为 0。 - leaseServerName - DHCP 服务器名称。 - leaseActMAC - 客户端的 MAC 地址。 - leaseActIP - 租约的 IP 地址。 - lease-hostname - 客户端发送的主机名。 - lease-options - 发送给客户端的选项数组,按选项代码索引。 - lease-agent-circuit-id、lease-agent-remote-id - 来自中继代理信息选项(选项 82)的 Circuit ID 和 Remote ID,前提是请求经过添加该选项的中继。 |
insert-queue-before | enum (first | bottom) { first:0, bottom:0xffffffff } | 为具有 rate-limit 的租约创建的动态简单队列的位置:first(默认)位于 /queue/simple 顶部,bottom 位于末尾,或指定队列之前。 |
parent-queue | enum (none) { none:0 } | 为具有 rate-limit 的租约创建的动态简单队列的父队列。默认值:none。 |
dhcp-option-set | enum (none) | 要发送给此服务器客户端的选项集(/ip/dhcp-server/option/sets)。租约的选项优先于服务器的选项,服务器的选项优先于网络的选项。默认值:none。 |
address-lists | multi { array-id, address-list: string } | 每个已绑定租约的地址要作为动态条目添加到的防火墙地址列表。租约结束时移除该条目。 |
allow-dual-stack-queue | bool | 同一客户端的租约和 DHCPv6 绑定是否共享一个动态简单队列,该队列随后同时包含 IPv4 和 IPv6 地址。客户端通过其 MAC 地址和 DUID 识别。DHCPv6 服务器也必须启用此设置。默认值:yes。 |
support-broadband-tr101 | bool | 如 RFC 4679 和宽带论坛 TR-101 所述,将额外的 Option 82 子选项传递给 RADIUS 服务器 |
ipv6-only-preferred | bool | 是否向请求 IPv6-Only Preferred 选项(选项 108,RFC 8925)的客户端发送该选项。请求该选项的客户端随后不会获得 IPv4 地址:提供内容包含该选项但没有地址,因此支持的客户端仅使用 IPv6。该选项携带 0 秒的等待时间,RFC 8925 客户端在再次尝试 IPv4 之前会将其提高到最小值 300 秒。默认值:no。 |