Ubuntu 12.04のLXC機能を探しているので、実際に次のネットワークを設定したいと思います。
client1: 192.168.56.101/24
lxc-host: 192.168.56.102/24
guest1 192.168.56.201/24
guest2 192.168.56.202/24
guest3 192.166.56.203/24
私はゲストがLANに完全にアクセスでき、クライアントが見ることができる「フラット」ネットワークを望んでいます。私は以下に説明するようにlibvirt / KVMブリッジネットワーキングを使用することに慣れています。http://libvirt.org/formatdomain.html#elementsNICSBridge
ホストマシンから:
# /etc/network/interfaces
auto br0
iface br0 inet static
address 192.168.56.102
netmask 255.255.255.0
broadcast 192.168.56.255
bridge_ports eth1
最初のゲストのlxc.conf:
# /var/lib/lxc/guest1/config:
lxc.network.type=veth
lxc.network.link=br0
lxc.network.flags=up
lxc.network.hwaddr=00:16:3e:13:48:4e
lxc.network.ipv4=192.168.56.201/24
192.168.56.201は外の世界には見えないようですが、これは私が望むものではありません。次のいずれかを実行する必要があるようです。
1) ホストとゲストで手動でルーティングを設定します。
2)人為的な作業を行います。事前にホストに仮想インターフェイスを作成し、ゲストがそれを使用するように設定しますlxc.network.type=phys
。これが実際に動作するかどうかわかりません。
私はUbuntuに焦点を当てていますが、RHEL / Fedoraの答えも便利です...
ベストアンサー1
これはほぼ正確です。以下の行を省略しましたが:
lxc.network.ipv4.gateway = X.X.X.X
Debian で LXC クライアントを実行しています。まず、次の(簡単な方法で)メインブリッジを設定します/etc/network/interfaces
。
auto wan
iface wan inet static
address 72.X.X.X
netmask 255.255.255.0
gateway 72.X.X.1
bridge_ports wan_phy # this line is important.
bridge_stp off
bridge_fd 2
bridge_maxwait 20
あなたに関する限り、あなたはそれと呼び、私もbr0
それと呼びますwan
。この足は好きなように呼ぶことができます。まず、これを行う必要があります。失敗した場合は、次のように調べます(例:brctl
これにより、LXC設定がブリッジに接続するように設定されます。
lxc.utsname = FOO
lxc.network.type = veth
lxc.network.link = wan # remember, this is what I call my bridge
lxc.network.flags = up
lxc.network.name = v-wan # optional, I believe
lxc.network.ipv4 = 72.X.X.Y/24 # different IP than the host
lxc.network.ipv4.gateway = 72.X.X.1 # same as on the host
HoverHellが指摘したように、コンテナへのルートアクセス権を持つ人はIPアドレスを変更できます。はい。ネットワークブリッジ(イーサネットスイッチとも呼ばれます)です。これが発生しないようにするには、ホストでファイアウォールルールを使用できます。少なくとも私の場合、パケットはホストのiptablesを通過する必要があります。