このリンク を使用して、Ubuntuサーバー12.04にLXCをインストールしました。正常にインストールされ、ユーザー名とパスワードとしてubutu/ubuntuを使用してログインできます。次に、LXCコンテナーのネットワークをセットアップしようとしました。
/ etc/network/interfaceを次のように変更しました
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 125.67.43.100
netmask 255.255.255.0
broadcast 178.33.40.255
gateway 125.67.43.1
/ var/lib/lxc/mycontainer/configの内容は次のとおりです。
lxc.utsname = mycontainer
lxc.mount = /var/lib/lxc/test/fstab
lxc.rootfs = /var/lib/lxc/test/rootfs
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.name = eth0
lxc.network.veth.pair = vethmycontainer
lxc.network.ipv4 = 125.67.43.102
lxc.network.hwaddr= 02:00:00:86:5b:11
lxc.devttydir = lxc
lxc.tty = 4
lxc.pts = 1024
lxc.Arch = AMD64
lxc.cap.drop = sys_module mac_admin mac_override
lxc.pivotdir = lxc_putold
コンテナなど/ネットワーク/インターフェース
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 125.67.43.102
netmask 255.255.255.0
broadcast 178.33.40.255
gateway 125.67.43.1
これが私の設定です
------------- ----------- -----------
| LXC | -----> | Host OS | ------> | Gateway |
| Container | | Ubuntu | | |
------------- ----------- -----------
eth0 125.67.43.102 br0 <-> eth0 NAT GW:
gw 125.67.43.1 br0 125.67.43.100 125.67.43.1
gw 125.67.43.1
Ping 125.67.43.100 ping 125.67.43.1
ok OK
Ping 125.67.43.1 ping 125.67.43.102
FAIL OK
LXCコンテナはホストの外部ではわかりません。ここで何を間違えたのでしょうか。
追加情報
user @ Host $ cat/proc/sys/net/ipv4/ip_forwardは1です
ナットルールを追加しました
ip_tables -t nat -A POSTROUTING -s 125.67.43.102 -o eth0 -j MASQUERADE
注:上記で使用したIPはオリジナルではありません
たぶんこのリンクはあなたの質問に答えるでしょう: https://wiki.debian.org/LXC/SimpleBridge
ホスト(例の最初のコードブロック)でeth0ではなくbr0を構成する必要があるようです。
しかし、私は推測しているだけです!
ブロードキャストアドレスがネットワークと一致しません。上記の例では125.67.43.255を使用します。
Br0はコンテナのゲートウェイである必要があります。 lxc.network.ipv4構文についても確認してください。多分あなたはサブネットマスクを置くべきです。