Ubuntu主机上的Virtualbox:按主机名访问来宾


10

我有几个VirtualBox设备(Windows,Linux),每个设备都配置了两个网络适配器:

  • NAT,用于访问互联网
  • 主机用于主机<>主机和主机<>来宾通信

问题是,我只能通过IP地址进行通信。我想通过主机名进行通信,即。我希望能够使用主机名从任何其他主机(或来宾)访问任何主机。这可能吗?

我已经在主机上有了一个仅主机的适配器(vboxnet0),并且网络正常,但是我想避免为每个设备分配静态IP。

Answers:


3

我建议您使用多播DNS来解决此问题。

Ubuntu默认通过Avahi使用它。

Windows主机需要一个Avahi客户端才能发现其他Avahi服务。如果您的主机已经使用了某些Apple软件,则可能已经通过一项名为Bonjour的服务在其中了。但是,如果尚未安装,则可以在此处下载Bonjour的小版本:Bonjour Print Services。安装后,您应该可以通过.local访问您的访客。

注意:默认情况下,mDNS系统似乎使用.local后缀。因此,如果您的主机名是“ dev.myapp.com”,那么实际的主机名将是“ dev.myapp.com.local”。

从我在superuser.com上的答案复制而来。


2
mDNS确实是一个很好的选择。我想指出我在UL上发布的这个实际的Ubuntu答案:在本地链接中检测其他机器的地址吗?
gertvdijk

2

根据手册(略有不同的主题):

没有用于内部网络的DNS解析器

因此,您需要在任一虚拟主机中安装一个。

相关:VB论坛


这是行不通的,因为VBox主机充当DHCP服务器,因此虚拟DNS服务器也将无法解析名称。我认为静态IP是做到这一点的唯一方法。
StarNamer 2012年

我知道我可以禁用VBox的dhcp服务器,所以有可能。
Miguel Ping

@StarNamer绝对正确,DNS服务器无法解决由VB中的DHCP服务器引起的问题。但是,尽管不切实际,但可以将DNS服务器配置为使用当前分配的地址,但这不会比编辑/etc/hosts文件更好。@Miguel可以执行的操作是禁用VB DHCP服务器并在虚拟机中安装一个。我建议您在网络和域名服务(DNS)下查阅《Ubuntu Server指南》
lgarzo 2012年

@Igarzo可能有用。我实际上会建议dnsmasq将DNS和DHCP服务器组合在一起。问题是放在哪里。如果它位于客户机VM之一上,那么它会变得很特别,我不确定是否容易在主机上放置DHCP服务器并为客户机提供服务。我从来没有尝试过。
StarNamer 2012年

@StarNamer我认为主机DHCP服务器不能为内部网络主机提供服务。除了连接到同一内部网络的主机之外,VB内部网络主机与外界通信Dnsmasq但是看起来是个不错的选择。为了安全起见,我只倾向于建议Ubuntu Server Guide解决方案。
lgarzo 2012年

1

您需要一个DNS服务器将ip转换为主机名,反之亦然,这很幸运,Vbox不支持


0

允许其他人(WINDOWS客户端,配置的LINUX客户端)通过主机名访问您的主机:

  • 安装/配置/启动samba提供的nmbd服务。

    nmbd-NetBIOS名称服务器为客户端提供IP上的NetBIOS命名服务

通过主机名允许您的主机联系其他用户(WINDOWS客户端,配置的LINUX客户端):

  • 编辑 /etc/nsswitch.conf

换线

hosts: files dns

hosts: files dns wins
  • 安装winbind

    apt-get install winbind

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.