一、实验说明
本次实验系统版本为CentOS7.3,host主机IP地址为172.16.10.10/24,在该主机之上采用桥接模式创建一台KVM虚拟机,IP地址为172.16.10.100/24,桥接模式下网络的实现原理后文中有详细描述,网络拓扑如下图所示:
二、操作步骤
- 安装图形界面和字体
[root@node1 ~]# yum install dejavu-sans-fonts.noarch
[root@node1 ~]# yum groupinstall "X Window System" - 确认CPU是否支持虚拟化,KVM模块是否加载
[root@node1 ~]# grep vmx /proc/cpuinfo
[root@bogon ~]# lsmod | grep kvm
[root@bogon ~]# ll /dev/kvm - 安装并启动服务
[root@node1 ~]# yum install libvirt virt-manager virt-viewer qemu-kvm
[root@node1 ~]# systemctl start libvirtd.service - 创建桥接模式(要先关闭NetworkManager)
[root@node1 ~]# systemctl stop NetworkManager
[root@node1 ~]# systemctl disable NetworkManager
[root@node1 ~]# virsh iface-bridge ens32 br0 --no-stp
[root@node1 network-scripts]# cat ifcfg-br0DEVICE="br0" ONBOOT="yes" TYPE="Bridge" BOOTPROTO="none" IPADDR="172.16.10.10" NETMASK="255.255.255.0" GATEWAY="172.16.10.1" STP="off"
[root@node1 network-scripts]# cat ifcfg-ens32
DEVICE=ens32 ONBOOT=yes BRIDGE="br0"
- 启动图形界面创建虚拟机
[root@node1 ~]# virt-manager
如果虚拟机鼠标键盘无法使用需要将Display改为VNC并添加一个Input设备,至此,操作完成
三、虚拟机的网络模式
虚拟机的网络分为以下几种模式:
1.虚拟机间通信
每个vm的vNIC都在hypervisor上有一个对应的Tap设备,它与vNIC是成对出现,当选择网络模式是vm间通信时,此时是将需要通信的vm的Tap设备都连接到了同一个虚拟交换机设备上。
2.仅主机通信
仅主机通信是指vm可以与host之间进行通信,他的实现方式是为host创建了一个虚拟网卡(workstation上表现为vmnet1之类)并于虚拟交换机进行连接
3.NAT模式
所谓NAT模式就是在仅主机通信模式上将host主机的虚拟网卡与物理网卡相关联,并且启用内核间转发功能,将vm的网关指向host的虚拟网卡,此时vm与外界通信时就通过SNAT的方式完成
开启dncp功能后每一个vm都会获取到一个IP地址但又不会和host主机冲突,他的实现方式是在host主机上启动启动了一个dhcp服务进程,将vm划分成一个个独立的网络名称空间,不同的空间之间相互隔离
4.桥接模式
桥接模式是将host的物理网卡当成一个交换机,并且为host创建出一个桥设备,该设备的tpye类型为bridge,拥有原host的IP和mac地址,vm的虚拟网卡直接关联到交换机上,交换机工作在混杂模式(二层通信是基于mac地址进行,如果交换机不工作在混杂模式,则不会接收非自己mac地址外的信息,vm就无法和外界PC通信),之所以桥设备与原host拥有相同的mac地址原因是通过这样,在二层广播时方便判断哪些时发送给自己的
转载于:https://blog.51cto.com/arkling/2127934