我想在 eth0:ipv4ll 上配置一个地址,即使 eth0 本身已配置。Eth0 永远不会配置 ipv4ll 地址,它被设置为 DHCP。有问题的系统既用于常规网络,也用于常规网络之外,并且始终需要 ipv4ll 地址。
我在接口文件中设置了一行:
iface eth0:ipv4ll inet ipv4ll
但是,这只会得到一条日志记录,表明 avahi-auotipd 没有配置接口,因为它上面已经有一个可路由的地址。
是的,eth0 有一个地址。但是 eth0:ipv4ll 不是 eth0。
我不知道 avahi-autoipd 到底在哪里运行,或者我只是将 --force-binding 添加到该行。
有没有更好的办法?
我查看了 ifupdown 源和定义文件,ipv4ll 接口类型只是一个手动上/下包装器。您可以在 /etc/network/interfaces 中将 avahi-autoipd 接口配置为手动类型:
如果您为 dhcp 配置了 eth0,那么您还需要注释掉 /etc/dhcp/dhclient-enter-hooks.d/avahi-autoipd 中导致 avahi 接口在 dhcp 配置自身时被终止的行。一旦你做了这些事情,你就可以使用 eth0 和 eth0:0(奇怪的是,在你 ifup eth0:0 之后,它被重命名为 eth0:avahi)。
好吧,ifup 似乎直接从二进制文件中的静态字符串调用 avahi-autoipd。
有点死板。
我将寻求另一种解决方案。无论如何,我都欢迎您提出建议。例如,我想知道是否有比 ifupdown 更好的选择,它似乎对 Network Manager 了解得太多了。