web-dev-qa-db-ja.com

ホストからの接続を拒否するLXDコンテナー

LXDを最近発見したのはかなり新しいです。私は画像やコンテナとの基本的なやり取りを進めています-有望に見えます。

現在、ホストからローカルコンテナで実行されているサービスへの接続に問題があります。これを試すのは初めてです。 「接続拒否」エラーが表示されます。以下の詳細:

user@sparky1:~$ curl 10.0.3.49
curl: (7) Failed to connect to 10.0.3.49 port 80: Connection refused
user@sparky1:~$ 

ホストは私のラップトップ上のUbuntu Server 14.04です。これは新規インストールであり、非常に単純です。システムにすべての構成(lxcbr0ブリッジを含む)を実行させ、すぐに使用できるデフォルトは変更していません。

CentOSv6イメージに基づいてコンテナーを実行しています。コンテナが起動し、内部でWebサーバーを実行しています。コンテナ内から、ポート80でローカルWebサーバーに接続できます(「curlホスト名」を実行して)。ループバックIP 127.0.0.1に接続します。コンテナー内からローカルWebサーバーから有効な応答を取得します。わーい。

成功した応答(403の応答であっても):

[root@wc1 ~]# curl wc1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /
on this server.</p>
<hr>
<address>IBM_HTTP_Server at wc1 Port 80</address>
</body></html>
[root@wc1 ~]#

コンテナ内またはホストからブリッジのIP経由で接続しようとすると、前述の「接続拒否」エラーが表示されます。

そのため、ホストからコンテナで実行されているWebサーバーへの接続を許可するために必要なものを把握しようとしています。私は数時間グーグルで過ごしましたが、答えが見つかりませんでした(または密度が高すぎて認識できませんでした)。

ファイアウォールが無効になっています(「ufwステータス」と表示されます)。私は何が欠けていますか?前もって感謝します。

1
David MacBride

私は自分の問題を解決しました。最初に、コンテナ内から「curl」コマンドを発行したときに[〜#〜] ip [〜#〜]を指定したことを思い出しました(ため息をつきました)が、実際にはホスト名。実際にホスト名を指定し、hostanmeがループバックに解決したことに気づいたら、問題を見つけました。

Apache httpd.confのListen diは、lxcbr0ブリッジのIPではなく、ループバックデバイスに解決されたことに気付いていませんでした。 rectiveがホスト名を指定しました。 httpd.confファイルはベンダーツールによって自動生成されたため、最初は考えていませんでした。 Listenディレクティブを正しいIP(10.0.3.49)でリッスンするように変更すると、すべてが機能しました。

1
David MacBride