Ubuntu 14.4で.lxc dnsドメインを使用してLXCコンテナーにアクセスできない


1

予想される構成を実行し、この機能を過去に機能させました。これが以前に機能していた変更は次のとおりです。

  • / etc / default / lxc-netのLXC_DOMAIN = "lxc"行のコメントを外します
  • server = / lxc / 10.0.3.1行を/etc/NetworkManager/dnsmasq.d/lxc.confに追加しました

ホストマシンのresolv.confにdnsmasqインスタンスのIPを追加しました。

以前は、これにより、コンテナ名に接尾辞.lxc(例:test-container.lxc)を使用するか、コンテナ名自体を使用してコンテナをpingできました。

コンテナー名を使用してコンテナーにpingを実行できるようになりましたが、コンテナーをアドレス指定する.lxcドメインバージョンが機能しなくなったようで、理由がわかりません。

他の人がそのアプローチを使用して動作していることを読んだので、server = / lxc / 10.0.3.1行を/etc/dnsmasq.d/lxcに追加しようとしましたが、私には運がありません。

test-container.lxcをpingしようとすると、エラーが発生します。

ping:不明なホストtest-container.lxc

他の誰かがこの問題を見て、この動作が変更された理由、またはこの機能を再び動作させるために私ができることを知っていますか?

回答:


0

Ubuntu 16.04 Server LTS(ホスト)でLXC DNS解決作業を取得するのと同じ問題があります。私はいくつかのガイドに従って、これらの必要なエントリをこれらの構成ファイルに追加しましたが、それでもコンテナは.lxc -domainを解決しません。しかし、IPアドレスベースの命名のみが機能していました。

私のホスト環境はホスト型サーバー環境であるため、これはファイアウォール関連の問題である可能性があり、DNSトラフィックはファイアウォールまたはネットワーク構成のサービスプロバイダーによって何らかの形でブロックされています。まずiptablesの設定を確認してください。

次に、このチェックを解決して、/etc/resolv.confその/etc/network/interfaces内容を確認し、ネームサーバー127.0.0.1がこれらのLXC / DNS名を解決するサーバーの1つであることを確認し、デフォルトで一部のサーバーホストプロバイダーがGoogleの8.8.8.8明らかに、LXC DNS名を実行しているローカル/ホストを解決できません。

デフォルトのネームサーバーを追加し直すには、/etc/resolvconf/resolv.conf/tailネームサーバー127.0.0.1の内容のファイルを追加して実行sudo resolvconf -uし、リゾルバーの構成を再構築してから、コンテナのpingを再試行しますping mycont.lxc/etc/default/lxc-netLXC-hostnameのサフィックスとしてLXC_DOMAINを使用します)。

以上で私の場合の問題は解決しました。


0

これは16.04で機能します。

echo 'LXC_DOMAIN="lxc"' >> /etc/default/lxc-net
echo 'server=/lxc/10.0.3.1' >> /etc/dnsmasq.d/lxc
sed -i '1s;^;nameserver 127.0.0.1\n;' /etc/resolv.conf
apt-get install -y dnsmasq
sudo service lxc-net restart

/etc/resolv.conf再起動後も確実に機能するには:

echo 'nameserver 127.0.0.1' >> /etc/resolvconf/resolv.conf.d/head
sudo resolvconf -u

これはDNSサーバーを開いて実行することに注意してください。ファイアウォールまたは他の方法で閉じる必要があります。

echo 'interface=lo' >> /etc/dnsmasq.conf
service dnsmasq restart
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.