mDNS alpine linux 3.24 LXC on Proxmox ― 2026年10月11日 07:41

Proxmoxのローカル環境で、lxc を使用しています。 DHCP環境のため、IPアドレスが変更されてしまいます。

個々の lxc に固有の役割をあてたくても、 IPアドレスが変更されることで、扱い辛いです。

mDNS を使い、.local のドメイン名を用いて 名前解決を行う環境を用意します。

環境

  • Proxmox 9.2.21
  • alpine linux 3.24

設定

alpine linux の wiki mDNSと、udhcpc を参考に、 avahi を構築します。

Setup avahi

 # apk add avahi
 # cd /etc/avahi/services/
 # mv ssh.service ssh.org_service 
 # mv sftp-ssh.service sftp-ssh.org_service
 # rc-update add avahi-daemon
 # rc-service avahi-daemon start

.service を変更しているのは、avahi-browse で サービスを表示させたくない為です。

Setup avahi-tools

 # apk add avahi-tools
 # avahi-browse -a -t -r

Setup avahi2dns

 # apk add avahi2dns

avahi2dnsは、edgeのcommunityリポジトリに 登録されています。

 # rc-update add avahi2dns
 # rc-service avahi2dns start
 # drill -p 5354 @127.0.0.1 <hostname>.local

drill も、apk add してください。

Setup unbound

 # apk add openresolv unbound

以下の設定を、/etc/resolvconf.conf に追加してください。

 name_servers=127.0.0.1
 unbound_conf=/etc/unbound/unbound.conf.d/resolvconf.conf

かつ、以下の設定を /etc/unbound/unbound.conf.d/avahi-local.conf として設定してください。

 forward-zone:
       name: "local"
       forward-addr: 127.0.0.1@5354
 server:
       do-not-query-localhost: no
       domain-insecure: "local"

Setup udhcpc

/etc/udhcpc/udhcpc.conf の設定で、以下を設定してください。

 RESOLV_CONF="no"

これで、udhcpc による resolv.conf の上書きがなくなります。

Setup Proxmox ignore

 touch /etc/.pve-ignore.resolv.conf

これで、Proxmox による resolv.conf の上書きがなくなります。

resolvconf の反映

 resolvconf -u
 rc-update add unbound
 rc-service unbound start

注意

proxmox の lxc として、ホスト名に . を使用する事ができます。 . を使用すると lxc のOSとしてのホスト名は、 最初の . より前の値になります。

参考