
私は Arch システムに Lxd をインストールしています (パッケージから、snapd からではありません)。昨日、アップグレード後にシステムを再起動すると、偽のドメイン .lxd の名前解決が機能しなくなりました。dns は、lxc-net サービスによって起動された dnsmasq から 10.0.10.1 に提供されています。dnsmasq は、ネットワーク上の他のホストに内部ドメインを提供するためにも使用され、これは正常に機能しています。dnsmasqnetstat -lnp
の両方のインスタンスが正しいアドレスにバインドされているのがわかりますが、次のようになります。
- あるコンテナ (例
ping proxy.lxd
) 内から別のコンテナに ping を実行すると、ホストのメイン ネットワーク カードの IP (192.168.1.63) が解決され、ping が機能します。 - 他のコンテナの IP アドレスに直接 ping すると、動作します。
- ホスト上で同じコマンドを実行すると、次のようになります
ping: proxy.lxd: Name or service unknown
。
システムの dnsmasq (lxc-net によって起動されたものではありません) は次のように設定されておりserver=/lxd/10.0.10.1
、昨日までは正常に動作していました。
アップグレードにはdnsmasqやlxc-netスクリプトは関係ありませんが、lxdは4.8-1から4.9-1にアップグレードされました。
どうやら dnsmasq に関連しているようですが、理解して解決する方法を見つけることができませんでした。
コンテナとホストの両方でネットワークは正常に動作していますが、DNS は /dev/null に移動しました。これは誰かに起こったことでしょうか? どうすれば解決できますか?
答え1
まあ、それはどういうわけか私のせいでした。なぜそれが起こったのかまだよくわかりませんが、調べてみると、以前はどのように機能していたのか正直わかりません。そうは言っても、「解決策」は構成、設定システム :)
以前ネットワークブリッジを設定するために使用したlxc-netスクリプトを無効にしましたそしてdnsmasqの場合:
lxc network create bridgename
ブリッジを作成し、それを lxd で管理します。lxc network edit bridgename
設定するには;- ブリッジをデフォルト プロファイルに追加しました (
lxc profile edit default
); /etc/dnsmasq.conf
127.0.0.1、NIC アドレス、ブリッジ アドレスをリッスンするように設定し、ブリッジ アドレスに対してのみ DHCP を設定し、local=/lxd/
container.lxd を解決するために追加しました。
それから出来た。