我们可以从 /etc/network/interfaces 更改 DHCP 客户端 ID 吗?

我们可以从 /etc/network/interfaces 更改 DHCP 客户端 ID 吗?

我想知道是否有办法在 /etc/network/interfaces 中硬编码 DHCP 客户端 ID。最好能够取代客户端的 mac 地址作为获得租约的决定因素。

我的 Ubuntu 16.04 VM 正在获取与其主机(Windows 10,运行 hyper-V)相同的 IP 租约。VM 的虚拟接口(设置为虚拟以太网设备)与主机的 Wifi 接口桥接。我怀疑我的家庭 wifi 无法支持每个连接多个 mac 地址或类似的东西(非 WDS)。

使用从 传递的客户端选项来区分 dhcp 客户端会很方便/etc/network/interfaces。我不太清楚应该如何dhclient从命令行或配置文件传递此参数。

我尝试过的方法(没有成功):

  • dhclient -i似乎没有做任何不同的事情。(即使删除了所有租赁文件)
  • 在 hyper-v 中虚拟机的适配器设置上启用 mac 地址欺骗。(不过我认为这适用于客户机内部发生的事情)。

以防万一,我的家用路由器正在运行 OpenWrt Chaos Calmer 15.05.1。我不确定哪个特定的 dhcpd 服务器在其上运行。

相关问题:

Hyper-V 虚拟交换机问题:客户机和主机上的 IP 相同

答案1

在 Ubuntu 18.04-20.04 中,DHCP 客户端 ID 从 生成/etc/machine-id

克隆虚拟机后,您必须更改/etc/machine-id/etc/hostname/etc/hosts

如果您忘记更改/etc/machine-id,您将获得相同的客户端 ID 和 IP 地址。

答案2

我在尝试解决 Ubuntu 18.04 的相同问题时偶然发现了您的帖子。在 18.04 中,有一个文件 /etc/dhcp/dhclient.conf,它允许我更改 DHCP 选项。在我的虚拟机上,默认客户端 ID 是使用主机名生成的,克隆虚拟机后我没有更改主机名。更改主机名解决了该问题。

看起来相同的文件存在于 Ubuntu 16.04 中 http://manpages.ubuntu.com/manpages/xenial/man5/dhclient.conf.5.html

相关内容