如何通过主机名访问同一网络中的主机?

我有一个连接几个主机的网络。 我希望能够使用主机名从其中一个主机到达其他主机。 我刚刚发现了“.local”域,可以通过avahi/etc/nsswitch.conf 。 但它并没有在我的服务器上以这种方式设置。 而且我不想在我的DNS服务器中创建一个条目。 还有其他方法吗?

你的/etc/nsswitch.conf应该已经为mDNS(avahi)提供了这个:

 hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 

只需在想要与彼此交谈的机器上安装avahi-daemon就应该设置为使用HOSTNAME.local,如下所示:

 ssh yourmachine.local 

另一种方法是在/etc/hosts文件中添加一个条目:

 gksudo gedit /etc/hosts 

条目采用123.123.123.123 host.domain123.123.123.123 host的forms。

如果你这样做,你现在可以例如ssh host ,它将连接到123.123.123.123

我发现了另一个解决方 使用该文件/etc/dhccp3/dhcient.conf有一个这样的行, send host-name这可以修改为发送主机名’server1′

这个解决方案看起来不错,但我不知道使用相同dns的每台机器是否会看到我的“server1”主机名。

这个解决方案的另一个不好的方面,我需要在这里和/etc/hosts指定主机名

我只知道这个文件( /etc/dhcp3/dhclient.conf )不是脚本,所以我不能使用环境变量来正确填充这一行。

您可以让动态DHCP在DNS中添加条目,而不是您自己。

如果使用avahi-daemon,您可能需要将ssh.services复制到/ etc / avahi / services中。 我的,

sudo cp /usr/share/doc/avahi-daemon/examples/ssh.service /etc/avahi/services/