raf*_*rsr 5 network-manager dnsmasq hot-spot 17.10
我有一个配置为与其他设备共享有线互联网连接的热点,该热点使用nmcli con up Hotspot ifname virtual.
Hostspot 已启动并使用 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 -
Run Code Online (Sandbox Code Playgroud)
热点正在启动一些 dns 服务器?可以禁用它来使用dnsmasq或至少配置为从中读取主机/etc/hosts吗?
我找到了一个解决方案:
首先删除 dnsmasq 配置文件中所做的任何更改。
创建以下文件/etc/NetworkManager/dnsmasq-shared.d/hosts.conf
和:
address=/.local/10.42.0.1
Run Code Online (Sandbox Code Playgroud)
.local我所有虚拟域的最后一部分在哪里/etc/hosts
127.0.0.1 somedomain.local
127.0.0.1 another.domain.local
Run Code Online (Sandbox Code Playgroud)
重新启动网络管理器并正常工作。
显然网络管理员运行他自己的 dnsmasq。
以下链接给了我一个想法:
配置 NetworkManager 的 dnsmasq 以使用 /etc/hosts
http://manpages.ubuntu.com/manpages/zesty/en/man8/dnsmasq.8.html