nspawnコンテナがあります。
root@nomad-02:~# machinectl list
MACHINE CLASS SERVICE OS VERSION ADDRESSES
debian container systemd-nspawn debian 11 192.168.88.171…
1 machines listed.
systemd-resolved.service
ホスト(コンテナでも)で起動します。
root@nomad-02:~# systemctl status systemd-resolved.service
● systemd-resolved.service - Network Name Resolution
Loaded: loaded (/lib/systemd/system/systemd-resolved.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2022-01-25 22:16:34 UTC; 12h ago
Docs: man:systemd-resolved.service(8)
man:org.freedesktop.resolve1(5)
https://www.freedesktop.org/wiki/Software/systemd/writing-network-configuration-managers
https://www.freedesktop.org/wiki/Software/systemd/writing-resolver-clients
Main PID: 232128 (systemd-resolve)
Status: "Processing requests..."
Tasks: 1 (limit: 1132)
Memory: 5.3M
CPU: 153ms
CGroup: /system.slice/systemd-resolved.service
└─232128 /lib/systemd/systemd-resolved
Jan 25 22:16:34 nomad-02 systemd[1]: Starting Network Name Resolution...
Jan 25 22:16:34 nomad-02 systemd-resolved[232128]: Positive Trust Anchors:
Jan 25 22:16:34 nomad-02 systemd-resolved[232128]: . IN DS 20326 8 2 e06d44b80b8f1d39a95c0b0d7c65d08458e880409bbc683457104237c7f8ec8d
Jan 25 22:16:34 nomad-02 systemd-resolved[232128]: Negative trust anchors: 10.in-addr.arpa 16.172.in-addr.arpa 17.172.in-addr.arpa 18.172.in-addr.arpa 19.172.in-addr.arpa 20.172.in-addr.arpa 21.172.in-addr.arpa 22.172.in-addr.arpa 23.172.>
Jan 25 22:16:34 nomad-02 systemd-resolved[232128]: Using system hostname 'nomad-02'.
Jan 25 22:16:34 nomad-02 systemd[1]: Started Network Name Resolution.
コンテナにはvnetがあります。
root@nomad-02:~# resolvectl status
Global
Protocols: +LLMNR +mDNS -DNSOverTLS DNSSEC=no/unsupported
resolv.conf mode: foreign
...
Link 439 (ve-debian)
Current Scopes: LLMNR/IPv4 LLMNR/IPv6
Protocols: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
ホスト名を使用してホストの内部からコンテナにアクセスできるかどうかを知りたいです。
私が試したことは次のとおりです。
dig @127.0.0.53 debian
これはうまくいきません。
これを行う方法に関するドキュメントが見つかりません。可能ですか?
よろしくお願いします。
答え1
「NSS(Name Service Switch、参照man 5 nss
)モジュールが必要です。」私のマシン/etc/nsswitch.conf
「次のようにインストールして有効にします(参照man 8 nss-mymachines
)。
hosts: mymachines resolve [!UNAVAIL=return] files myhostname dns
libnss-mymachines
たとえば、Debianではこのパッケージが必要です。