Avahi如何设置原来具有相同主机名的多个服务器

让我解释一下我想要做的事情:

  • 我正在创build一个将安装在SD卡上的Linux发行版映像
  • 将默认主机名设置为myHostname.local
  • 这全部在我的本地networking

如果我只有一个服务器,这是好的,但是如果我运行一个额外的服务器呢。 主机名如何工作,因为两个主机现在将是相同的名称。

  • myHostname.local < – 服务器1
  • myHostname.local < – 服务器2

Avahi提供了一种dynamic更改主机名的方法吗? 像这样的东西:

  • myHostname1.local < – 服务器1
  • myHostname2.local < – 服务器2

有什么build议么?

Avahi是RFC6762中描述的Zeroconf协议的实现, 通过在最后添加一个数字,将运行的机器的主机名更改为不同的主机名。

这个反重复的processus不会更改机器上的主机名(所以在机器上运行的其他应用程序将会看到并宣布相同的主机名),如果机器以不同的顺序启动,很可能他们将获得不同的主机名。

如果您正在寻找主机名的一致性和稳定性,这个解决scheme将无法工作。

有不同的解决scheme给每台机器一个独特的主机名:

  • 修改您的部署过程,为每个安装提供一个唯一的主机名(可以是手动干预),
  • 在初始部署之后使用configurationpipe理系统修改每个安装,
  • 使每台机器在第一次启动时(或者在每次启动时(如果您的机器上的存储器是只读的)生成随机名称(例如pwgen等密码生成器)。

最简单的解决scheme应该是改变你的部署过程,但是你可能需要一个configurationpipe理系统。

对于最后一个解决scheme,我不会推荐它在一个小型的个人部署,你可能会花更多的时间来使它工作,比你手工修改每台机器。 另外请注意,除了名称持久性之外,它几乎是你已经拥有的avahi。