Centos7 安装 KVM ,Bridge模式 ,Nat模式

目录

一、环境准备

1、确认系统是否支持虚拟化确认

2、安装Centos7图形化界面

3、安装VNC_Server

4、安装VNC_Client

5、上传测试镜像

二、安装KVM

三、使用上传的镜像创建虚拟机

四、配置KVM创建虚拟机的上网方式

1、桥接(Bridge)方式

A:配置前网卡信息

B:开始配置网桥(Bridge)

C:添加网卡(Bridge)

D:通讯测试

E:Bridge模式网络拓扑图

2、默认(Nat)方式

A、添加网卡(Nat)

B、通讯测试

C:KVM与宿主机同局域网的其它主机通讯

D:Nat模式网络拓扑图

五、遇到的坑点


一、环境准备

1、确认系统是否支持虚拟化确认

grep -E -o 'vmx|baisvm' /proc/cpuinfo

说明:

VMX代表Intel的虚拟化技术Intel-VT,也说明你的服务器CPU是英特尔的。SVM代表AMD的虚拟化技术AMD-V

2、安装Centos7图形化界面

yum groupinstall "GNOME Desktop" "Graphical Administration Tools"
ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target
reboot

3、安装VNC_Server

#安装服务端
yum -y install vnc *vnc-server*
#修改配置文件
vim /etc/sysconfig/vncservers
#文件最下面添加以下内容,添加后保存退出
VNCSERVERS="1:root"
#为VNC设置密码
vncpasswd
#启动VNC服务端
vncserver

4、安装VNC_Client

点击这里下载

下载安装完后,参考以下方式登录

说明:

如果VNC客户端连接不上,确认VNC服务端正常启动的情况下,需要检查下服务器的防火墙情况,确认服务器中防火墙关闭或者开启的情况下放通了默认的5901端口

5、上传测试镜像

这里使用的镜像如下

二、安装KVM

说明:

安装前关闭iptables或firewalld、关闭SELinux、如果其它安全软件也关闭。

#安装 kvm 工具
yum -y install qemu-kvm python-virtinst libvirt libvirt-python virt-manager libguestfs-tools bridge-utils virt-install
#开启KVM
systemctl start libvirtd.service
#设置开机自启动
systemctl enable libvirtd.service

三、使用上传的镜像创建虚拟机

图形化安装,这里不再赘述

安装完成,并可以成功登录

四、配置KVM创建虚拟机的上网方式

1、桥接(Bridge)方式

A:配置前网卡信息

配置前最原始的网卡(enp0s25)配置文件内容如下:

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s25
UUID=b24bc5b6-137c-4f6a-98a3-00c4d742dcf4
DEVICE=enp0s25
ONBOOT=no

配置前的网卡如下:

ip a

配置前的流量走向,可以看到流量走的是enp0s25的这块网卡

 

B:开始配置网桥(Bridge)

将网卡enp0s25的内容替换为以下内容:

vim /etc/sysconfig/network-scripts/ifcfg-enp0s25
BOOTPROTO=none
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
DEVICE=enp0s25
NAME=enp0s25
BRIDGE=br0

 新建网桥br0并写入如下内容:

vim /etc/sysconfig/network-scripts/ifcfg-br0
BOOTPROTO=static
DEVICE=br0
TYPE=Bridge
IPADDR=192.168.2.108
NETMASK=255.255.255.0
GATEWAY=192.168.2.1
ONBOOT=yes
NM_CONTROLLED=no
DNS=114.114.114.114

 重启网卡:

systemctl restart network

再看下网卡配置

 看下路由

route -n

 可以看到流量走网桥(br0)了

 

C:添加网卡(Bridge)

如果写一个不存在的网桥名称启动虚拟机会报错。

删除错误的网卡后,启动虚拟机,查看网卡信息。

可以看到虚拟机内部网络没有问题,也可以访问公网。但是绝大部分情况下,我们是需要虚拟机与虚拟机之间通过“内网”通讯的,所以我们需要知道每个虚拟机的IP地址(动态IP不便于管理),虚拟机创建后默认的IP地址获取方式是DHCP的,那么需要我们给每个虚拟机配置一个静态IP,问题来了,静态IP怎么确认呢?

1、我们使用的是网桥(Bridge)的方式

2、宿主机的网络如下(192.168.2.108/24)

我们在地址池内选择一个IP地址给新创建的虚拟机配置下(如:192.168.2.120)

vi /etc/sysconfig/network-scripts/ifcfg-ens3
#配置静态IP前虚拟机网卡内容
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0
UUID=2133e472-4ebb-4c1e-9231-e54f083f0a52
DEVICE=eth0
ONBOOT=no

 替换成下面的静态IP内容,并重启网卡

BOOTPROTO=static
DEVICE=ens3
TYPE=Ethernet
IPADDR=192.168.2.120
NETMASK=255.255.255.0
GATEWAY=192.168.2.1
ONBOOT=yes
NM_CONTROLLED=no
DNS=114.114.114.114
systemctl restart network

重新看下IP地址 ,可以看到从之前的192.168.2.108/24更改为了192.168.2.120/24,并且这个正常上网。

使用同样的方式创建另一个虚拟机KVM2,创建后可以使用以下命令查看KVM1和KVM2 与 网桥br0之间的关系

brctl show

D:通讯测试

到这里,我们实现了:

虚拟机与宿主机之间、虚拟机与虚拟机之间、虚拟机与同一个局域网下的其它主机与虚拟机之间的内网通信,如下。

E:Bridge模式网络拓扑图

另外,我们通过TP-Link提供的网络拓扑图来看,上面的Windows机器,Centos宿主机,KVM1、KVM2都是在一个网络环境下,所以其互相之间内网通讯也是正常的。

 

2、默认(Nat)方式

NAT(Network Address Translation网络地址翻译),NAT方式是kvm安装后的默认方式。它支持主机与虚拟机的互访,同时也支持虚拟机访问互联网,但不支持外界访问虚拟机。

A、添加网卡(Nat)

看下使用Nat的方式创建的KVM1与KVM2的网卡情况

brctl show

说明:

virbr0是由宿主机虚拟机支持模块安装时产生的虚拟网络接口,也是一个switch和bridge,负责把内容分发到各虚拟机。

B、通讯测试

C:KVM与宿主机同局域网的其它主机通讯

问题:

通过Nat网络形式创建KVM,KVM1可以与KVM2通讯,宿主机也可以和KVM1/2通讯,但是由于不在同一个网段,宿主机创建的KVM是无法与宿主机同网段内的其它机器“内网”通讯的,如果需要KVM和宿主机所在网段的其它机器通讯,参考以下方式

1、开启宿主机的内核的IP转发功能

#立即生效
echo "1" > /proc/sys/net/ipv4/ip_forward

#开启转发,net.ipv4.ip_forward = 0 #0为关闭,1为开启
vim  /etc/sysctl.conf

#生效
sysctl -p 

2、配置宿主机的iptables 端口转发功能,实现局域网的其它主机登录到宿主机创建的KVM中

iptables -t nat -A PREROUTING -p tcp --dport 25689 -j DNAT --to-destination 192.168.122.135:22

iptables -t nat -A POSTROUTING -p tcp --dport 25689 -d 192.168.122.135 -j SNAT --to 192.168.122.1

3、登录测试,KVM1在局域网的其它主机中成功登录(iptables转发没有问题)

D:Nat模式网络拓扑图

五、遇到的坑点

1、Bridge模式中虚拟机KVM设置的静态IP无法上网

2、Nat模式中宿主机开启了iptables端口转发功能后,宿主机端口无法成功转到虚拟机KVM1的端口。

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值