LXCルーティングコンテナサブネットルーティング

LXCルーティングコンテナサブネットルーティング

CentOS 7 ボックスには 2 つの NIC (イーサネット ポート 1 つとワイヤレス 1 つ) があります。次の要件を満たすルーターとして機能する lxc コンテナーを作成したいと思います。

  1. hostapd を実行する場合、アクセス ポイントに接続されているクライアントのすべてのデータは、このコンテナーを介してルーティングされる必要があります。
  2. インストールされている他の lxc コンテナも、すべてのデータをこのルーティング コンテナ経由でルーティングする必要があります。
  3. イーサネット ポートがインターネットに接続されている場合は、ホストとすべてのコンテナー、およびアクセス ポイントに接続されているすべてのクライアントがインターネットにアクセスできる必要があります。

これを設定するには、次の操作を実行しました。

  • ルーティングlxcコンテナを作成した
  • ホストには、インターフェース eth0 と wlan0 があります。また、ブリッジである br-eth0 と br-wlan0 も作成し、それぞれにこれら 2 つのインターフェースを追加しました。
  • br-eth0は、eth0 NIC経由で外部ルーターに接続するためのDHCPクライアントとして構成されています。
  • br-wlan0 は 10.0.0.1 の静的 IP を持ち、dnsmasq はそのインターフェースを listen し、10.0.0.0/24 サブネットで IP アドレスを発行します。
  • 私は、これらのブリッジ (leth0、leth1) に接続される 2 つのインターフェースを作成するように lxc ルーティング コンテナーを設定しました。leth0 は DHCP クライアントであり、leth1 は 10.0.0.201 という静的 IP アドレスを持ちます。
  • 私は別のブリッジ、br-routerを作成しました。これはルーティングコンテナの3番目のインターフェースにも接続されています。このブリッジはホストで静的IPアドレス192.168.3.254を持ち、ルーティングコンテナ(leth2)のインターフェースは静的IPアドレス192.168.3.1を持ちます。
  • ルーティングコンテナもdnsmasqを実行し、leth2インターフェースをリッスンし、192.168.3/24サブネット(.3 - .200)のIPアドレスを提供するので、このブリッジを導入する他のlxcコンテナにはそのサブネットのIPアドレスが与えられます。
  • ルーティング コンテナの leth0 でマスカレードを有効にしました。
  • ホスト内のデフォルト ゲートウェイを 192.168.3.1 に設定し、ホスト内から発信されるすべてのトラフィックがルーティング コンテナーを介してルーティングされるようにしました。

テスト目的で、2 番目の lxc コンテナも作成しました。これには、br-router をコンテナに取り込む単一のインターフェイスが含まれており、このコンテナはポート 8080 で Web ページをホストしています。この単一のインターフェイス (teth0) には、dhcp 経由で IP アドレスが発行されます (この場合は 192.168.3.9)

この設定により、ホスト、ルーティングコンテナ、テストコンテナ内からインターネットに正常にアクセスできます。また、ルーティングコンテナとテストコンテナの両方からcurlを実行できます。http://192.168.3.9:8080ウェブページを正常に取得しました。

したがって、要件 2 と 3 は満たされています。ただし、このシステムにクライアントを接続すると、10.0.0.0/24 サブネットの IP アドレスが提供されますが (br-wlan0 で実行されている dnsmasq 経由)、インターネット接続がありません (ルーティングの変更などがなければ接続できないことはわかっています。それが私がここにいる理由です)。また、leth1 のルーティング コンテナーで、firewalld を使用してポート 80 から 192.168.3.9:8080 へのポート転送を試みました。これにより、テスト コンテナーから接続されたクライアントに Web ページを提供できると期待しています。http://10.0.0.201- しかし、運が悪かった。(とはいえ、このポート転送の試みにより、ホストからの 201 アドレス経由で Web サイトにアクセスできるようになります)

ルーティングの変更、IP テーブル ルール、ポート転送ルールの組み合わせで、すべてがうまく機能するはずですが、数日間試してみても、どうしてもわかりません。ネットワークに関しては、まだ初心者なので、どなたか助けてくださると嬉しいです。現在の構成について、十分に理解できたと思います。

ありがとう!

関連情報