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


11

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


Avahi mDNS非常适合您的需求。有关/etc/nsswitch.conf如何配置的信息,请参见。
ulidtko 2011年

Answers:


10

您的/etc/nsswitch.conf应该已经具有用于mDNS(avahi)的功能:

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4

只需将其安装avahi-daemon在您要互相交谈的计算机上,就应该设置为使用HOSTNAME.local,如下所示:

ssh yourmachine.local

2
这是我希望我可以投票两次的答案。
ulidtko 2011年

2

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

gksudo gedit /etc/hosts

条目采用123.123.123.123 host.domain或形式123.123.123.123 host

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


抱歉,我忘记提及我不想这样做有两个原因。首先出于安全原因,这些机器将服务器。我认为这可能是一个问题。其次,我知道我的主机很快就会在那儿更改IP地址。而且我不想每次都更新此conf。编辑:第三个原因,我使用dhcp,因此网络管理器将频繁生成一个新的。但是我知道有一个技巧可以做到这一点。
benzen

1

我找到了另一个解决方案。使用该文件,/etc/dhccp3/dhcient.conf 有一行这样的开头,send host-name 可以将其修改为发送主机名“ server1”

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

此解决方案的另一个缺点是,我需要在此处和 /etc/hosts

我只知道此文件(/etc/dhcp3/dhclient.conf)不是脚本,因此我无法使用环境变量正确填充此行。


1

您可以让动态DHCP代替您自己在DNS中添加条目。


1
但是我不希望它们暴露在整个Internet上。只是在我的本地网络中找到它们
Benzen

0

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

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

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.