期望的结果
我想a.com
在主机上阻止,但在来宾虚拟机上允许它。 (我还想使用 dnsmasq 独立地重新指向来宾计算机上的域。)
细节
在 Linux Mint 主机上,我运行 dnsmasq。 dnsmasq.conf 文件a.com
根据address=/a.com/127.0.0.1
需要阻止域。
我在此主机上安装了 QEMU/KVM,并创建了一个也运行带有 dnsmasq 的 Linux Mint 的来宾虚拟机。对虚拟机进行ping 操作a.com
会导致指向 127.0.0.1,从而有效地阻止a.com
虚拟机,这不是我想要的。
我假设这与虚拟机上的网络配置有关,但我不确定。
最后
我的主要愿望是阻止Host访问,a.com
同时允许Guest访问a.com
,但阻止Guest访问b.com
。我喜欢 dnsmasq,因为它使我能够指定一个域及其所有子域,而主机文件需要专门寻址子域。如果有更好/更简单的方法来做到这一点,我愿意。
答案1
这并没有真正阻止任何内容 - 您所做的只是告诉主机的 DNS 查找返回该名称的不同地址。没有什么可以阻止客户端应用程序忽略您的本地 DNS 并使用另一个 DNS,因此它更像是烟雾和镜子,而不是实际的块。
您的虚拟机正在使用主机的 DNS,因此它也会受到影响。一种可能性是它可能是通过 DHCP 提供给您的虚拟机的,但由于使用主机的 DNS 服务器没有任何内在的内容,只需在虚拟机上选择另一个服务器即可。您将如何执行此操作取决于您的虚拟机获取其 IP 地址的方式。我使用老式静态配置运行大部分 Debian 服务器,因此我可能不是建议这样做的最佳人选