MacOS Ventura下dnsmasq DHCP服务器无法为QEMU虚拟机分配IP的问题求助
大家好,我在MacOS Ventura上尝试用dnsmasq搭建DHCP服务器,给运行的QEMU虚拟机分配IP地址,但遇到了卡壳的问题,想请教各位大佬帮忙排查:
我已经做了这些操作:
- 在
/opt/homebrew/etc/dnsmasq.conf中添加了DHCP地址池配置:dhcp-range=192.168.1.2,192.168.1.100,255.255.255.0,12h - 执行命令重启dnsmasq服务:
sudo brew services restart dnsmasq - 为了避免冲突,禁用了MacOS自带的DHCP服务器:
sudo /bin/launchctl unload -w /System/Library/LaunchDaemons/bootps.plist - QEMU虚拟机的网络参数配置如下:
-nic vmnet-shared,start-address=192.168.1.1,end-address=192.168.1.254,subnet-mask=255.255.255.0,mac=52:52:52:00:00:00
但问题来了:当我在虚拟机里执行sudo dhclient -v请求IP时,dnsmasq完全没响应,终端输出一直重复发送请求:
Internet Systems Consortium DHCP Client 4.4.1
Copyright 2004-2018 Internet Systems Consortium.
All rights reserved.
Listening on LPF/enp0s1/52:52:52:00:00:00
Sending on LPF/enp0s1/52:52:52:00:00:00
Sending on Socket/fallback
DHCPREQUEST for 192.168.1.4 on enp0s1 to 255.255.255.255 port 67 (xid=0x74f39476)
DHCPREQUEST for 192.168.1.4 on enp0s1 to 255.255.255.255 port 67 (xid=0x74f39476)
我检查了DHCP的67端口,发现根本没有进程在监听:
sudo lsof -i4UDP:67
执行后没有任何输出。
而如果我启用MacOS自带的DHCP服务器,一切就正常了——虚拟机能顺利拿到IP,用sudo lsof -i4UDP:67也能看到launchd在监听该端口:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
launchd 1 root 14u IPv4 0x6ff053dbd93d2625 0t0 UDP *:bootps
launchd 1 root 22u IPv4 0x6ff053dbd93d2625 0t0 UDP *:bootps
请问各位,我该怎么调整才能让dnsmasq正常作为DHCP服务器为虚拟机分配IP呢?
备注:内容来源于stack exchange,提问作者ghik




