溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何使用Bridge和Nat方式配置KVM虛擬機(jī)的網(wǎng)絡(luò)

發(fā)布時(shí)間:2021-12-07 14:40:34 來源:億速云 閱讀:306 作者:小新 欄目:云計(jì)算

這篇文章主要介紹了如何使用Bridge和Nat方式配置KVM虛擬機(jī)的網(wǎng)絡(luò),具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

使用libvirt配置KVM虛擬機(jī)的網(wǎng)絡(luò),分別使用bridge和nat方式。

操作系統(tǒng)配置:centos7,libvirt-1.1.1,qemu-1.5.3

1.bridged(橋接模式)
在bridged模式下,虛擬出來的操作系統(tǒng)就像是局域網(wǎng)中的一臺(tái)獨(dú)立的主機(jī),它可以訪問網(wǎng)內(nèi)任何一臺(tái)機(jī)器。同時(shí),由于這個(gè)虛擬系統(tǒng)是局域網(wǎng)中的一個(gè)獨(dú)立的主機(jī)系統(tǒng),那么就可以手工配置它的TCP/IP配置信息,以實(shí)現(xiàn)通過局域網(wǎng)的網(wǎng)關(guān)或路由器訪問互聯(lián)網(wǎng)。使用bridged模式的虛擬系統(tǒng)和宿主機(jī)器的關(guān)系,就像連接在同一個(gè)Hub上的兩臺(tái)電腦。想讓它們相互通訊,你就需要為虛擬系統(tǒng)配置IP地址和子網(wǎng)掩碼,否則就無法通信(參考dhcp服務(wù)器是否開啟,如果開啟,則可以選擇dhcp方式自動(dòng)獲取網(wǎng)絡(luò)地址)。這種方式最簡(jiǎn)單,直接將虛擬網(wǎng)卡橋接到一個(gè)物理網(wǎng)卡上面,和linux下一個(gè)網(wǎng)卡綁定兩個(gè)不同地址類似,實(shí)際上是將網(wǎng)卡設(shè)置為混雜模式,從而達(dá)到偵聽多個(gè)IP的能力。在此種模式下,虛擬機(jī)內(nèi)部的網(wǎng)卡(例如linux下的eth0)直接連到了物理網(wǎng)卡所在的網(wǎng)絡(luò)上,可以想象為虛擬機(jī)和host機(jī)處于對(duì)等的地位,在網(wǎng)絡(luò)關(guān)系上是平等的,沒有誰(shuí)在誰(shuí)后面的問題。使用這種方式很簡(jiǎn)單,前提是你可以得到1個(gè)以上的地址。
用KVM配置Bridge方式:
首先需要確定你的host主機(jī)上用的網(wǎng)絡(luò)連接方式為橋接方式,我的機(jī)器上的用的是一個(gè)叫br0的網(wǎng)橋。創(chuàng)建網(wǎng)橋的方式也很簡(jiǎn)單,以我的系統(tǒng)為例,網(wǎng)卡一個(gè)eno16777736,在目錄/etc/sysconfig/network-scripts/下創(chuàng)建文件ifcfg-br0,然后修改文件ifcfg-eno16777736為:

BOOTPROTO=none
DEVICE=eno16777736
HWADDR=00:0c:29:09:0d:3d
NM_CONTROLLED=no
ONBOOT=yes
BRIDGE=br0

修改文件ifcfg-br0的內(nèi)容為:

BOOTPROTO=static
DEVICE=br0
TYPE=Bridge
NM_CONTROLLED=no
IPADDR=192.168.7.183
NETMASK=255.255.255.0
GATEWAY=192.168.7.254

當(dāng)然IP地址什么的要設(shè)置成自己所在的網(wǎng)段內(nèi),此處設(shè)置成靜態(tài)的了,若有dhcp服務(wù)器(自家路由器),也可以設(shè)置成動(dòng)態(tài)的,然后重啟網(wǎng)絡(luò)就可以了,如果重啟不成功的話,試試生效了沒有,沒有生效的話,重啟下系統(tǒng),自然生效。

然后就該為guest虛擬機(jī)配置網(wǎng)橋網(wǎng)絡(luò)了:

在虛擬機(jī)的XML配置文件中device下添加interface標(biāo)簽即可,標(biāo)簽如下:

<interface type='bridge'>
  <mac address='52:54:00:84:e9:e1'/>
  <source bridge='br0'/>
  <model type='rtl8139'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>

當(dāng)然也可以先定義一下這個(gè)網(wǎng)絡(luò),然后在添加到虛擬機(jī)的XML文件中,給它起名為br0.xml,這個(gè)文件中可以寫一些網(wǎng)絡(luò)的詳細(xì)配置參數(shù),大致的形式如下:

<network>
  <name>br0</name>
  <uuid>fb48b969-b9f4-e859-d957-50aedd850fb4</uuid>
  <forward  mode='bridge'>
    <bridge name ='br0'/>
  </forward>
</network>

然后用libvirt來定義并開啟這個(gè)網(wǎng)絡(luò),配置文件中的interface標(biāo)簽當(dāng)然還是不能少,用上面的就好,名字正好一致了:
virsh net-define br0.xml
virsh net-start br0
然后就可已啟動(dòng)客戶機(jī),檢查網(wǎng)絡(luò)連接了。


2.NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換模式)
使用NAT模式,就是讓虛擬系統(tǒng)借助NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)功能,通過宿主機(jī)器所在的網(wǎng)絡(luò)來訪問公網(wǎng)。也就是說,使用NAT模式可以實(shí)現(xiàn)在虛擬系統(tǒng)里訪問互聯(lián)網(wǎng)。很顯然,如果你只有一個(gè)外網(wǎng)地址,此種方式很合適。
KVM虛擬機(jī)Nat方式上網(wǎng):
virsh net-list
查看當(dāng)前活躍的網(wǎng)絡(luò),可以看到一個(gè)default網(wǎng)絡(luò),這個(gè)就是一個(gè)默認(rèn)的Nat網(wǎng)絡(luò)了。
virsh net-dumpxml default
可以查看該網(wǎng)絡(luò)的詳細(xì)配置如下:

<network>
  <name>default</name>
  <uuid>75dbebde-fc15-4350-8a06-f1432f9e6d30</uuid>
  <forward mode='nat'>
    <nat>
      <port start='1024' end='65535'/>
    </nat>
  </forward>
  <bridge name='virbr0' stp='on' delay='0' />
  <mac address='52:54:00:bc:f2:65'/>
  <ip address='192.168.122.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.122.2' end='192.168.122.254' />
    </dhcp>
  </ip>
</network>

可以看到該網(wǎng)絡(luò)搭建在一個(gè)網(wǎng)橋virbr0上,這個(gè)網(wǎng)橋在安裝并啟動(dòng)libvirt的時(shí)候自動(dòng)生成。然后在客戶機(jī)的XML配置文件中添加標(biāo)簽interface內(nèi)容如下:

<interface type='network'>
   <mac address='52:54:00:c7:18:b5'/>
   <source network='default'/>
   <model type='virtio'/>
   <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>

則可以讓客戶機(jī)用nat方式來上網(wǎng)了,經(jīng)驗(yàn)證,客戶機(jī)可以獲取到122網(wǎng)段,2到254之間的一個(gè)ip地址。
我們可以直接編輯修改default網(wǎng)絡(luò)的配置:
virsh net-edit default
也可以直接將default網(wǎng)絡(luò)干掉,然后再重新定義:
virsh net-undefine default 
重新創(chuàng)建一個(gè)default.xml文件,自定義其中的內(nèi)容,可以指定某個(gè)mac地址對(duì)應(yīng)某個(gè)ip,指定某個(gè)ip段。例如下面的內(nèi)容,name對(duì)應(yīng)的是客戶機(jī)的名字。

<network>
  <name>default</name>
  <uuid>dc69ff61-6445-4376-b940-8714a3922bf7</uuid>
  <forward mode='nat'/>
  <bridge name='virbr0' stp='on' delay='0' />
  <mac address='52:54:00:81:14:18'/>
  <ip address='192.168.122.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.122.2' end='192.168.122.254' />
      <host mac='00:25:90:eb:4b:bb' name='guest1' ip='192.168.5.13' />
      <host mac='00:25:90:eb:34:2c' name='guest2' ip='192.168.7.206' />
      <host mac='00:25:90:eb:e5:de' name='guest3' ip='192.168.7.207' />
      <host mac='00:25:90:eb:7e:11' name='guest4' ip='192.168.7.208' />
      <host mac='00:25:90:eb:b2:11' name='guest5' ip='192.168.7.209' />
    </dhcp>
  </ip>
</network>

然后用命令:
virsh net-define default.xml
virsh net-start default

啟用一個(gè)客戶機(jī),檢查網(wǎng)絡(luò)時(shí)候可用。


感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“如何使用Bridge和Nat方式配置KVM虛擬機(jī)的網(wǎng)絡(luò)”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI