仮想マシンのネットワーク関連
デフォルトで「default」という仮想ネットワークが構成されており、仮想ブリッジ「virbr0」が設定されている。 仮想ブリッジも`libvirtd`サービスが管理します。
「brctl」コマンドでブリッジの管理が可能。
# brctl show
bridge name bridge id STP enabled interfaces
virbr0 8000.52540097b907 yes virbr0-nic
Linux KVM環境で物理NICに仮想ブリッジを接続する
通常だと、ホストマシンを通してNATにより仮想マシンは外部と通信する。これではプログラミングの検証など何かと不便なので 仮想マシンを直接、同セグメントに接続するために、物理NICに仮想ブリッジを接続する。
- 仮想ブリッジインターフェースの作成
# brctl addbr br0
# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.000000000000 no
virbr0 8000.525400b745d4 yes virbr0-nic
vnet0
- 仮想ブリッジに物理NICを接続する
# brctl addif br0 eth0
# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.001f2966513c no eth0
virbr0 8000.525400b745d4 yes virbr0-nic
vnet0
- ネットワーク設定を修正する
br0作成する
# vi /etc/sysconfig/network-scripts/ifcfg-br0
[root@dlp ~]# mv /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-br0
[root@dlp ~]# vi /etc/sysconfig/network-scripts/ifcfg-br0
# 変更
DEVICE=br0
HWADDR=00:0C:29:5F:03:42
# 変更
TYPE=Bridge
UUID=c1539085-73d7-4455-ac82-88f26464458a
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=10.0.0.30
NETMASK=255.255.255.0
GATEWAY=10.0.0.1
DNS1=10.0.0.1
IPV6INIT=no
USERCTL=no
※ゲートウェイの設定など必ず記載すること
[root@dlp ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
# 新規作成
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BRIDGE=br0
上記でうまくいかなかったら、eth0を修正する
NM_CONTROLLED=no
BOOTPROTO=none
BRIDGE=br0
- networkを再起動して設定を反映する
# /etc/init.d/network restart
下記は必要ないかも
# chkconfig networkManager off
# service NetworkManager stop
- 仮想ブリッジの確認
# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.001f2966513c no eth0
virbr0 8000.525400b745d4 yes virbr0-nic
vnet0