我想在我的虚拟机中创建一个本地 DNS,这样当它在线时,我网络上的所有计算机都可以“看到”它。我在虚拟机上安装了 Linux (CentOS) 作为 Hadoop 服务器。
有什么提示可以让它工作吗?我对网络知之甚少,在网上找不到好的教程。安全性不必是工业级的,VM 仅用于开发。
与此相关:这些本地 DNS 解决方案有多强大?它们在实际生产系统中常用吗?
答案1
最常用的两种协议是:
国家核安全网络、NetBIOS 名称服务 – 由所有版本的 Windows、MS-DOS、OS/2 等使用……通过 Samba 由 Unixes(包括 Mac OS X)支持纳米比亚。
使用 UDP 广播,这种广播在大型网络上效果不佳,但在小型网络上却效果很好。NBNS 只能在 IPv4 上运行,因为它依赖于广播。安全吗?什么安全?
为了使 NBNS 可以访问 VM,请安装 Samba 并启动其
nmbd
服务。(smbd
处理文件共享,但不是必需的。)配置工作组smb.conf
是可选的,但建议这样做 - 简单的名称解析将跨工作组工作,但可靠性较低。为了让虚拟机访问其他主机,请安装
nss_wins
并配置/etc/nsswitch.conf
以使用该wins
服务:hosts: files dns wins
移动DNS、多播 DNS(也称为 Bonjour)——由 Mac OS X 使用,由 Windows 通过“Bonjour 打印服务”支持,由 Unixes 通过 Avahi 支持。
使用多播 UDP,这在大型网络上效果更好(但扩展性仍然不佳)。同样,没有安全性。
要使 VM 可通过 mDNS 访问,请安装 Avahi 并启动
avahi-daemon
。请注意,默认情况下,所有 mDNS 名称都在域中.local
(例如hadoopbox.local
),而不是裸 NBNS 名称。(请参阅这一页如果您已经有一个名为 的 DNS 域.local
。)为了让虚拟机能够访问其他主机,请安装
nss_mdns
并配置/etc/nsswitch.conf
使用mdns
和/或mdns_minimal
。avahi-daemon
也必须运行。hosts: files mdns_minimal [NOTFOUND=return] dns mdns wins