Fedora 14中的虚拟化网络详解
<p>Fedoara 14和RHEL 6[kvm]中为虚拟化提供了3种配置支持,</p><p>1. Network Address Translation </p>
<p>2. 直接分配物理设备 </p>
<p>3. 共享物理设备[Bridge]</p>
<p>其中NAT是默认开启的,如果要想外网能访问虚拟机多使用直接分配物理设备或者桥接网络。</p>
<p><strong>NAT:</strong></p>
<p>几乎所有标准的libvirt都支持NAT作为虚拟网络[default virtual network],virsh net-list --all 可以查看</p>
<p># virsh net-list --all</p>
<p>Name State Autostart</p>
<p>-----------------------------------------</p>
<p>default active yes</p>
<p>如果相应的xml配置文件丢失,可以从模板中提取:</p>
<p># virsh net-define /usr/share/libvirt/networks/default.xml</p>
<p>然后将虚拟网络标识为自动启动:</p>
<p># virsh net-autostart default</p>
<p># virsh net-start default</p>
<p>查看桥接情况,virbr0 通过NAT和IP转发与实体网络连通,不添加其它接口。</p>
<p># brctl show</p>
<p>bridge name bridge id STP enabled interfaces</p>
<p>virbr0 8000.000000000000 yes</p>
<p>一般情况下libvirt会自动添加一些规则到iptables,并尝试打开ip_forward功能,但其它应用程序可能会禁止ip_forward,所以最好在/etc/sysctl.conf中添加一项:</p>
<p>net.ipv4.ip_forward = 1</p>
<p><strong>Briged:</strong></p>
<p>一般用于多网卡机器上,NetworkManager不支持桥接,所以需要关闭NetworkManager服务,或者在网络设备的配置文件中添加一选项'NM_CONTROLLED=no'参数</p>
<p># vim /etc/sysconfig/network-scripts/ifcft-eth0</p>
<p>DEVICE=eth0</p>
<p>HWADDR=00:16:76:D6:C9:45</p>
<p>ONBOOT=yes</p>
<p>BRIDGE=br0</p>
<p>添加br0配置</p>
<p>DEVICE=br0</p>
<p>ONBOOT=yes</p>
<p>TYPE=Bridge</p>
<p>BOOTPROTO=dhcp</p>
<p>DELAY=0</p>
<p>重启网络服务</p>
<p>service network restart</p>
<p>brctl查看</p>
<p># brctl show</p>
<p>bridge name bridge id STP enabled interfaces</p>
<p>br0 8000.f0def1341ae6 no eth0</p>
<p>virbr0 8000.000000000000 yes</p>
<p>配置iptables,允许桥接网络的流量转发[用到physdev模块]</p>
<p># iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT</p>
<p>配置以下内核参数也可以实现:</p>
<p>net.bridge.bridge-nf-call-ip6tables = 0</p>
<p>net.bridge.bridge-nf-call-iptables = 0</p>
<p>net.bridge.bridge-nf-call-arptables = 0</p>
頁:
[1]