KVM虛擬化技術(shù)之virt-manager使用及KVM虛擬化平臺(tái)網(wǎng)絡(luò)模型介紹
一.使用virt-manager創(chuàng)建和管理虛擬機(jī)
1.使用VNC Viewer連接進(jìn)入虛擬化平臺(tái)主機(jī)
2.打開終端輸入virt-manager命令啟動(dòng)virt-manager虛擬機(jī)管理界面
#virt-manager
3.通過virt-manager安裝CentOS 6.6的虛擬機(jī)
點(diǎn)擊如圖所示圖標(biāo)新建虛擬機(jī):
選擇PXE引導(dǎo),我的網(wǎng)絡(luò)內(nèi)存在一個(gè)系統(tǒng)自動(dòng)化部署服務(wù)器:
選擇操作系統(tǒng)類型和版本:
設(shè)置內(nèi)存和CPU個(gè)數(shù):
設(shè)置硬盤大小,這里采用動(dòng)態(tài)擴(kuò)展磁盤空間方式:
忽略這個(gè)錯(cuò)誤,由于是虛擬磁盤,不用擔(dān)心空間,只需要保證系統(tǒng)空間不會(huì)超過物理磁盤實(shí)際空間:
勾選選項(xiàng)是可以查看配置在安裝前:
我們可以在這個(gè)界面進(jìn)行設(shè)置,我這里就不設(shè)置了,直接點(diǎn)擊Begin Installation:
我們選擇安裝個(gè)基本的系統(tǒng):
進(jìn)入安裝了:
可以觀察安裝時(shí)Virt-manager界面的情況:
可以知曉虛擬機(jī)正在運(yùn)行,可以查看CPU的使用情況:
安裝完成后如圖;
關(guān)閉虛擬機(jī),在虛擬機(jī)輸入關(guān)機(jī)指令即可將虛擬機(jī)關(guān)閉;
基于virt-manager創(chuàng)建管理虛擬機(jī)就完成了,很簡單的。
下面的實(shí)驗(yàn)我們還是使用cirros輕量級(jí)的linux系統(tǒng)。
二.KVM虛擬化平臺(tái)的網(wǎng)絡(luò)模型
1.網(wǎng)絡(luò)模型介紹
一般虛擬機(jī)虛擬網(wǎng)絡(luò)的設(shè)置主要包括三種方式。主要如下:
NAT模式
也有人稱此種模式為host模式。在這種模式下虛擬機(jī)可以理解成沒有自己的獨(dú)立網(wǎng)卡。所有訪問虛擬機(jī)的請(qǐng)求其實(shí)是直接發(fā)送給宿主機(jī),然后通過訪問宿主機(jī)轉(zhuǎn)發(fā)到虛擬機(jī)上的。相應(yīng)的虛擬機(jī)訪問其他網(wǎng)絡(luò),也是先轉(zhuǎn)發(fā)到宿主機(jī)然后在轉(zhuǎn)發(fā)出去。對(duì)于宿主機(jī)之外的網(wǎng)絡(luò),是不知道該虛擬機(jī)存在的。
Bridge模式
橋接模式是使用比較多的模式,它是虛擬機(jī)擁有自己的獨(dú)立網(wǎng)卡和IP,然后通過借用宿主機(jī)的網(wǎng)卡對(duì)外連接網(wǎng)絡(luò)。它把宿主機(jī)的網(wǎng)卡當(dāng)作了一種橋,通過這個(gè)橋連接外網(wǎng)的世界。在這種模式下,可以簡單的理解成虛擬機(jī)和宿主機(jī)是兩個(gè)不同的機(jī)器,有獨(dú)立IP可以相互訪問。對(duì)于虛擬機(jī)的IP獲取,一般可以直接指定也可以通過DHCP獲取得到。
Internal模式(host-only)
這個(gè)是把虛擬機(jī)之間的網(wǎng)絡(luò)和主機(jī)的網(wǎng)絡(luò)隔離開來。虛擬機(jī)是一片網(wǎng)絡(luò),主機(jī)也是一片網(wǎng)絡(luò),彼此之間不能相互訪問。
橋接模型我們前面使用的很多例子,我這里就不做介紹了,我重點(diǎn)介紹一下host-only模型和NAT模型。
2.host-only模式實(shí)例
1).我們創(chuàng)建一個(gè)host-only的橋設(shè)備,將虛擬機(jī)之間的網(wǎng)絡(luò)和KVM虛擬化平臺(tái)宿主機(jī)隔離開來;
# brctl addbr isolationbr
查看橋設(shè)備:
# brctl show bridge name bridge id STP enabled interfaces br0 8000.000c293e6326 yes eth0 isolationbr 8000.000000000000 no virbr0 8000.525400305441 yes virbr0-nic
但是這個(gè)橋設(shè)備是未激活的,我們需要使用ip命令激活橋設(shè)備:
# ip link set isolationbr up
激活后查看我們的橋設(shè)備:
# ip link show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen1000 link/ether 00:0c:29:3e:63:26 brd ff:ff:ff:ff:ff:ff 3: br0:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN link/ether 00:0c:29:3e:63:26 brd ff:ff:ff:ff:ff:ff 4: virbr0:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN link/ether 52:54:00:30:54:41 brd ff:ff:ff:ff:ff:ff 5: virbr0-nic: <BROADCAST,MULTICAST>mtu 1500 qdisc noop state DOWN qlen 500 link/ether 52:54:00:30:54:41 brd ff:ff:ff:ff:ff:ff 16: isolationbr:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN link/ether 6e:5e:8d:39:56:b5 brd ff:ff:ff:ff:ff:ff 17: vnet1:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWNqlen 500 link/ether 3a:ce:49:1d:f4:a3 brd ff:ff:ff:ff:ff:ff 18: vnet2:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWNqlen 500 link/ether 62:fc:96:5c:1f:7d brd ff:ff:ff:ff:ff:ff
2).啟動(dòng)兩個(gè)虛擬機(jī):
第一臺(tái)cirros虛擬機(jī):
# qemu-kvm -m 128 -name cirros1 -drive file=/kvm/images/cirros-0.3.0-x86_64-disk.img,media=disk,format=qcow2,if=ide -net nic -net tap,ifname=vnet1,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown -boot c -daemonize
啟動(dòng)后從vncviewer登錄如圖:
第二臺(tái)cirros虛擬機(jī),啟動(dòng)時(shí)需要指定mac地址;
# qemu-kvm -m 128 -name cirros2 -drive file=/kvm/images/cirros-0.3.0-x86_64-disk2.img,media=disk,format=qcow2,if=ide -net nic,macaddr=52:54:00:65:43:21 -net tap,ifname=vnet2,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown -boot c -daemonize
啟動(dòng)后從vncviewer登錄如圖:
查看兩臺(tái)虛擬機(jī)的ip地址:
使用ping測(cè)試兩臺(tái)虛擬機(jī)的連通性:
現(xiàn)在是連通的哦!
我們啟動(dòng)兩臺(tái)虛擬機(jī)后我們的vnet1和vnet2網(wǎng)卡是橋接在br0上的;
# brctl show bridge name bridge id STP enabled interfaces br0 8000.000c293e6326 yes eth0 vnet1 vnet2 isolationbr 8000.000000000000 no virbr0 8000.525400305441 yes virbr0-nic
3).我們現(xiàn)在將vnet1和vnet2橋接到isolationbr上:
先將vnet1和vnet2從橋接設(shè)備br0上移除:
# brctl delif br0 vnet1 # brctl delif br0 vnet2
現(xiàn)在查看橋接設(shè)備的網(wǎng)卡,兩個(gè)虛擬機(jī)的網(wǎng)卡未橋接在橋接設(shè)備br0上了:
# brctl show bridge name bridge id STP enabled interfaces br0 8000.000c293e6326 yes eth0 isolationbr 8000.000000000000 no virbr0 8000.525400305441 yes virbr0-nic
我們?cè)偃膳_(tái)虛擬機(jī)進(jìn)行ping連通性測(cè)試:
現(xiàn)在虛擬機(jī)的連通性是不通的。
下面我們將vnet1和vnet2的網(wǎng)卡橋接到我們剛創(chuàng)建的橋接設(shè)備isolationbr上:
# brctl addif isolationbr vnet1 # brctl addif isolationbr vnet2
去查看橋接設(shè)備的網(wǎng)卡關(guān)聯(lián):
# brctl show bridge name bridge id STP enabled interfaces br0 8000.000c293e6326 yes eth0 isolationbr 8000.3ace491df4a3 no vnet1 vnet2 virbr0 8000.525400305441 yes virbr0-nic
我們虛擬機(jī)的兩個(gè)網(wǎng)卡已經(jīng)關(guān)聯(lián)到了isolationbr橋設(shè)備上;
我們?cè)偃ヌ摂M機(jī)上測(cè)試連通性:
現(xiàn)在兩臺(tái)虛擬機(jī)之間是在同一個(gè)網(wǎng)絡(luò)的,可以實(shí)現(xiàn)通信,但是跟宿主機(jī)之間是隔離的,我們虛擬機(jī)與宿主機(jī)之間的聯(lián)通性是不能連通的。如果我們需要實(shí)現(xiàn)虛擬機(jī)與宿主機(jī)之間的通信,那么我們就需要開啟NAT模型,下面就介紹NAT模型。
3.NAT模型實(shí)例
其實(shí)就是配置host-only網(wǎng)絡(luò)內(nèi)的主機(jī)同外部主機(jī)通信實(shí)驗(yàn),開啟橋設(shè)備的NAT功能。
1).我們虛擬機(jī)的地址是經(jīng)過網(wǎng)絡(luò)內(nèi)的DHCP服務(wù)器分配的,我們?yōu)榱藢?shí)驗(yàn)來手動(dòng)設(shè)置兩臺(tái)虛擬機(jī)的地址和橋接設(shè)備isolationbr的地址
兩臺(tái)虛擬機(jī)的ip設(shè)置如圖:
橋設(shè)備isolationbr的ip設(shè)置如圖:
[root@createOS ~]# ifconfig isolationbr 10.0.0.254/8 up [root@createOS ~]# ifconfig isolationbr isolationbr Link encap:Ethernet HWaddr 3A:CE:49:1D:F4:A3 inet addr:10.0.0.254 Bcast:10.255.255.255 Mask:255.0.0.0 inet6 addr: fe80::6c5e:8dff:fe39:56b5/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1 errors:0 dropped:0overruns:0 frame:0 TX packets:6 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:28 (28.0 b) TX bytes:468(468.0 b)
設(shè)置完成后測(cè)試虛擬機(jī)之間網(wǎng)絡(luò)連通性:
我們將虛擬機(jī)的網(wǎng)關(guān)指向isolationbr橋設(shè)備地址即可與宿主機(jī)進(jìn)行連通:
2).我們還是不能與物理網(wǎng)絡(luò)中的真實(shí)網(wǎng)關(guān)172.16.0.1通信,我們需要將宿主機(jī)的路由轉(zhuǎn)發(fā)功能打開:
# sysctl -w net.ipv4.ip_forward=1 net.ipv4.ip_forward = 1
我們先來通過虛擬機(jī)ping一下網(wǎng)關(guān),如圖:
在進(jìn)行ping連通性測(cè)試的時(shí)候我們?cè)僭谒拗鳈C(jī)上打開抓包功能查看數(shù)據(jù)包:
# tcpdump -i eth0 icmp -nn tcpdump: WARNING: eth0: no IPv4 addressassigned tcpdump: verbose output suppressed, use -vor -vv for full protocol decode listening on eth0, link-type EN10MB(Ethernet), capture size 65535 bytes 10:24:52.377558 IP 10.0.0.2 >172.16.0.1: ICMP echo request, id 1793, seq 0, length 64 10:24:53.384063 IP 10.0.0.2 >172.16.0.1: ICMP echo request, id 1793, seq 1, length 64
數(shù)據(jù)報(bào)文能夠到達(dá)網(wǎng)關(guān)設(shè)備,但是數(shù)據(jù)包不能回來了。
我們需要開啟宿主機(jī)的路由功能,設(shè)置防火墻中的nat模式:
# iptables -t nat -A POSTROUTING -s 10.0.0.0/8 ! -d 10.0.0.0/8 -j MASQUERADE # iptables -t nat -L POSTROUTING Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE tcp -- 192.168.122.0/24 !192.168.122.0/24 masq ports: 1024-65535 MASQUERADE udp -- 192.168.122.0/24 !192.168.122.0/24 masq ports: 1024-65535 MASQUERADE all -- 192.168.122.0/24 !192.168.122.0/24 MASQUERADE all -- 10.0.0.0/8 !10.0.0.0/8
開始從虛擬機(jī)ping測(cè)試到達(dá)真實(shí)網(wǎng)關(guān)的連通性:
同時(shí)開始抓包,我們?cè)谒拗鳈C(jī)eth0和橋接設(shè)備isolationbr上都要抓包:
橋接設(shè)備isolationbr的抓包:
# tcpdump -i isolationbr -nn tcpdump: verbose output suppressed, use -vor -vv for full protocol decode listening on isolationbr, link-type EN10MB(Ethernet), capture size 65535 bytes 10:35:35.391069 IP 10.0.0.2 >172.16.0.1: ICMP echo request, id 2305, seq 0, length 64 10:35:35.393619 ARP, Request who-has10.0.0.2 tell 10.0.0.254, length 28 10:35:35.395095 ARP, Reply 10.0.0.2 is-at52:54:00:65:43:21, length 28 10:35:35.395137 IP 172.16.0.1 >10.0.0.2: ICMP echo reply, id 2305, seq 0, length 64 10:35:36.394760 IP 10.0.0.2 >172.16.0.1: ICMP echo request, id 2305, seq 1, length 64 10:35:36.395943 IP 172.16.0.1 >10.0.0.2: ICMP echo reply, id 2305, seq 1, length 64 10:35:41.426182 ARP, Request who-has10.0.0.254 tell 10.0.0.2, length 28 10:35:41.427695 ARP, Reply 10.0.0.254 is-at3a:ce:49:1d:f4:a3, length 28
可以發(fā)現(xiàn)虛擬機(jī)的請(qǐng)求到達(dá)了網(wǎng)關(guān),網(wǎng)關(guān)也回復(fù)了;這里的地址轉(zhuǎn)換未顯示,但是可以猜測(cè)是通過nat地址轉(zhuǎn)換eth0將虛擬機(jī)的請(qǐng)求發(fā)送給網(wǎng)關(guān)。
宿主機(jī)的eth0抓包:
# tcpdump -i eth0 icmp -nn tcpdump: WARNING: eth0: no IPv4 addressassigned tcpdump: verbose output suppressed, use -vor -vv for full protocol decode listening on eth0, link-type EN10MB(Ethernet), capture size 65535 bytes 10:35:35.392027 IP 172.16.31.7 >172.16.0.1: ICMP echo request, id 2305, seq 0, length 64 10:35:35.393361 IP 172.16.0.1 >172.16.31.7: ICMP echo reply, id 2305, seq 0, length 64 10:35:36.395052 IP 172.16.31.7 >172.16.0.1: ICMP echo request, id 2305, seq 1, length 64 10:35:36.395860 IP 172.16.0.1 >172.16.31.7: ICMP echo reply, id 2305, seq 1, length 64
宿主機(jī)的eth0通過nat功能將虛擬機(jī)的請(qǐng)求轉(zhuǎn)換成本機(jī)地址向網(wǎng)關(guān)請(qǐng)求回復(fù)了;
3).上述的步驟可以通過腳本自動(dòng)化實(shí)現(xiàn)哦!
安裝dnsmasq軟件給虛擬機(jī)提供DHCP服務(wù)自動(dòng)分配IP地址:
# yum install -y dnsmasq
注意:由于我們的KVM平臺(tái)存在一個(gè)vibrd0的網(wǎng)卡,它自動(dòng)啟動(dòng)了dnsmasq服務(wù),我們?cè)谑褂肗AT模型時(shí)如果不是使用的這個(gè)網(wǎng)卡,我們就需要將其dnsmasq服務(wù)關(guān)閉。
# ps -ef | grep "dnsmasq" |grep-v "grep"
nobody 6378 1 0 11:49 ? 00:00:00 /usr/sbin/dnsmasq--strict-order --pid-file=/var/run/libvirt/network/default.pid --conf-file=--except-interface lo --bind-interfaces --listen-address 192.168.122.1--dhcp-range 192.168.122.2,192.168.122.254--dhcp-leasefile=/var/lib/libvirt/dnsmasq/default.leases --dhcp-lease-max=253--dhcp-no-override --dhcp-hostsfile=/var/lib/libvirt/dnsmasq/default.hostsfile--addn-hosts=/var/lib/libvirt/dnsmasq/default.addnhosts
關(guān)閉dnsmasq服務(wù):
#kill 6378
nat模型腳本示例:
開啟nat功能的腳本;
#vim /etc/qemu-natup #!/bin/bash BRIDGE=isolationbr NETWORK=10.0.0.0 GATEWAY=10.0.0.254 NETMASK=255.0.0.0 DHCPRANGE=10.0.0.1,10.0.0.100 TFTPROOT= BOOTP= function check_bridge() { if brctl show | grep "^BRIDGE"&> /dev/null;then return 1 else return 0 fi } function create_bridge() { brctl addbr "BRIDGE" brctl stp "BRIDGE" on brctl setfd "BRIDGE" 0 ifconfig "$BRIDGE""GATEWAY" netmask "$NETMASK" up } function enable_ip_forward() { echo 1 > /proc/sys/net/ipv4/ip_forward } function add_filter_rules() { iptables -t nat -A POSTROUTING -s"$NETWORK"/"$NETMASK" ! -d"$NETWORK"/"$NETMASK" -j MASQUERADE } function start_dnsmasq() { ps -ef | grep "dnsmasq" |grep -v"grep" &> /dev/null if [ $? -eq 0 ];then echo "warning:dnsmasq is already running" return 1 fi dnsmasq --strict-order--except-interface=lo --interface=$BRIDGE --listen-address=$GATEWAY--bind-interfaces --dhcp-range=$DHCPRANGE --conf-file=""--pid-file=/var/run/qemu-dhcp-$BRIDGE.pid --dhcp-leasefile=/var/run/qemu-dhcp-$BRIDGE.leases--dhcp-no-override ${TFTPROOT:+"--enable-tftp"}${TFTPROOT:+"--tftp-root=$TFTPROOT"}${BOOTP:+"--dhcp-boot=$BOOTP"} } function setup_bridge_nat() { check_bridge "$BRIDGE" if [ $? -eq 0 ];then create_bridge fi enable_ip_forward add_filter_rules "$BRIDGE" start_dnsmasq "$BRIDGE" } if [ -n "$1" ];then setup_bridge_nat ifconfig "$1" 0.0.0.0 up brctl addif "$BRIDGE""$1" exit 0 else echo "Error:no interfacespecified" exit 1 fi
關(guān)閉nat功能及從橋設(shè)備移除虛擬網(wǎng)卡腳本:
#vim /etc/qemu-natdown #!/bin/bash BRIDGE="isolotionbr" if [ -n "$1" ];then ip link set $1 down brctl delif "$BRIDGE" $1 ip link set "$BRIDGE" down brctl delbr "$BRIDGE" iptables -t nat -F exit 0 else echo "Error: no interface specified" exit 1 fi
設(shè)置腳本執(zhí)行權(quán)限:
# chmod +x /etc/qemu-natup # chmod +x /etc/qemu-natdown
啟動(dòng)第一臺(tái)虛擬機(jī):
# qemu-kvm -m 128 -name cirros1 -drive file=/kvm/images/cirros-0.3.0-x86_64-disk.img,media=disk,format=qcow2,if=ide -net nic -net tap,ifname=vnet1,script=/etc/qemu-natup,downscript=/etc/qemu-natdown -boot c -daemonize
我們?nèi)ゲ榭磀nsmasq服務(wù)啟動(dòng)與否:
# ps -ef | grep "dnsmasq" |grep-v "grep" nobody 38355 1 0 11:49 ? 00:00:00 dnsmasq --strict-order--except-interface=lo --interface=isolationbr --listen-address=10.0.0.254--bind-interfaces --dhcp-range=10.0.0.1,10.0.0.100 --conf-file=--pid-file=/var/run/qemu-dhcp-isolationbr.pid--dhcp-leasefile=/var/run/qemu-dhcp-isolationbr.leases --dhcp-no-override
查看宿主機(jī)上的網(wǎng)卡設(shè)備:
# ifconfig |grep -Ei"(vnet1|vnet2)" vnet1 Link encap:Ethernet HWaddr16:85:A7:5C:84:9D vnet2 Link encap:Ethernet HWaddrE6:81:C9:31:4F:78
啟動(dòng)虛擬機(jī)后在vncserver上連接到虛擬機(jī)界面操作,我們進(jìn)行查看IP地址,可以發(fā)現(xiàn)我們的dnsmasq已經(jīng)自動(dòng)分配IP地址給虛擬機(jī)了。
查看一下宿主機(jī)的防火墻中的NAT規(guī)則:
#iptables -t nat -L POSTROUTING Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all -- 10.0.0.0/8 !10.0.0.0/8
嘿嘿,我把防火墻NAT規(guī)則都給清空了,所以這里就只有一條規(guī)則了。o(∩_∩)o
在虛擬機(jī)上進(jìn)行網(wǎng)絡(luò)連通性測(cè)試:
在測(cè)試的同時(shí)開啟抓包哦!
橋接設(shè)備網(wǎng)卡的數(shù)據(jù)報(bào)文如下:
# tcpdump -i isolationbr -nn tcpdump: verbose output suppressed, use -vor -vv for full protocol decode listening on isolationbr, link-type EN10MB(Ethernet), capture size 65535 bytes 12:05:14.655667 IP 10.0.0.83 >172.16.0.1: ICMP echo request, id 257, seq 0, length 64 12:05:14.658466 IP 172.16.0.1 >10.0.0.83: ICMP echo reply, id 257, seq 0, length 64 12:05:15.657273 IP 10.0.0.83 >172.16.0.1: ICMP echo request, id 257, seq 1, length 64 12:05:15.658252 IP 172.16.0.1 >10.0.0.83: ICMP echo reply, id 257, seq 1, length 64 12:05:19.659800 ARP, Request who-has10.0.0.83 tell 10.0.0.254, length 28 12:05:19.661522 ARP, Request who-has10.0.0.254 tell 10.0.0.83, length 28 12:05:19.661569 ARP, Reply 10.0.0.254 is-at16:85:a7:5c:84:9d, length 28 12:05:19.662053 ARP, Reply 10.0.0.83 is-at52:54:00:88:88:88, length 28 12:05:47.759101 ARP, Request who-has10.0.0.47 tell 10.0.0.83, length 28 12:05:47.760926 ARP, Reply 10.0.0.47 is-at52:54:00:12:34:56, length 28 12:05:47.761579 IP 10.0.0.83 >10.0.0.47: ICMP echo request, id 513, seq 0, length 64 12:05:47.765075 IP 10.0.0.47 >10.0.0.83: ICMP echo reply, id 513, seq 0, length 64 12:05:48.759703 IP 10.0.0.83 >10.0.0.47: ICMP echo request, id 513, seq 1, length 64 12:05:48.760848 IP 10.0.0.47 >10.0.0.83: ICMP echo reply, id 513, seq 1, length 64 12:05:52.775287 ARP, Request who-has10.0.0.83 tell 10.0.0.47, length 28 12:05:52.776601 ARP, Reply 10.0.0.83 is-at52:54:00:88:88:88, length 28 12:05:59.376454 IP 10.0.0.83 >172.16.31.7: ICMP echo request, id 769, seq 0, length 64 12:05:59.376548 IP 172.16.31.7 >10.0.0.83: ICMP echo reply, id 769, seq 0, length 64 12:06:00.482899 IP 10.0.0.83 >172.16.31.7: ICMP echo request, id 769, seq 1, length 64 12:06:00.483035 IP 172.16.31.7 >10.0.0.83: ICMP echo reply, id 769, seq 1, length 64 12:06:04.376987 ARP, Request who-has10.0.0.83 tell 10.0.0.254, length 28 12:06:04.378153 ARP, Reply 10.0.0.83 is-at52:54:00:88:88:88, length 28
物理網(wǎng)卡的數(shù)據(jù)報(bào)文如下:
# tcpdump -i eth0 icmp -nn tcpdump: WARNING: eth0: no IPv4 addressassigned tcpdump: verbose output suppressed, use -vor -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet),capture size 65535 bytes 12:05:14.657680 IP 172.16.31.7 >172.16.0.1: ICMP echo request, id 257, seq 0, length 64 12:05:14.658427 IP 172.16.0.1 >172.16.31.7: ICMP echo reply, id 257, seq 0, length 64 12:05:15.657329 IP 172.16.31.7 >172.16.0.1: ICMP echo request, id 257, seq 1, length 64 12:05:15.658215 IP 172.16.0.1 >172.16.31.7: ICMP echo reply, id 257, seq 1, length 64
至此,我們的KVM虛擬化平臺(tái)的網(wǎng)絡(luò)模型就介紹完成了,這些模型對(duì)以后的云計(jì)算平臺(tái)網(wǎng)絡(luò)的虛擬化也是很重要的。
- centos 6.6 安裝 KVM 虛擬機(jī)的方法
- KVM虛擬化技術(shù)之使用Qemu-kvm創(chuàng)建和管理虛擬機(jī)的方法
- KVM虛擬機(jī)的創(chuàng)建、管理與遷移介紹
- KVM虛擬機(jī)技術(shù)學(xué)習(xí)總結(jié)
- 詳細(xì)介紹kvm虛擬機(jī)靜態(tài)和動(dòng)態(tài)遷移(圖文介紹)
- Linux KVM的QCOW2 和 ROW的詳解及區(qū)別介紹
- kvm安裝和刪除虛擬機(jī)的方法
- ubuntu kylin虛擬機(jī)中安裝KVM
- kvm虛擬機(jī)的創(chuàng)建與克隆操作方法
- kvm中使用console命令記錄的方法
相關(guān)文章
K8S?prometheus?operator監(jiān)控工作原理介紹
這篇文章主要為大家介紹了K8S?prometheus?operator監(jiān)控工作原理介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11Rainbond配置組件自動(dòng)構(gòu)建部署官方文檔講解
這篇文章主要為大家介紹了Rainbond配置組件自動(dòng)構(gòu)建部署官方文檔講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04k8s?Service?實(shí)現(xiàn)服務(wù)發(fā)現(xiàn)和負(fù)載均衡
這篇文章主要為大家介紹了k8s?Service?實(shí)現(xiàn)服務(wù)發(fā)現(xiàn)和負(fù)載均衡的工作原理及使用方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04IoT邊緣集群Kubernetes?Events告警通知實(shí)現(xiàn)示例
這篇文章主要為大家介紹了IoT邊緣集群Kubernetes?Events告警通知實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02Kubernetes(k8s?1.23))安裝與卸載詳細(xì)教程
這篇文章主要介紹了Kubernetes(k8s?1.23))安裝與卸載,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07理解k8s控制器DaemonSet創(chuàng)建及使用場景
這篇文章主要為大家介紹了k8s控制器DaemonSet創(chuàng)建及使用場景詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09在K8S中實(shí)現(xiàn)會(huì)話保持的兩種方案
這篇文章主要介紹了在K8S中實(shí)現(xiàn)會(huì)話保持的兩種方案,每種方案結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03