virtualbox:--natdnsproxy1 和--natdnshostresolver1 有啥区别?
Posted
技术标签:
【中文标题】virtualbox:--natdnsproxy1 和--natdnshostresolver1 有啥区别?【英文标题】:virtualbox: what is the difference of --natdnsproxy1 and --natdnshostresolver1?virtualbox:--natdnsproxy1 和--natdnshostresolver1 有什么区别? 【发布时间】:2018-12-06 05:21:07 【问题描述】:virtualbox 文档没有解释清楚。
https://www.virtualbox.org/manual/ch09.html
9.11.5。在 NAT 模式下启用 DNS 代理 默认情况下,NAT 引擎为访客提供与在客户端上配置的相同 DNS 服务器 主持人。在某些情况下,可能需要隐藏 DNS 服务器 来自来宾的 IP,例如当此信息可以更改时 由于 DHCP 租约到期而导致的主机。在这种情况下,您可以告诉 使用以下命令充当 DNS 代理的 NAT 引擎:
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】:如果启用了 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 的第二个接口的选项。
【讨论】:
以上是关于virtualbox:--natdnsproxy1 和--natdnshostresolver1 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章
Jenkins / Vagrant / VirtualBox - Virtualbox 以系统用户身份运行?
在VirtualBox中的CentOS 6.3下安装VirtualBox增强包
virtualbox 安装扩展包 VirtualBox Extension Pack