拱最新。
通过 QEMU 管理器,我最近创建了一个映射到我的无线设备的 NAT 网络。计划是为虚拟机使用无线,为主机使用以太网。在此之前,VM 和未绑定的主机都可以。
没有其他系统变化。
现在,系统重新启动后,unbound 无法启动,抱怨它无法获取端口 53。通过 lsof 我看到 dnsmasq 占用了 53。即使我的虚拟网络无法在启动时启动,也会发生这种情况。
我不想更改未绑定的端口,因为这需要重新配置其客户端。
为什么 dnsmasq 启动?
最简单且影响最小的配置更改是什么?
你在使用 libvirt(virsh、virtmanager 等)吗?
一些(大多数?全部?)发行版声明了 libvirt 和 dnsmasq 之间的某种依赖关系。例如,在 Debian 上,
libvirt-daemon-system
包 Recommendsdnsmasq
包(这意味着它将在您安装 libvirt-daemon-system 时安装,除非您禁用了安装推荐的包 - 例如Install-Recommends "False";
在 /etc/apt/apt.conf 中)。无论如何,如果您使用的是 libvirt,请查看
/etc/libvirt/qemu/networks/autostart
. 或者,更好的是,使用virsh
命令进行检查——见下文。如果那里有一个带有规则的文件/符号链接
dhcp
(这几乎是在 libvirt 中定义网络的主要原因),那么 libvirt 将启动一个 dnsmasq 实例以提供 dhcp、dns 和/或 tftp 服务虚拟机。这通常在安装 libvirt 时默认启用。检查是否有任何自动启动的网络定义:
如果有,您可以使用 . 查看内容
virsh net-dumpxml
。例如,如果网络定义的名称是“默认”:如果它启用了 dhcp,您可以使用以下命令停止它(并阻止它在下次重新启动时自动启动):
PS:几年前我在我的系统上禁用了 libvirt 启动的 dnsmasq。我更喜欢跑步
unbound
和 ISCdhcpd
。