限制dnsmasq只为本地主机上的虚拟机提供DHCP?

我需要设置dnsmasq来为在本地主机上运行的虚拟机提供DHCP(也可以select使用DNS),而不是在运行dnsmasq的虚拟机外部进行DHCP发现的任何其他系统。 我只是设置选项:

interface=lo0 bind-interfaces 

还是有其他需要的configuration?

监听回送接口可能不起作用,因为你的虚拟机没有连接到回送接口(所以dnsmasq不会看到他们的DHCP请求)。

您需要使用dnsmasq来监听虚拟机所连接的接口。 通常,这将是一个桥接接口。 没有看到你的系统如何configuration,很难提供更详细的答案。

如果你正在使用libvirt ,那么默认情况下(至less在RedHat-ish系统下),你会得到一个监听virbr0dnsmasq实例,启动时是这样的:

 /sbin/dnsmasq --strict-order --local=// --domain-needed \ --pid-file=/var/run/libvirt/network/default.pid \ --conf-file= --except-interface lo --bind-dynamic --interface virbr0 \ --dhcp-range 192.168.122.2,192.168.122.254 \ --dhcp-leasefile=/var/lib/libvirt/dnsmasq/default.leases \ --dhcp-lease-max=253 --dhcp-no-override