当 alpine linux 向 dhcp 服务器请求 ipv4 地址时,它不会将主机名发送到 dhcp 服务器。所以我无法通过 LAN 中的服务器主机名进行访问。这是我的设置
我在我的虚拟机(不是容器)上使用 Alpine Linux 3.12,并且 arch 是 aarch64。
路由器运行 openwrt 19.07.3,BusyBox 是 v1.31.1
我的配置:
nodeprealp99:~# cat /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
hostname nodeprealp99
我也尝试过这个:
nodeprealp99:~# cat /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
hostname nodeprealp99
udhcpc_opts -h $HOSTNAME
我感谢您的帮助
答案1
我最终使用了 dhclient,它也非常轻量级
apk add dhclient coreutils
在 /etc/dhcp/dhclient.conf 创建配置文件
send host-name = gethostname();
prepend domain-name-servers 127.0.0.1;
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, host-name;
require subnet-mask, domain-name-servers;
timeout 60;
retry 60;
reboot 10;
select-timeout 7;
script "/etc/dhclient-script";
lease {
interface "eth0";
}
然后重启
reboot
答案2
@ozkolonur 解决方案对我有用。不过它又增加了 3-4 MB(使干净的操作系统大小翻倍)
新的 ifupdown 脚本 (应该是 ifupdown-ng 新一代!) 中有一个错误:
ifupdown-ng-0.8.5-r0 x86_64 {ifupdown-ng} (ISC) [installed]
只需将其删除并安装旧的 ifupdown:
apk update
apk del ifupdown-ng
apk add ifupdown
reboot