我正在配置一个专有设备以充当 DHCP 客户端。我还必须在配置中指定设备需要连接的应用服务器的 IP 地址或主机名。在我的例子中,应用服务器始终是 DHCP 服务器。
作为 DHCP 客户端,设备会收到一个网关地址,在我的情况下,该地址始终是 DHCP 服务器的地址。但在执行 DHCP 请求之前,我需要在设备的配置中指定应用服务器。
我可以在配置中硬编码 DHCP 服务器的地址,这样一切都会正常,但显然很脆弱。如果我可以只指定“您将从 DHCP 服务器收到的网关的 IP 地址”,那么我的设置就会更加便携。
是否有一个主机名表示“您将从 DHCP 服务器收到的网关”?我尝试了 0.0.0.0,但失败了。是否有类似的东西gateway.local
设备可以解析?如果没有,DHCP 服务器也在运行 dnsmasq,所以我的后备方案可能是在那里添加一个主机名,但如果存在约定,我更愿意使用约定。
不管怎样,我不知道该设备运行的是什么操作系统。
答案1
是否存在一个主机名,意思是“您将从 DHCP 服务器接收的网关”?
不可以,因为在 DHCP 配置完成之前无法将其解析为 IP 地址。
根据网络配置,该地址可能不存在,或者可能不是唯一的。
答案2
没有标准域名表示“默认网关”。没有什么可以阻止您在您控制的域的 DNS 中为您的网关创建 DNS 条目,尽管这只能抽象问题,而不能消除问题。
答案3
虽然没有跨平台/RFC 标准的方法,但是 Linux 上的一些名称解析包确实为默认网关定义了稳定的主机名:
- systemd-已解决定义
_gateway
(手册页) - libnss-gw-名称定义
gateway.localhost
不幸的是,这两者都可能与现有用法发生冲突;systemd 理论上可能与本地网络上的主机发生冲突,而 libnss-gw-name 则与RFC 6761§6.3.3(和Chromium 将拒绝解决它)。低于 的值.arpa
发生冲突的可能性较小。