パソコン汎用

あなた、何かやる時にLXCやdockerで隔離環境作って試すひと?わたしはやるわ。

LXC(Linux container)って大好きで多用するんだけど、ネットワークの設定、特にブリッジが難点だったのよね。何が足りないのかうまく動かなくて。

特に、 最初マシンローカルな 192.168.122.* で試して、うまく動いたら 192.168.1.* にデプロイしていつものローカルネットで使いたい って時に、どうも失敗する事が多かったのよね。

今回、Debian jessieであっさりと、ローカルアドレスを使ったものと通常アドレスの仮想サーバが動いたので設定を記録しておくわ。ほんと、なんであんな失敗してたのかしら。

なお、libvirtの記事はネットに腐るほどあるので飛ばすわね。

設定例(本体側・ネットワーク)

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で使いたいなら、 これだけの変更で中身は一切触らず、どちらのネットワークにもスパッと切り替えできる 。この便利さ、わかるかしら?


トップ   編集 凍結解除 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-07-07 (木) 08:56:06