技術(shù)員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機(jī)純凈版,64位旗艦版,綠色軟件,免費(fèi)軟件下載基地!

當(dāng)前位置:主頁 > 教程 > 服務(wù)器類 >

Linux系統(tǒng)云計(jì)算的KVM/QEMU橋接網(wǎng)絡(luò)設(shè)置及kvm資料

來源:技術(shù)員聯(lián)盟┆發(fā)布時間:2018-12-24 06:19┆點(diǎn)擊:

  KVM/QEMU橋接網(wǎng)絡(luò)設(shè)置

  配置kvm的網(wǎng)絡(luò)有2種方法。其一,默認(rèn)方式為用戶模式網(wǎng)絡(luò)(Usermode Networking),數(shù)據(jù)包由NAT方式通過主機(jī)的接口進(jìn)行傳送。其二,使用橋接方式(Bridged Networking),外部的機(jī)器可以直接聯(lián)通到虛擬機(jī),就像聯(lián)通到你的主機(jī)一樣。

  第一,用戶模式

  虛擬機(jī)可以使用網(wǎng)絡(luò)服務(wù),但局域網(wǎng)中其他機(jī)器包括宿主機(jī)無法連接它。比如,它可以瀏覽網(wǎng)頁,但外部機(jī)器不能訪問架設(shè)在它里面的web服務(wù)器。

  默認(rèn)的,虛擬機(jī)得到的ip空間為10.0.2.0/24,主機(jī)ip為10.0.2.2供虛擬機(jī)訪問??梢詓sh到主機(jī)(10.0.2.2),用scp來拷貝文件。

  第二,橋接模式

  這種模式允許虛擬機(jī)就像一臺獨(dú)立的主機(jī)一樣擁有網(wǎng)絡(luò)。這種模式需要網(wǎng)卡支持,一般的有線網(wǎng)卡都支持,絕大部分的無線網(wǎng)卡都不支持

  A) 在主機(jī)上創(chuàng)建一個網(wǎng)絡(luò)橋

  1)安裝bridge-utils

  sudo apt-get install bridge-utils

  2)改變網(wǎng)絡(luò)設(shè)置,先停止網(wǎng)絡(luò)

  sudo invoke-rc.d networking stop

  如果是用遠(yuǎn)程連接進(jìn)行設(shè)置,設(shè)置完后,重啟網(wǎng)絡(luò)sudo invoke-rc.d networking restart,如果中途有一步錯誤,將不能連接

  3)修改/etc/network/interfaces,直接用下面的替換。

  a) 靜態(tài)ip模式

  auto lo

  iface lo inet loopback

  auto eth0

  iface eth0 inet manual

  auto br0

  iface br0 inet static

  address 192.168.0.10

  network 192.168.0.0

  netmask 255.255.255.0

  broadcast 192.168.0.255

  gateway 192.168.0.1

  bridge_ports eth0

  bridge_stp off

  bridge_fd 0

  bridge_maxwait 0

  b) DHCP模式

  auto lo

  iface lo inet loopback

  auto eth0

  iface eth0 inet manual

  auto br0

  iface br0 inet dhcp

  bridge_ports eth0

  bridge_stp off

  bridge_fd 0

  bridge_maxwait 0

  4)重啟網(wǎng)絡(luò)

  sudo /etc/init.d/networking restart

  B) 隨機(jī)生成一個KVM的MAC地址

  MACADDR="52:54:$(dd if=http://www.3lian.com/dev/urandom count=1 2>/dev/null | md5sum | sed 's/^/(../)/(../)/(../)/(../).*$//1:/2:/3:/4/')"; echo $MACADDR

  可以指定一個mac地址,但要注意,第一個字節(jié)必須為偶數(shù),如00,52等,不能為奇數(shù)(01),否則會有不可預(yù)料的問題。因?yàn)槠鏀?shù)保留為多播使用。如,KVM可以接收ARP包并回復(fù),但這些回復(fù)會使其他機(jī)器迷惑。這是以太網(wǎng)的規(guī)則,而非KVM的問題。

  如直接將網(wǎng)卡地址設(shè)置為MACADDR="32:32:32:32:32:32"

  C) 將以前安裝的虛擬機(jī)網(wǎng)絡(luò)改為橋接方式或者安裝新的虛擬機(jī)使用橋接網(wǎng)絡(luò)

  一個腳本文件

  #start kvm.winxp

  USERID=`whoami`

  MACADDR="32:32:32:32:32:32"

  model=e1000e

  iface=`sudo tunctl -b -u $USERID`

  kvm -net nic,vlan=0,macaddr=$MACADDR -net tap,vlan=0,ifname=$iface $@

  sudo tunctl -d $iface

  #end kvm.winxp

  使用iso文件安裝winxp,運(yùn)行如下命令:

  sudo ./kvm.bridge -m 512 -hda winxp.img -cdrom /home/software/zh-hans_windows_xp_professional_with_service_pack_3_x86_cd_vl_x14-74070.iso -boot d

  運(yùn)行安裝完的虛擬機(jī),運(yùn)行如下命令:

  sudo ./kvm.bridge -m 512 -hda winxp.img -boot c

  ===================================================================================

  linux中Kvm橋接網(wǎng)絡(luò)成功的關(guān)鍵

  KVM在LINUX中的重要作用,速度等,我不再評價,我只能說,快!

  但是,如果你要在一個服務(wù)器中使用多個虛擬機(jī),并且想讓這些虛擬機(jī)提供服務(wù),那么,橋接網(wǎng)絡(luò)是必不可少的,可是,網(wǎng)上流傳的三四個版本中,關(guān)于橋接網(wǎng)絡(luò)的,你試一下,會發(fā)現(xiàn),很難成功,這是何道理?看起來他們似乎都配置成功了,也有可能是軟件版本的問題,總之,你親自嘗試的時候,會發(fā)現(xiàn),這其實(shí)很難實(shí)現(xiàn)。

  當(dāng)然,如果無法實(shí)現(xiàn)的話,也就沒有此文了!

  先說一下我的軟件配置:

  Linux 2.6.28-11-server #42-Ubuntu SMP X86_64位Ubuntu服務(wù)器版9.04

  KVM內(nèi)核是自帶的。

  真實(shí)網(wǎng)絡(luò)接口名稱:eth0

  KVM的安裝方法我就不寫了,網(wǎng)上有一大堆,注意,KVM有兩個部分,一個部分是內(nèi)核部分,這在9.04中是自帶的,您要安裝的KVM是管理部分(我也不知道這樣理解是否正確,總之,你要安裝KVM及QEMU)

  不安裝QEMU也可以用,因?yàn)镵VM帶一個修改版本的QEMU

  成功的關(guān)鍵是配置網(wǎng)絡(luò)及路由(這個在網(wǎng)上流傳的版本中沒有提到)

  請生成一個文件(qemu-ifup),將這個文件加上可執(zhí)行屬性,文件內(nèi)容如下:

  #!/bin/sh

  set -x

  switch=br0

  if [ -n "$1" ];then

  /usr/bin/sudo /usr/sbin/tunctl -u `whoami` -t $1

  /usr/bin/sudo /sbin/ip link set $1 up

  sleep 0.5s

  /usr/bin/sudo /usr/sbin/brctl addif $switch $1

  exit 0

  else

  echo "Error: no interface specified"

  exit 1

  fi

  將這個文件保存在你的HOME目錄下,或者其它的目錄也行。

  修改你的/etc/network/interfaces文件如下:

  # This file describes the network interfaces available on your system

  # and how to activate them. For more information, see interfaces(5).

  # The loopback network interface

  auto lo

  iface lo inet loopback

  auto br0

  iface br0 inet static

  bridge_ports eth0 //注意這個eth0,這是你的計(jì)算機(jī)的實(shí)際網(wǎng)卡,請根據(jù)你的網(wǎng)絡(luò)修改,也可能跟我的這個一樣。

  address 192.168.1.242 //根據(jù)你的需要設(shè)置從這里到下面的參數(shù),這個網(wǎng)絡(luò)跟你的實(shí)現(xiàn)網(wǎng)絡(luò)在一個子網(wǎng)內(nèi),不然無法橋接

  netmask 255.255.255.0

  network 192.168.1.0

  broadcast 192.168.1.255

  gateway 192.168.1.1

  dns-nameserver 192.168.1.1 219.141.136.10

  dns-search Office

  此時,重新啟動計(jì)算機(jī)即可。