在搭建了虛擬化平臺後,虛擬機想要上網的話有多種方式;
1、將主機的網卡通過直接分配的方式直接分配給網卡,這樣虛擬機便可以直接佔有物理網卡的使用權,這種方式下的性能特別好,但是這樣主機的Dom 0便不可以使用該網卡了,所以不是很推薦這種方式;
2、SR-IOV方式,創建多個VF,然後將VF分配給虛擬機使用,這樣性能好,而且可以滿足多個虛擬機使用需求,但是畢竟對硬件有特殊需求,對於一些非商業網卡而言,可能有些不支持SR-IOV;
3、搭建網橋,這種方式是通過vNIC的方式,將虛擬機的網口添加到了網橋的一端,然後網橋的另一端是一個可以上網的物理網口。這種方式適合軟件方式實現的虛擬化模型,即全虛擬化和半虛擬化虛擬機,但是性能相比於上面兩種方式會差一些。
下面以CentOS6.4下搭建的Xen虛擬化平臺來介紹網橋的搭建過程
在裝完Xen以後,如果主機中有網橋的依賴包的話,會自動生成網橋eth0或者virbr0.。這兩個bridge-utils和tunctl是所需的依賴包,如果沒有安裝的話也是可能不會生成網橋的。安裝完依賴包後重啓Xend服務便可以發現網橋了。該網橋是Xen自帶的,將各個物理網口都自動加了進來,只要在虛擬機的配置文件項中將該網橋加入vif中即可。
如果沒有Xenj或者不想使用Xen自帶的網橋便可以自己配置網橋。配置方式有兩種:
1、使用命令行配置,重啓後失效;
2、使用網絡配置文件,重啓生效。
一。通過命令行配置網橋的方式
1、確保安裝了bridge-utils和tunctl,沒有安裝的yum search一下:
yum install bridge-utils.noarch
yum install tunctl.x86_64
2、查看是否存在邏輯(虛擬)網橋接口 brctl show
如果已經存在可以用brctl delbr +網橋名 刪除
3、增加一個新的邏輯(虛擬)網橋接口br0
brctl addbr br0
4、把可以上網的物理網口加入網橋中(例如eth0,具體根據實際情況決定)
brctl addif br0 eth0
5、將eth0設置成混雜模式
ifconfig eth0 0
6、配置網橋IP並啓動
ifconfig br0 192.168.1.193 up
7、配置網關路由
route add default gw 192.168.1.1
8、將虛擬機的配置文件中vif一欄配置使用網橋br0即可
二、通過修改網絡配置文件配置網橋的方式
1、確保安裝了bridge-utils和tunctl,沒有安裝的yum search一下:
yum install bridge-utils.noarch
yum install tunctl.x86_64
2、關閉網絡管理,並設置開機啓動
chkconfig NetworkManager off
chkconfig –levels 35 network on
/etc/init.d/NetworkManager stop
/etc/init.d/network restart
3、修改網橋br0的配置文件
vi /etc/sysconfig/network-scripts/ifcfg-br0
內容修改如下
DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
DNS =202.114.0.242 //這些依據具體情況設定
GATEWAY=192.168.1.1
IPADDR=192.168.1.193
NETMASK=255.255.255.0
ONBOOT=yes
4、修改物理網口eth0的網絡配置文件
vi /etc/sysconfig/network-scripts/ifcfg-eth0 (不同的系統可能網口命名規則不一樣,具體依據實際情況)
修改如下
DEVICE=eth0
HWADDR=00:1e:90:f3:f0:02 //原有的,不變
ONBOOT=yes
TYPE=Ethernet
IPV6INIT=no
USERCTL=no
BRIDGE=br0 //添加部分
5、重啓網絡管理或者直接重啓機器
/etc/init.d/network restart
或者reboot
這樣再使用虛擬機時,就可以通過給虛擬機配IP、網關、DNS後網上了!
就這樣了o(︶︿︶)o