没有分配 IP 的 dnsmasq 池

没有分配 IP 的 dnsmasq 池

我在嵌入式设备中有一个简单的 dnsmasq v2.80,我想将其用作 DHCP 服务器以实现自动配置目的。

我想要两个池(一个静态,一个动态)

我所拥有的是这个:

#
# main dnsmasq config file
#

user=nobody
group=nogroup

log-dhcp
dhcp-authoritative
dhcp-rapid-commit
no-dhcp-interface=lo
dhcp-name-match=set:wpad-ignore,wpad
dhcp-ignore-names=tag:wpad-ignore
dhcp-leasefile=/var/lib/misc/dnsmasq.leases

dhcp-option=tag:v69_static_pool_1,option:dns-server,1.2.3.254
dhcp-option=tag:v69_static_pool_1,option:router,1.2.3.253
dhcp-option=tag:v69_static_pool_1,option:ntp-server,1.2.3.252

dhcp-range=set:v69_dynamic_pool_1,10.250.0.2,10.250.0.254,255.255.255.0,12h
dhcp-option=tag:v69_dynamic_pool_1,option:dns-server,10.250.0.1
dhcp-option=tag:v69_dynamic_pool_1,option:router,10.250.0.1
dhcp-option=tag:v69_dynamic_pool_1,option:ntp-server,10.250.0.1

dhcp-range=1.2.3.1,1.2.3.254,255.255.255.0,infinite
dhcp-host=dc:2c:6e:ef:09:33,1.2.3.2,set:v69_static_pool_1

和网络接口

   link/ether ba:86:04:04:64:44 brd ff:ff:ff:ff:ff:ff
   inet 10.250.0.1/24 scope global v69
      valid_lft forever preferred_lft forever
   inet 1.2.3.1/24 scope global v69
      valid_lft forever preferred_lft forever
   inet6 fe80::b886:4ff:fe04:6444/64 scope link 
      valid_lft forever preferred_lft forever

但我想要的是不要浪费 IP 地址,因为我将使用公共 IP 地址分配给网络中的 cpes。我习惯于使用 mikrotik 路由器,虽然接口有一个静态 IP 地址,但足以让我分配接口范围之外的 IP。

而且我想确保静态池不用于分配给动态主机。

dnsmasq 可以吗?

答案1

而且我想确保静态池不用于分配给动态主机。

如果您不想从 DHCP 范围分发动态地址,请使用关键字static,如下所述在文档中:

可选<mode>关键字可以static告诉 dnsmasq 为指定的网络启用 DHCP,但不动态分配 IP 地址:只有通过 --dhcp-host 或 /etc/ethers 指定静态地址的主机才会被提供服务。

那看起来像这样:

dhcp-option=tag:v69_static_pool_1,option:dns-server,1.2.3.254
dhcp-option=tag:v69_static_pool_1,option:router,1.2.3.253
dhcp-option=tag:v69_static_pool_1,option:ntp-server,1.2.3.252

dhcp-range=set:v69_static_pool_1,1.2.3.1,static,255.255.255.0,infinite
dhcp-host=dc:2c:6e:ef:09:33,1.2.3.2

相关内容