VirtualBox:--natdnsproxy1和--natdnshostresolver1有什么区别?

18
虚拟机文档没有清晰地解释它。

https://www.virtualbox.org/manual/ch09.html

9.11.5. 在NAT模式下启用DNS代理
默认情况下,NAT引擎向客户机提供与主机配置的相同DNS服务器。在某些情况下,希望隐藏来自主机的DNS服务器IP,例如当由于到期的DHCP租约而导致此信息在主机上更改时。在这种情况下,可以使用以下命令告诉NAT引擎充当DNS代理:
VBoxManage modifyvm "VM name" --natdnsproxy1 on
9.11.6. 在NAT模式下将主机解析器用作DNS代理
为了解决网络名称,NAT引擎的DHCP服务器提供了主机注册的DNS服务器列表。如果出于某种原因需要隐藏此DNS服务器列表并使用主机的解析器设置,从而强制VirtualBox NAT引擎拦截DNS请求并将其转发到主机的解析器,则使用以下命令:
VBoxManage modifyvm "VM name" --natdnshostresolver1 on
请注意,此设置类似于DNS代理模式,但是代理模式只是将DNS请求转发到适当的服务器,而解析器模式将解释DNS请求并使用主机的DNS API查询信息并将其返回给客户机。
1个回答

14
如果启用了一张NAT类型的网络适配器的natdnsproxy选项,VirtualBox的NAT网关将接受来自客户机的DNS流量并将其转发到主机使用的解析器。它只充当网络层代理。只有发送到网关IP的DNS流量才会被重定向,不会拦截发送到其他IP的DNS流量。确保您的客户机正在使用您的网关IP(例如10.0.2.2)作为解析器(如果您的客户机使用DHCP,则应该开箱即用)。 natdnshostresolver选项类似-它会导致NAT网关也接受DNS流量-但网关将阅读(即解析)查询并使用主机操作系统API来解决它。在Linux上,这将是getaddrinfo()。这是我个人认为首选的选项。
数字1指的是网络适配器,可互换使用。--natdnshostresolver2 on将启用给定VM的第二个接口的选项。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接