#freeze
[[パソコン汎用]]
あなた、何かやる時にLXCやdockerで隔離環境作って試すひと?わたしはやるわ。
LXC(Linux container)って大好きで多用するんだけど、ネットワークの設定、特にブリッジが難点だったのよね。何が足りないのかうまく動かなくて。
特に、 ''最初マシンローカルな 192.168.122.* で試して、うまく動いたら 192.168.1.* にデプロイしていつものローカルネットで使いたい'' って時に、どうも失敗する事が多かったのよね。
今回、Debian jessieであっさりと、ローカルアドレスを使ったものと通常アドレスの仮想サーバが動いたので設定を記録しておくわ。ほんと、なんであんな失敗してたのかしら。
なお、libvirtの記事はネットに腐るほどあるので飛ばすわね。
* 設定例(本体側・ネットワーク) [#i66c8c50]
auto vmbr0
iface vmbr0 inet static
address 192.168.1.24
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.1
bridge_ports eth0
bridge_stp off
難しい事はしてないわ。
ちなみに /sbin/ifconfigの該当部分は以下。libvirtの仮想I/Fと並べてみたけど、違いがわかるかしら?
virbr0 Link encap:イーサネット ハードウェアアドレス fe:8f:0f:96:76:91
inetアドレス:192.168.122.1 ブロードキャスト:192.168.122.255 マスク:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 メトリック:1
RXパケット:0 エラー:0 損失:0 オーバラン:0 フレーム:0
TXパケット:0 エラー:0 損失:0 オーバラン:0 キャリア:0
衝突(Collisions):0 TXキュー長:0
RXバイト:0 (0.0 B) TXバイト:0 (0.0 B)
vmbr0 Link encap:イーサネット ハードウェアアドレス 14:da:e9:27:8e:d2
inetアドレス:192.168.1.24 ブロードキャスト:192.168.1.255 マスク:255.255.255.0
inet6アドレス: 2408:210:84:5100:16da:e9ff:fe27:8ed2/64 範囲:グローバル
inet6アドレス: fe80::16da:e9ff:fe27:8ed2/64 範囲:リンク
UP BROADCAST RUNNING MULTICAST MTU:1500 メトリック:1
RXパケット:35107 エラー:0 損失:0 オーバラン:0 フレーム:0
TXパケット:321 エラー:0 損失:0 オーバラン:0 キャリア:0
衝突(Collisions):0 TXキュー長:0
RXバイト:7763917 (7.4 MiB) TXバイト:56055 (54.7 KiB)
で、仮想ネットワーク側を選ぶなら、LXCノード名/config は以下のように。
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = virbr0
で、実のローカルアドレスを選ぶなら、LXCノード名/config は以下のように。
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = vmbr0
ね、便利でしょう?
え?LXCノード側の設定?いえ、 ''DHCP前提ならこのままでOK'' 。
どちらもDHCPで使いたいなら、 ''これだけの変更で中身は一切触らず、どちらのネットワークにもスパッと切り替えできる'' 。この便利さ、わかるかしら?