我家里有一个局域网,里面有台式机和笔记本电脑。IP 地址是动态分配给两者的,因此 IP 号码不断变化。
我尝试使用 places->Server 从一个服务器连接到另一个服务器,如果我在其中输入正确的 IP 地址,则可以毫无问题地连接。但如果我输入主机名,它就无法识别。如果我尝试 ping 主机名和 IP 地址,结果也是一样。
有趣的是,如果我转到位置->网络,我可以看到主机名。所以基本上 ubuntu 有一种方法来告诉哪些机器连接到网络以及它们的名称是什么,我想知道如何利用这一点来保持最新的路由表,将主机名映射到正确的 IP 地址。
PS,台式机和笔记本电脑都运行 Ubuntu。我使用的是 10.04 和 10.10 版本
谢谢
答案1
Ubuntu 自带阿瓦希mDNS 服务发现的实现(也称为 Apple 的商标名 Bonjour),它会在.local
域下的本地网络上宣传您的主机名。标准主机名解析器也会执行 mDNS 查找。
因此如果你将其中一台计算机的主机名设置为foo
,那么你应该能够使用以下命令从本地网络上的另一台计算机 ping 它:
ping foo.local
您应该能够.local
在 Ubuntu 上的大多数软件中使用这些名称。
答案2
根据您的 LAN 设置,许多路由器能够记住并保留特定机器的 IP 地址,这将使它们的名称和 IP 保持不变。
或者,您可以为每台机器设置静态 IP。网络管理器工具可以做到这一点,
我倾向于同时采用这两条路线,我的路由器提供 192.168.1.200+ 范围内的动态 ip,并且我在 192.168.1.100-199 范围内的大多数机器上设置了静态 ip。