?
目錄
??虛擬機(jī)的網(wǎng)絡(luò)模式
??網(wǎng)絡(luò)配置文件
??virsh查看命令
??基于NAT的虛擬網(wǎng)絡(luò)
??基于網(wǎng)橋的虛擬網(wǎng)絡(luò)
??基于隔離的虛擬網(wǎng)絡(luò)
??????博客主頁:大蝦好吃嗎的博客
? ? ??專欄地址:KVM虛擬化專欄
虛擬機(jī)的網(wǎng)絡(luò)模式
基于NAT(Network Address Translation)的虛擬網(wǎng)絡(luò)
基于網(wǎng)橋(Bridge)的虛擬網(wǎng)絡(luò)
用戶自定義的隔離的虛擬網(wǎng)絡(luò)
直接分配網(wǎng)絡(luò)設(shè)備(包括VT-d和SR-IOV)
網(wǎng)絡(luò)配置文件
下面是默認(rèn)網(wǎng)絡(luò)配置文件,地址是122網(wǎng)段,默認(rèn)的網(wǎng)絡(luò)為NAT模式。
[root@kvmserver ~]# cat /etc/libvirt/qemu/networks/default.xml
<!--
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
virsh net-edit default
or other application using the libvirt API.
-->
?
<network>
<name>default</name>
<uuid>d01fdb52-9f49-4e03-a2d4-fd6382f11396</uuid>
<forward mode='nat'/>
<bridge name='virbr0' stp='on' delay='0'/>
<mac address='52:54:00:fb:02:fe'/>
<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>
virsh查看命令
[root@kvmserver ~]# virsh net-list
Name ? ? ? ? ? ? ? ? State ? ? Autostart ? ? Persistent
----------------------------------------------------------
default ? ? ? ? ? ? active ? ? yes ? ? ? ? ? yes
?
[root@kvmserver ~]# virsh net-info default
Name: ? ? ? ? ? default
UUID: ? ? ? ? ? d01fdb52-9f49-4e03-a2d4-fd6382f11396
Active: ? ? ? ? yes
Persistent: ? ? yes
Autostart: ? ? yes
Bridge: ? ? ? ? virbr0
?
[root@kvmserver ~]# virsh net-dumpxml default
<network connections='2'>
<name>default</name>
<uuid>d01fdb52-9f49-4e03-a2d4-fd6382f11396</uuid>
<forward mode='nat'>
? <nat>
? ? <port start='1024' end='65535'/>
? </nat>
</forward>
<bridge name='virbr0' stp='on' delay='0'/>
<mac address='52:54:00:fb:02:fe'/>
<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>
基于NAT的虛擬網(wǎng)絡(luò)
默認(rèn)宿主機(jī)會(huì)有一個(gè)虛擬網(wǎng)卡virbr0,其實(shí)是一個(gè)虛擬交換機(jī),默認(rèn)模式就不在詳細(xì)介紹了。
[root@kvmserver ~]# ifconfig virbr0
virbr0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
? ? ? inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
? ? ? ether 52:54:00:fb:02:fe txqueuelen 1000 (Ethernet)
? ? ? RX packets 0 bytes 0 (0.0 B)
? ? ? RX errors 0 dropped 0 overruns 0 frame 0
? ? ? TX packets 0 bytes 0 (0.0 B)
? ? ? TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
基于網(wǎng)橋的虛擬網(wǎng)絡(luò)
首先需要?jiǎng)?chuàng)建虛擬交換機(jī),可以使用virt-manager來創(chuàng)建,也可以修改網(wǎng)絡(luò)配置文件。
[root@kvmserver ~]# cd /etc/sysconfig/network-scripts/
[root@kvmserver network-scripts]# cp ifcfg-ens33 ifcfg-br10
[root@kvmserver network-scripts]# vim ifcfg-br10
DEVICE=br10
TYPE=Bridge
BOOTPROTO=static
NAME=br10
ONBOOT=yes
IPADDR=192.168.8.100
GATEWAY=192.168.8.2
DNS1=8.8.8.8
[root@kvmserver network-scripts]# vim ifcfg-ens33
TYPE=Ethernet
NAME=ens33
DEVICE=ens33
ONBOOT=yes
BRIDGE=br10
[root@kvmserver network-scripts]# systemctl restart network
查看br10是否配置成功。
[root@kvmserver ~]# ip a show br10
11: br10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
? link/ether 00:0c:29:bb:33:e4 brd ff:ff:ff:ff:ff:ff
? inet 192.168.8.100/24 brd 192.168.8.255 scope global noprefixroute br10
? ? ? valid_lft forever preferred_lft forever
? inet6 fe80::20c:29ff:febb:33e4/64 scope link
? ? ? valid_lft forever preferred_lft forever
創(chuàng)建虛擬機(jī)測試,首先創(chuàng)建dp1池。
[root@kvmserver ~]# virsh pool-define-as dp1 dir --target /dir
Pool dp1 defined
?
[root@kvmserver ~]# virsh pool-start dp1
Pool dp1 started
?
[root@kvmserver ~]# virsh pool-autostart dp1
Pool dp1 marked as autostarted
?
[root@kvmserver ~]# virsh pool-list --all
Name ? ? ? ? ? ? ? ? State ? ? Autostart
-------------------------------------------
dirpool ? ? ? ? ? ? active ? ? yes ? ? ?
dp1 ? ? ? ? ? ? ? ? active ? ? yes ? ? ?
img ? ? ? ? ? ? ? ? active ? ? yes ? ? ?
iso ? ? ? ? ? ? ? ? active ? ? yes ? ? ?
nfspool ? ? ? ? ? ? active ? ? yes ? ? ?
test ? ? ? ? ? ? ? ? active ? ? yes ? ? ?
vgpool ? ? ? ? ? ? ? active ? ? yes
創(chuàng)建在dp1池創(chuàng)建磁盤文件,名稱為vol1.qcow2。
[root@kvmserver ~]# virsh vol-create-as dp1 vol1.qcow2 8G --format qcow2
Vol vol1.qcow2 created
?
[root@kvmserver ~]# virsh vol-list dp1
Name ? ? ? ? ? ? ? ? Path ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
------------------------------------------------------------------------------
vol1.qcow2 ? ? ? ? ? /dir/vol1.qcow2
安裝虛擬機(jī)測試網(wǎng)絡(luò),橋接模式的網(wǎng)絡(luò)應(yīng)是可以訪問外網(wǎng),而外網(wǎng)也可以訪問虛擬機(jī)。這里要記得不是一定要重新安裝,可以使用attach-interface命令給已有虛擬機(jī)添加網(wǎng)絡(luò)。
[root@kvmserver ~]# virt-install -n vm001 -r 1024 --vcpus 1 -l /kvm/iso/centos.iso --disk /dir/vol1.qcow2 -w bridge=br10 --nographics -x "console=ttyS0"
經(jīng)過安裝等待,我們來到了用戶登錄界面,輸入root用戶加密碼,進(jìn)入終端。
CentOS Linux 7 (Core)
Kernel 3.10.0-1160.el7.x86_64 on an x86_64
localhost login: root
Password:
直接使用dhcp獲取地址,來測試網(wǎng)絡(luò)
[root@localhost ~]# dhclient
[root@localhost ~]# ip a show ens3
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 52:54:00:14:8f:0b brd ff:ff:ff:ff:ff:ff
inet 192.168.8.131/24 brd 192.168.8.255 scope global dynamic ens3
valid_lft 1670sec preferred_lft 1670sec
[root@localhost ~]# ping www.baidu.com -c 4
PING www.a.shifen.com (182.61.200.7) 56(84) bytes of data.
64 bytes from 182.61.200.7 (182.61.200.7): icmp_seq=1 ttl=128 time=34.7 ms
64 bytes from 182.61.200.7 (182.61.200.7): icmp_seq=2 ttl=128 time=45.0 ms
64 bytes from 182.61.200.7 (182.61.200.7): icmp_seq=3 ttl=128 time=75.7 ms
64 bytes from 182.61.200.7 (182.61.200.7): icmp_seq=4 ttl=128 time=81.2 ms
--- www.a.shifen.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3027ms
rtt min/avg/max/mdev = 34.754/59.204/81.264/19.735 ms
打開windows終端,ping虛擬機(jī)成功的話,雙向通信完成。未成功則檢查網(wǎng)絡(luò)信息。
?
基于隔離的虛擬網(wǎng)絡(luò)
查看虛擬機(jī)網(wǎng)絡(luò)配置文件都有哪些
[root@kvmserver ~]# cd /etc/libvirt/qemu/networks/
[root@kvmserver networks]# ls
autostart default.xml
創(chuàng)建一個(gè)用戶定義的隔離網(wǎng)絡(luò)配置文件
[root@kvmserver networks]# vim dir.xml
<network>
<name>dir</name>
<uuid>7b0b9f14-ff50-4f8f-ac0f-9adcc4714441</uuid>
<bridge name='virbr1' stp='on' delay='0'/>
<mac address='52:54:00:65:0e:f9'/>
<domain name='dir'/>
<ip address='192.168.100.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.100.128' end='192.168.100.254'/>
</dhcp>
</ip>
</network>
把網(wǎng)絡(luò)加入域并查看
[root@kvmserver networks]# virsh net-define dir.xml
Network dir defined from dir.xml
?
[root@kvmserver networks]# virsh net-start dir
Network dir started
?
[root@kvmserver networks]# virsh net-autostart dir
Network dir marked as autostarted
?
[root@kvmserver networks]# virsh net-list --all
Name ? ? ? ? ? ? ? ? State ? ? Autostart ? ? Persistent
----------------------------------------------------------
default ? ? ? ? ? ? active ? ? yes ? ? ? ? ? yes
dir ? ? ? ? ? ? ? ? active ? ? yes ? ? ? ? ? yes
在dp1池中創(chuàng)建磁盤文件
[root@kvmserver networks]# virsh vol-create-as dp1 vol2.qcow2 8G --format qcow2
Vol vol2.qcow2 created
?
[root@kvmserver networks]# virsh vol-list dp1
Name ? ? ? ? ? ? ? ? Path ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
------------------------------------------------------------------------------
vol1.qcow2 ? ? ? ? ? /dir/vol1.qcow2 ? ? ? ? ? ? ? ? ? ? ? ?
vol2.qcow2 ? ? ? ? ? /dir/vol2.qcow2
創(chuàng)建虛擬機(jī),在創(chuàng)建好的磁盤文件中創(chuàng)建vm002虛擬機(jī),網(wǎng)絡(luò)狀態(tài)指定dir(dir是上面配置的配置文件dir.xml)等待配置測試即可。文章來源:http://www.zghlxwxcb.cn/news/detail-462988.html
[root@kvmserver networks]# virt-install -n vm002 -r 1024 --vcpus 1 -l /kvm/iso/centos.iso --disk /dir/vol2.qcow2 -w network=dir --nographics -x "console=ttyS0"
測試結(jié)果應(yīng)為完全獨(dú)立的網(wǎng)絡(luò),上不了外網(wǎng),而外網(wǎng)也無法訪問內(nèi)網(wǎng)。文章來源地址http://www.zghlxwxcb.cn/news/detail-462988.html
到了這里,關(guān)于【KVM虛擬化】· KVM中的網(wǎng)絡(luò)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!