kvm初體驗之五:vm連接網絡的兩種方式:bridge和nat


1. 在安裝vm時指定網絡連接方式

1bridge

virt-install --name vm1 --ram=1024 --vcpus=1 --disk path=/vm-images/vm1,size=2 --cdrom /root/iso/CentOS-6.6-x86_64-minimal.iso --network bridge:br0

2nat

virt-install --name vm1 --ram=1024 --vcpus=1 --disk path=/vm-images/vm1,size=2 --cdrom /root/iso/CentOS-6.6-x86_64-minimal.iso --network network:default

若沒有指定—network參數,默認為bridge方式


2. 在安裝vm之后修改網絡連接方式

修改vm網絡連接方式之前先將vm關機,修改完成之后啟動vm即可生效。

1)通過圖形界面修改

virt-manager打開vm的管理頁面,如下圖所示

nat:選擇”Source device”Virtual network 'default': NAT

bridge: 選擇”Source device”Host device eth0 (Bridge 'br0')

2)通過命令行修改

virsh edit vm1修改vm1的配置文件(vm的配置文件以xml形式存在,如vm1.xml

<interface>選項用來指定vm的網絡連接方式

nat:

<interface type='network'>

<mac address='52:54:00:eb:d7:7d'/>

<source network='default'/>

<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>

</interface>

bridge:

<interface type='bridge'>

<mac address='52:54:00:eb:d7:7d'/>

<source bridge='br0'/>

<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>

</interface>


3. 新增virtual network

1)通過圖形界面添加

virt-manager打開vm管理界面,選擇Edit->Connection Details,在彈出的localhost Connection Details窗口的Virtual Networks選項卡中顯示了當前已經存在virtual network。在host中安裝了libvirt之后,會默認創建虛擬網絡接口virbr0,它的forwarding方式為nat

現在我們創建一個虛擬網絡nat1forwarding方式為nat

選擇上圖左框中的“+”

Forward

Forwad

Forwad

Forwad

Forwad

Finish.

Localhost Connection Details窗口中顯示出了新增的nat1網絡的信息。

vm1的虛擬網絡接口選為剛剛創建的nat1

vm1先關機后啟動

由下圖可以看到,vm1獲取到了nat1網絡所配地址段中的地址。

 

 

2)通過命令行添加

 

參考:http://wiki.libvirt.org/page/Networking

virsh下的net-xxx命令用來管理虛擬網絡

[root@tanghuimin thm]# virsh

Welcome to virsh, the virtualization interactive terminal.

 

Type: 'help' for help with commands

'quit' to quit

 

virsh # net-

net-autostart net-define net-dumpxml net-info net-name net-undefine net-uuid

net-create net-destroy net-edit net-list net-start net-update


net-list –all列出當前已經存在的virtual network

virsh # net-list --all

Name State Autostart Persistent

--------------------------------------------------

default active yes yes

nat1 active yes yes


virtual network的配置文件同樣是以xml的形式存在,如nat1.xml

[root@tanghuimin thm]# find / -name "nat1.xml"

/etc/libvirt/qemu/networks/nat1.xml

/etc/libvirt/qemu/networks/autostart/nat1.xml

/var/lib/libvirt/network/nat1.xml


default網絡的配置為模板創建虛擬網絡nat2的配置文件

[root@tanghuimin thm]# virsh net-dumpxml default > /etc/libvirt/qemu/networks/nat2.xml


修改nat2.xml中參數使與已存在的虛擬網絡不重合。

<network>

<name>nat2</name>

<uuid>d8d274ff-fe1f-4e88-94f9-222c1ae11c69</uuid>

<forward mode='nat'/>

<bridge name='virbr2' stp='on' delay='0' />

<mac address='52:54:00:25:90:C2'/>

<ip address='192.168.101.1' netmask='255.255.255.0'>

<dhcp>

<range start='192.168.101.2' end='192.168.101.254' />

</dhcp>

</ip>

</network>


net-definexml文件定義虛擬網絡

virsh # net-list --all

Name State Autostart Persistent

--------------------------------------------------

default active yes yes

nat1 active yes yes

virsh # net-define /etc/libvirt/qemu/networks/nat2.xml

Network nat2 defined from /etc/libvirt/qemu/networks/nat2.xml

virsh # net-list --all

Name State Autostart Persistent

--------------------------------------------------

default active yes yes

nat1 active yes yes

nat2 inactive no yes


nat2設為自啟動,並啟動nat2

virsh # net-autostart nat2

Network nat2 marked as autostarted

 

virsh # net-start nat2

Network nat2 started

 

virsh # net-list --all

Name State Autostart Persistent

--------------------------------------------------

default active yes yes

nat1 active yes yes

nat2 active yes yes


vm1的虛擬網絡接口選為剛剛創建的nat2

virsh edit vm1


......

......

<interface type='network'>

<mac address='52:54:00:eb:d7:7d'/>

<source network='nat2'/>

<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>

</interface>

......

......

vm1先關機后啟動

由下圖可以看到,vm1獲取到了nat2網絡所配地址段中的地址。

[root@localhost ~]# ifconfig

eth0 Link encap:Ethernet HWaddr 52:54:00:EB:D7:7D

inet addr:192.168.101.21 Bcast:192.168.101.255 Mask:255.255.255.0

inet6 addr: fe80::5054:ff:feeb:d77d/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:12 errors:0 dropped:0 overruns:0 frame:0

TX packets:16 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:1198 (1.1 KiB) TX bytes:2178 (2.1 KiB)

Interrupt:11 Base address:0x8000

 

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING MTU:65536 Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

 

[root@localhost ~]# ping 192.168.1.1

PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.

64 bytes from 192.168.1.1: icmp_seq=1 ttl=63 time=5.53 ms

#

--- 192.168.1.1 ping statistics ---

1 packets transmitted, 1 received, 0% packet loss, time 926ms

rtt min/avg/max/mdev = 5.531/5.531/5.531/0.000 ms

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM