我有一台 Linux 机器,它有一个以太网接口 eth0,已经分配了一个主静态地址和一个辅助静态地址 (eth0:1)。我想使用 DHCP 动态分配第三个地址给 eth0:2。这是一个老问题,标准答案是,不,你不能这样做;dhclient 和 dhcpcd 不适用于别名接口。请参阅此相关问题“如何在虚拟接口(即 eth0:1)上请求 dhcp(使用 dhclient)“kce 的回答很好地解释了这种根本不可能的情况。(其中还提到了一种涉及 VLAN 的潜在解决方案,但这对我来说不是一个选择。)
现在,据我所知,DHCP 协议并不关心接口(别名或其他);它的工作只是将 IP 地址租给客户端。所以我想尝试建立一个涉及 dhclient 或 dhcpcd 的配置,它们使用 eth0 与本地 DHCP 服务器进行数据包级通信,但是,一旦获得地址,就使用该地址配置 eth0:2。有人这样做过吗?应该可以吗?我是否忽略了陷阱或其他不可能之处?(如果没有根本的不可能之处,我准备在需要时修改 dhclient 或 dhcpcd 源。一旦我有了地址,我还准备使用自定义 dhclient 脚本来正确设置 eth0:2 及其路由。)