ホストループバックを受信するサービスをLXCゲストと共有する方法はありますか?

ホストループバックを受信するサービスをLXCゲストと共有する方法はありますか?

LXCゲストにサービスを提供しようとしていますが、ホストにサービスを公開したくありません。また、サービスのファイアウォールルールを設定したくないので、ループバックが最も簡単なソリューションのようです。

loバインドマウントディレクトリと同様に、LXCゲストと共有されるサービスの受信(ループバック)方法はありますか?

ベストアンサー1

目標を達成する方法はいくつかあります。

ゲストが仮想ネットワークを共有する場合(つまり、物理インターフェイスにブリッジされるわけではありません)、簡単です。そのインターフェイスを受信するようにサービスに指示するか、新しいゲストを作成してサービスをホストするようにします。

ゲストがにブリッジされている場合でも、ethX仮想ゲスト+ホスト専用インターフェイスの作成を検討できます。これは、カプセル化はあらゆる種類のサービス(内部メールサーバー、データベースサーバー、ローカルDNSなど)に適しているためです。

(明らかに何らかの理由でこのアプローチを放棄しました:ファイアウォールルール)

lo各lxcホストには独自のホストがありますが、私の考えでは大丈夫です。

私のlxcゲストはすべて仮想インターフェイスを共有し、パブリックインターネットに公開する必要がある各サービスに対してホストのiptablesにポート転送ルールを作成します。私はホスト自体でできるだけ少ないサービスを実行しようとしています。これにより、ハッカーが誤ってサービスを公開する可能性はほとんどありません。

完全性のために、私の設定は次のとおりです。

私のinterfacesファイル(Debian安定):

auto br0
iface br0 inet static
    bridge_maxwait 0
    bridge_fd 0
    bridge_ports dummy0
    address 192.168.x.1
    netmask 255.255.255.0
    # if there are lxc clients that need a public IP, add something like this (a.b.c.d being the public IP) and set the client's `lxc.network.ipv4` config parameter to the same address:
    #post-up route add a.b.c.d dev br0

クライアント構成の関連部分:

lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.veth.pair = lxc-apache # each client gets their own .pair name
lxc.network.ipv4 = 192.168.x.y/24 # ... and of course their own address

おすすめ記事