kvm网络配置

http://bloodiron888.blog.163.com/blog/static/1647332712010102295930204/
(1)default virtual network -- NAT  
写在开始之前:

       由于我这里的操作系统是centos 5.5 64位的,而我所参考的是刚刚发布的《Virtualization Guide - Guide to Virtualization on Red Hat Enterprise Linux 6》,若是其中有什么不合时宜的地方还请指正

libvirt支持的网络配置:

1、虚拟网络使用NAT
2、直接分配物理pci设备或者SR-IOV(single root I/O virtualization)供虚拟网络使用
3、桥接网络

主机配置 << ENDHOST
>标准安装libvirt之后,默认的虚拟网络(default virtual network)采用的是NAT,可以通过virsh net-list --all 查看:
加入默认的虚拟网络丢失之后,可以采用下面的方法重新加载和激活:
# virsh net-define /usr/share/libvirt/networks/default.xml
标记默认网络自动启动:
# virsh net-autostart default
启动默认网络:
#virsh net-start default

libvirt 将会增加iptables规则以便保证虚拟机可以正常使用网络,记得检查 /etc/sysctf.conf中的net.ipv4.ip_forwart是否开启。
<<ENDHOST

客户端配置<<ENDCLIENT
unix/linux一直沿用至今的“一切皆文件”的开发设计理念,为我们在配置的各种参数和性能时,提供了非常多的方便。这里将会说明如何查看和调整客户端的网络配置:
#cd /etc/libvirt/qemu/
#vim centos.xml (centos.xml是我安装的虚拟机<-->客户端)
...........
...........
<interface>
           <source network='default'/>
</interface>
.............
............
下面将会看到使用bridge时,该字段的变化。----:说明,可以在<interface>域内加入<mac address='xx:xx:...' />以便定义起mac地址,当然这不是必要的。
<<ENDCLIENT


KVM网络配置(2)bridge network  

2010-11-22 11:48:31|  分类:linux 虚拟化 |  标签:ifcfg  bridge  iptables  network  eth0  |字号 订阅

bridge networking也就是共享物理网络设备,在需要对interface做高级的配置和主机有多块网卡时,将会显得非常有用。

基于linux kvm 的bridge的创建我已经在我的另外一篇文章中提到,这里有些地方我不再解释。

cat<< __EOF_ >> 创建bridge

1、首先停止NetworkManager:
  #service NetworkManager stop
  #chkconfig NetworkManager off
或者在ifcfg-*中加入:
  NM_CONTROLLED=no
然后重启网络:
  #service network restart

2、修改需要bridge的那块网卡的脚本,比如ifcfg-eth0
   #cd /etc/sysconfig/network-scripts
   #vim ifcfg-eth0
    ....
DEVICE=eth0
HWADDR=84:2B:2B:5E:61:99
ONBOOT=yes
BRIDGE=br0
MTU=9000
   ....

3、建立ifcfg-br0
#cat > ifcfg-br0 << end
DEVICE=br0
TYPE=Bridge #这里主义大小写等格式
BOOTPROTO=static
IPADDR=58.63.239.197
NETMASK=255.255.255.0
GATEWAY=58.63.239.1
<<end

4、重启网络
#service network restart

5、添加iptables 规则,以便允许数据包通过这块bridge设备转发:
#iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT
#service iptables save
#service iptables restart

或者可以选择让iptables不对bridge流量进行控制:
cat >> /etc/sysctl.conf <<E
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
<<E
#sysctl -p /etc/sysctl.conf

6,重启或者重新加载libvirt:
#service libvirtd reload

7、查看我们配置的bridge设备是否可以使用:
#brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.842b2b5e6199       no              eth0
virbr0          8000.000000000000       yes
#从上面的输出可以看到我们的bridge已经可以使用了,在建立虚拟机时就可以使用了( --network bridge:br0,如果你是用virt-manager来创建虚拟机的话,在选择网络那里的时候可以看到br0 -- eth0)。这里提出一点,virbr0是没有对应的设备的,它就是default virtual network(NAT),不要人为的给他绑定接口(interface,如eth*)
__EOF__


你可能感兴趣的:(kvm网络配置)