DHCP
networks.<name>.dhcp 启用 IPv4 DHCP 服务。
yaml
networks:
lab:
address: [10.10.0.1/24]
capture: false
dhcp:
range: 10.10.0.100-10.10.0.199
lease: 12h
reservations:
- {mac: "52:54:00:aa:bb:cc", address: 10.10.0.10, hostname: db}
dns:
servers:
default: {type: udp, address: 127.0.0.1:53}
final: default字段
range
- 类型:
起始IPv4-结束IPv4字符串。 - 必填:是。
- 限制:两个地址都要属于该网段,首地址不能大于末地址,网桥自身地址不能落在池内。
lease
- 类型:时长。
- 默认:
12h。 - 范围:至少
2m,且能写入 DHCP 的 32 位秒字段。
reservations
- 类型:预留数组。
- 默认:空。
reservations[].mac
- 类型:六段十六进制 Ethernet 地址,使用冒号。
- 必填:是。
- 限制:必须是非零单播地址。
reservations[].address
- 类型:IPv4 地址。
- 必填:是。
- 行为:同一 MAC 固定取得该地址;地址可以位于池外,但仍须是网段可用地址。
reservations[].hostname
- 类型:字符串。
- 必填:可选。
- 行为:提供
source_hostname和网段 DNS 名字;会清洗为首段小写 ASCII 名。
说明
DHCP 只绑定该网段的桥和 67 端口。租约优先于动态池位置,但不会凭预留凭空生成已租出的 DNS 地址。OFFER 短期保留,DECLINE 地址进入隔离;租约和隔离跨重启保留。
网段 DHCP 还会下发网桥自身为 DNS、配置的 MTU、domain 和可请求的搜索域。已有客户端从其他 DHCP 服务取得网关时,mayami 不会替它改网关。