Alpine Linux が DHCP サーバーから IPv4 アドレスを要求するとき、ホスト名を DHCP サーバーに送信しません。そのため、LAN 内のサーバーのホスト名でアクセスできません。これが私の設定です。
私は VM (コンテナではない) で Alpine Linux 3.12 を使用しており、アーキテクチャは 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 が追加されます (クリーン OS のサイズが 2 倍になります)
新しい 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