我有一个连接几台主机的网络。我希望能够使用主机名从其中一台主机访问其他主机。我刚刚发现了“.local”域,它可以通过avahi
和/etc/nsswitch.conf
访问。但我的服务器上没有这样设置。我不想在我的 DNS 服务器中创建条目。还有其他方法吗?
答案1
您的 /etc/nsswitch.conf 应该已经为 mDNS (avahi) 添加了以下内容:
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
avahi-daemon
只需在您想要互相通信的机器上安装,然后您应该设置为使用 HOSTNAME.local,如下所示:
ssh yourmachine.local
答案2
另一种方法是在文件中添加一个条目/etc/hosts
:
gksudo gedit /etc/hosts
条目采用123.123.123.123 host.domain
或 的形式123.123.123.123 host
。
如果你这样做,你现在可以例如ssh host
,它将连接到123.123.123.123
答案3
我找到了另一个解决方案。使用该文件,/etc/dhccp3/dhcient.conf
有一行以这样的方式开头,send host-name
可以将其修改为发送主机名“server1”
这个解决方案看起来不错,但我不知道使用相同 DNS 的每台机器是否都能看到我的“server1”主机名。
这个解决方案的另一个缺点是,我需要在这里和/etc/hosts
我只知道这个文件(/etc/dhcp3/dhclient.conf
)不是一个脚本,所以我不能使用环境变量来正确填充这一行。
答案4
如果使用 avahi-daemon,您可能需要将 ssh.services 复制到 /etc/avahi/services。在我的系统中,
sudo cp /usr/share/doc/avahi-daemon/examples/ssh.service /etc/avahi/services/