如何在 Ubuntu 服务器虚拟机上创建可从主机访问的 DNS 服务器

如何在 Ubuntu 服务器虚拟机上创建可从主机访问的 DNS 服务器

我想在 VM 上的 Ubuntu Server 上创建一个可以从主机(Windows)访问的 DNS 服务器。我已经创建了一个 DNS 服务器,但我不知道如何创建它以便可以从主机访问它。

供参考 :

Ubuntu 服务器 18.04.3

VMBox 6.0

BIND9

答案1

将虚拟机暴露到您的网络需要端口转发和 NAT。在这种情况下,通过端口 53/TCP 使用系统的防火墙(Linux 上大多数情况下使用 iptables,在 Windows 上,您可以使用网络管理员效果相同)。

为了使您的虚拟机能够访问互联网,您的虚拟机管理程序 (VMBox) 会为您在一个方向上进行设置,以便您的虚拟机可以共享您的互联网连接,但是为了使外部主机能够访问虚拟机,您必须手动以另一种方式进行配置,或者设置它将为虚拟机提供整个接口。这更容易设置,但不允许连接共享,并且会完全暴露您的虚拟机,就好像它是网络上的一台真实机器,而不仅仅是 DNS 服务器。

NAT代表网络地址转换。这意味着您的主机(物理机器)将接收网络数据包,防火墙将扫描它们并确定它们是否发往您的主机可以访问的另一个网络(您的虚拟机连接到的“虚拟”网络),并且它不会允许建立直接连接,而是“代替”外部主机并使用自己的 IP 地址,充当“中间人”。这允许您筛选可以与内部网络上的主机建立的连接,在这种情况下确保只有通过正确端口的 DNS 请求才能到达 DNS 服务器。

在虚拟机本身上,您还需要编辑其自己的防火墙,以确保它接受所需端口上的连接。Ubuntu 有联邦水务局(不复杂的防火墙),但对于像打开端口这样的简单操作,你只需运行 iptables -I INPUT 1 -j ACCEPT -p tcp --dport 53 (只要确保你节省您的规则,否则它们将无法在重启后继续存在)。

相关内容