ホスト上に複数のLXCコンテナをセットアップしようとしています。各コンテナには独自のパブリック静的IPがあります。
私のホストは最新のUbuntuを実行しています。eth0という名前の単一のネットワークインターフェイスがあります。静的IPはインターネットからping可能で、名前はeth0:210、eth0:211 ...です。コロンの後の数字はアドレスの最下位バイトです。これらのインターフェイスに加えて、ホストのパブリックIPにbr0セットアップがあります。lo、veth2LPP9A、およびlxcbr0インターフェイスもあります。lxcbr0にはプライベートIPのアドレスがあります。
ホスト/ etc / network / interfacesは次のようになります。
auto br0
iface br0 inet static
bridge_ports eth0
bridge_fd 0
[...]
これまで、さまざまなオンラインソースを使用してeth0をホストするLXCコンテナーのブリッジングを行い、パブリックIPを使用してセットアップを支援できるようにしました。
コンテナの設定ファイルには次のものがあります。
lxc.network.type = veth
lxc.network.link = br0
問題が発生したため、このファイルから静的lxc.network.ipv4構成を削除しました。この構成でlxc-ls --fancyを実行すると、出力に同じパブリックIPが2回表示されます。さらに、コンテナの/ etc / network / interfacesのサブネット構成を台無しにします。
コンテナのinterfacesファイルといえば、次のようなものです。
auto eth0
iface eth0 inet static
address [...]
netmask 255.255.255.255
#gateway [...]
dns-nameservers 8.8.8.8
post-up route add [...] dev eth0
post-up route add default gw [...]
post-down route del [...] dev eth0
post-down route del default gw [...]
ゲートウェイをコメントアウトし、このファイルにroute addコマンドを追加する必要がありました。そうしないと、コンテナの起動に数分かかります。
ホスト上の/ proc / sys / net / bridge / bridge-nf- *ファイルはすべて0に設定されます。/proc/sys/net/ipv4/ip_forward値は1です。
問題は、コンテナの「route -n」が本来あるべきように見えても、コンテナからpingを実行できないことです。コンテナのIPにSSHで接続すると、私がホストに接続されます。
編集:ホストからコンテナの静的IPを削除することは役に立ちましたが、今では新しいエラーが発生しています。ホストからコンテナーをpingしようとすると、リダイレクトHostFrom、新しいネクストホップが発生します。パケットは、ゲートウェイからホストに繰り返し送られます。ホストからtracerouteを実行すると、最初のストップがゲートウェイにあることがわかります。その後、他のすべてのルートは* * *です。コンテナがオンラインかどうかに関係なく、同じ問題が発生します。