dhclient.conf-附加到系统主机名

dhclient.conf-附加到系统主机名

我在一堆 Raspberry Pi 上运行 Raspbian。它们每个都设置了唯一的主机名/etc/hostname,并且 dhcp 客户端正确地将该名称注册到我的路由器。

我遇到的问题源于这些 Pis 通过以太网连接到同一个网络,然后连接到同一个 DHCP 服务器WiFi——存在一种类似竞争的状况,这意味着网络的其余部分在使用名称来寻址这些 Pi 时,无法确定性地选择以太网连接而不是 WiFi。

我想让 Pis 在根据它们所连接的接口获取租约时向网络 DHCP 服务器报告不同的主机名。这似乎可以通过在 中添加如下几行静态方式实现/etc/dhcp/dhclient.conf

interface "wlan0" {
  send host-name "MyHostname-1234-WiFi";
}

我想要解决的问题是如何以编程方式定义该行。如下所示:

interface "wlan0" {
  send host-name "<hostname>-WiFi";
}

查看 的文档dhclient.conf(5),它建议我可以使用concat中的函数dhcp-eval(5),但我没有成功。我正在尝试这个:

interface "wlan0" {
  send host-name concat(gethostname(), "-WiFi");
}

答案1

就像在相关option语句中一样,您必须使用符号明确标记表达式=

  send host-name "static-value";
  send host-name = concat(gethostname(), "dynamic-value");

如果您以详细模式 ( dhclient -cf myconfig.conf -v) 调用 dhclient,它会告诉您语法错误,否则它会默默忽略。

相关内容