如何给任何设备的cname?

我正在开发linux环境和c语言。 我不能使用Python,Perl,PHP和Apache 。 我确切需要的是我想为networking中连接的每个设备提供一个相同的主机名。 我知道,我们不能给所有的设备相同的主机名称。 但可以通过cnmae来完成吗?

例如:

在本地networkingDevice-A,Device-B和Device-C中连接了3台设备。 IP地址将是192.168.0.4,192.168.0.5和192.168.0.6。 每个设备都包含一个httpd服务器,我可以从中访问该设备的网页。 比方说,如果我在浏览器中input192.168.0.4,那么它将打开该设备的网页。 现在我的电脑直接连接到一个设备。 我将在浏览器中写入device.local,以便打开本地设备的网页。 可能吗? 如果是,那么如何?

我所做的研究:

  1. 我已经使用了dnsmasq,但是运行失败。 我刚在dnsmasq.conf文件中打开了cname。 它给了我下面的错误:/etc/dnsmasq.conf中第529行的dnsmasq:bad选项
  2. 我正在使用avahi零configurationnetworking。 那个avahi-daemon在那里。 所以我可以给每个设备的主机名称。 但是它给出了像device.local,device-2.local和device-3.local这样的名字。 之后,我也跟着这个链接,但它没有为我工作。

    http://www.mail-archive.com/[email protected]/msg01907.html

预先感谢。 解决这个问题对我来说非常重要。

您可以使用循环DNS来使单个DNS条目在多个IP地址池中提供一个IP地址。 因此,对device.local的查询将以192.168.0.4回复,然后对device.local的下一个查询将用192.168.0.5等回答,直到地址池完成。 一旦地址池被连续发出,DNS服务器将重新开始在IP地址列表的顶部,并以相同的顺序再次发出。 本质上这是一个穷人的负载平衡。

CNAMElogging不是你正在寻找的。 停止使用它们 – 你想使用Alogging和循环赛。

假设我已将我的第一台笔记本电脑连接到Device-A,第二台笔记本电脑连接到Device-B。 在两个笔记本电脑的浏览器中,我写的device.local。 然后在第一台笔记本电脑,它应该显示我的网页设备-A和第二台笔记本电脑,它应该显示我的设备-B的网页。 可能吗?

现在这是一个不同的情况。 在上面我谈到的第一种情况下,所有设备(设备A,设备B,设备C和任何想要访问它们的PC /笔记本电脑)都在同一个networking上,或者至less有一条到达设备A,B和C的明确路由。

如果您直接将笔记本电脑连接到DeviceA,但无法连接到Device B或C.您有两个问题:

  1. 您无法访问承载循环logging的DNS服务器。 您唯一的select就是在笔记本电脑上托pipe某种DNS服务器服务,或者使用主机文件。
  2. 如果您在笔记本电脑上托pipe循环赛DNS服务,您只有一小部分机会可以获得正确的IP地址。 如果DeviceC的IP地址在循环队列中是下一个,但是只连接到DeviceA,那么你运气不好。

如果两台设备之间需要直接连接,那么只希望像SAMBA / NetBIOS提供的广播名称parsing那样。 但是,这不适用于跨子网(没有巨大的痛苦和痛苦),当然不能跨越像Yon Grande Internet这样的公共networking。

在这一点上,我相信你需要认真考虑:

  1. 你正在设法工程
  2. 你为什么试图用这种方式来devise它
  3. 涉及的协议和标准的目的和局限性。 (即一般的DNS和名称parsing)

你正在使用完全错误的方法。 您希望每个设备都以不同的方式parsing名称 – DNS的整点不是让不同的设备分开parsing名称。 你可能想要一个不同的DNS服务器每台设备,这意味着有一台本地DNS服务器设置每台机器,或…聪明的答案,只是使用主机文件的系统本身,这将是更简单的。