TL:DR / etc / network / interfacesのブリッジ構成にネットワークデバイスを追加せずに、ブリッジを永久に(再起動後も引き続き機能するように)どのように作成できますか?
こんにちは、私はUbuntu 14.04でlxcを使い始めました。
私が達成したい設定は、haproxyを含む1つのコンテナとnginxを含む1つのコンテナです。
iptablesを介して外部リクエストdnatをhaproxyに送信し、そこからnginxに送信します。
すべてのコンテナは独自のサブネットにあります。コンテナ間のルーティング/パケットフィルタリングはホストによって行われます。
これまで設定が半分ほど進んでいました。
brctlを使用して2つのブリッジを作成し、ブリッジにIPを追加しました。
br-haproxy: 10.100.0.1/24
br-nginx: 10.100.3.1/24
その後、lxc 構成を介してそのコンテナに対応するブリッジを追加しました。
nginx got br-nginx
haproxy got br-haproxy
その後、コンテナにIPアドレスを設定しました。
haproxy: 10.100.0.10/24 GW 10.100.0.1
nginx: 10.100.3.10/24 GW 10.100.3.1
これで、2つのコンテナ間でpingできます。これで、iptablesの転送ポリシーを拒否に設定してアクセスを拒否します。これで、iptablesを使用して2つのコンテナ間のトラフィックを制御できます。
さて、これまではとても良かったです。今私が達成したいのは、足を永久にすることです。 /etc/network/interfacesにbridgeconfigを追加しましたが、ブリッジに追加するネットワークデバイスがないため、この部分は無視しました。
今すぐブリッジを起動しようとすると、デバイス(br-haproxyなど)が見つからないというエラーが発生します。
ブリッジ構成にデバイスが欠落しているため、問題が発生したことがわかりました。ホストの eth0 をブリッジ構成に追加すると、ブリッジを起動でき、完全に機能します。しかし、それは私に必要なものではありません。
LXCは、コンテナの起動時にコンテナにインターフェイスを動的に作成し、それを対応するブリッジに追加します。
ここに私の問題があります。起動時にネットワークデバイスを追加せずにブリッジを永久化するにはどうすればよいですか?
どういうわけか問題を明確にしたことを願っています。 :-)
よろしくお願いします。
答え1
bridge_ports none
このインターフェイスにメンバーを追加せずに起動時に作業する場合はどうなりますか?
auto br-haproxy
iface br-haproxy inet static
bridge_ports none
bridge_fd 0
bridge_waitport 0
address 10.100.0.1
netmask 255.255.255.0
bridge_fd
メンバーポートがオンラインになると転送遅延を防ぎ、ポートがオンラインになるのを待つwaitport
遅延を防ぎます。