我有一个配置为与其他设备共享我的有线互联网连接的热点,该热点使用 启动nmcli con up Hotspot ifname virtual
。
主机已启动并使用 IP10.42.0.1
此时一切正常,任何设备都可以连接到热点并使用互联网。
现在,我尝试设置dnsmasq
从手机访问计算机中的某些虚拟主机,但是当尝试启动服务时出现以下错误:
dnsmasq[1034]: failed to create listening socket for 10.42.0.1: Address already in use
我可以看到“一些”进程已经在监听端口 53
netstat -anlp | grep LISTEN | grep 10.42.0.1:53
tcp 0 0 10.42.0.1:53 0.0.0.0:* LISTEN -
热点正在启动一些 DNS 服务器?可以禁用此功能dnsmasq
或者至少配置为从中读取主机/etc/hosts
吗?
答案1
我找到了一个解决方案:
首先删除 dnsmasq 配置文件中所做的所有更改。
创建以下文件/etc/NetworkManager/dnsmasq-shared.d/hosts.conf
和:
address=/.local/10.42.0.1
.local
我所有虚拟域的最后一部分在哪里/etc/hosts
127.0.0.1 somedomain.local
127.0.0.1 another.domain.local
重新启动网络管理器即可顺利运行。
显然,网络管理员运行他自己的 dnsmasq。
以下链接给了我一个想法:
配置 NetworkManager 的 dnsmasq 以使用 /etc/hosts
http://manpages.ubuntu.com/manpages/zesty/en/man8/dnsmasq.8.html