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

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS