如何在家庭网络上使用主机名而不是IP地址?


37

我已经建立并运行了一个小型家庭网络,并设法设置了ssh。谁能告诉我通过主机名而不是IP地址从另一台计算机引用网络中的一台计算机时需要做什么(这就是我现在正在做的)?

Answers:


40

您可以通过在主机名上添加.local来引用计算机,如下所示:

ssh machinename.local

参考文献:


我从来不知道这种方法在非Mac上也可以使用,但是我只是在我的11.10系统上进行了尝试,然后它起作用了。它可能为我解决了一个问题,即使用路由器分配静态IP,同一系统上的有线和无线具有不同的IP地址。使用您的建议,我不需要知道正在使用哪个连接。想知道是否可以通过别名来简化它?
马蒂·弗里德

工作得很好,谢谢。您介意清除魔术吗?我的理解是,除非您像上面提到的Marty那样通知到其他主机的映射,否则主机名仅对该特定主机已知。.local有什么用?它会启动某种广播信号吗?
naftalimich 2012年


9

还有更多复杂的方法,但是我的方法是使用静态IP地址(可以从路由器分配),并将地址输入到主机文件中。

从路由器或“网络连接”对话框(在“有线”或“无线”标签下的“ IPv4”标签中)分配了静态地址后/etc/hosts,即可使用sudo或gksu和首选的文本编辑器(例如gedit或vim)进行编辑,并为每个主机添加一行,如下所示:

192.168.1.100    ComputerName1
192.168.1.101    ComputerName2

我使用的数字是通用的,但您的LAN可能不同。名称是您想称呼远程计算机的名称,可以是任何名称(尽管最好与真实名称匹配)。如果您有本地Web服务器,也可以在此处按名称创建本地网站。


您可以将有关名称的信息添加到路由器中,本地网络中的所有计算机都将知道这些名称。至少如果他们使用您的路由器作为DNS服务器。
安德斯2012年

1
@安德斯:我该怎么做?我从来没有一个路由器可以定义它们。我当前的路由器(Netgear WNR3500L)有一个用于放置静态IP的位置,以及一个用于命名该条目的位置,但是ping该名称对我来说不起作用。但是,虽然在我的系统上也无法ping通该名称,但是它在“已连接的设备”下具有计算机的名称。但是必须有一种方法可以读取计算机名称,因为路由器可以这样做。我只使用主机文件,但这并不理想。
马蒂·弗里德

在dhcp调用中,计算机可以告诉它想要什么名称。这就是为什么路由器获得计算机名称的原因。嗯,我已经知道我已经在路由器中设置了计算机名称,然后可以在以后查找该名称。无论如何,我现在都在使用OpenWRT固件的路由器上执行此操作。该固件应该可以在您的路由器上运行。非常适合与之建立IPv6隧道。:)
Anders 2012年
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.