我正在使用 netplan 通过 DHCP 配置我的有线接口:
network:
version: 2
renderer: networkd
ethernets:
eno1:
dhcp4: yes
dhcp6: no
我卸载了 dhclient 并安装了 dhcpcd,即使运行 netplan apply 后,我仍然无法获取主机名(现在通过 dhcpcd -U eno1)。
如果我手动执行 dhcpcd eno1(在请求租约信息之前),我可以看到主机名。
networkd 是否支持使用 dhcpcd 作为 dhcp 租约的后端?我推测 networkd 一定在使用其内部 DHCP 客户端?
我真正想要的只是获取主机名以用于审计目的。
答案1
可以通过 netplan ip leases 检索主机名。它似乎输出位于 /run/systemd/netif/leases/<#> 中的文件的内容。
有一个字段 HOSTNAME 可供使用。systemd / netplan 似乎表示这可能会在未来发生变化,但一旦检索到主机名,就可以以正常方式进行设置。
hostname -b $(grep "HOSTNAME=" $(find /run/systemd/netif/leases -type f) | head -1 | cut -d '=' -f 2)