kvm虚拟机在网络配置有两种方式: NAT方式与Bridge方式。Nat方式的配置原理和步骤,nat方式适用于桌面主机的虚拟化

实操所用软件: VMware Workstation Pro ,CentOS-7-x86_64-DVD-1804 SecureCRTPortable.exe

实操目的:学会如何配置KVM的nat网络与bridge(桥接)

Nat方式原理:nat方式是KVM安装后的默认方式。它支持主机与虚拟机之间的互访.同时也支持虚拟机访问外网,但不支持外界访问虚拟机

检查当前网络设置

[root@localhost ~]# virsh net-list –all

kvm虚拟机怎么设置(Kvm虚拟网络配置)(1)

Default是宿主机安装虚拟机支持模块的时候自动安装的

查看网络接口

kvm虚拟机怎么设置(Kvm虚拟网络配置)(2)

可以看到其中virbr0是由宿主机虚拟机支持模块安装时产生的虚拟网络接口

Virtbre0是一个桥接器,接收所有到网络192.168.122.1的内容

查看网卡

[root@localhost ~]# brctl show

kvm虚拟机怎么设置(Kvm虚拟网络配置)(3)

查看网桥default内容

[root@localhost ~]# virsh net-dumpxml default

kvm虚拟机怎么设置(Kvm虚拟网络配置)(4)

Virbr0网卡是一个桥接器,接收所有到网络192.168.122.*的内容从下面命令可以验证

[root@localhost ~]# brctl show

kvm虚拟机怎么设置(Kvm虚拟网络配置)(5)

[root@localhost ~]# Route

命令解析 查看所有网卡网关出入

kvm虚拟机怎么设置(Kvm虚拟网络配置)(6)

安装软件包 kvm网络管理工具组件

[root@localhost ~]# yum -y install bridge-utils IPtables dnsmasq

kvm虚拟机怎么设置(Kvm虚拟网络配置)(7)

打开文件编写脚本

创建他的主要功能是:建立bridge,设置brdige的内网ip并且将客户机的网络接口与其绑定

然后打开系统中网络ip包转发的功能,设置iptables的NAT规则,最后启动dnsmasq作为一个简单的DHCP服务器

[root@localhost ~]# vi /etc/qemu-ifup-NAT

kvm虚拟机怎么设置(Kvm虚拟网络配置)(8)

给脚本授予执行权限

[root@localhost ~]# chmod x /etc/qemu-ifup-NAT

我们需要使用 Linux最小的镜像完成实验使用FXP将镜像传到linux客户端

选择FXP 位置在CRT箭头处

kvm虚拟机怎么设置(Kvm虚拟网络配置)(9)

创建qemu-ifdown-nat脚本,关闭客户机时调用该脚本,主要完成解除bridge绑定,删除bridge和清空iptables的NAT规则。

[root@localhost ~]# vi /etc/qemu-ifdown-nat

kvm虚拟机怎么设置(Kvm虚拟网络配置)(10)

通过命令启动虚拟机

[root@localhost ~]# qemu-kvm -m 1024 -drive file=cirros-0.3.3-x86_64-disk.img,if=virtio -net nic,model=virtio -net tap,script=/etc/qemu-ifup-NAT -nographic -vnc :1

出现

kvm虚拟机怎么设置(Kvm虚拟网络配置)(11)

报错了 这个是我们没有创建软链接

没有这条命令

我们执行 以下命令创建软连接

[root@localhost ~]# find / -name “qemu-kvm”

[root@localhost ~]# ln -s /usr/libexec/qemu-kvm /usr/sbin/

成功解决

然后再次执行

[root@localhost ~]# qemu-kvm -m 1024 -drive file=cirros-0.3.3-x86_64-disk.img,if=virtio -net nic,model=virtio -net tap,script=/etc/qemu-ifup-NAT -nographic -vnc :1

kvm虚拟机怎么设置(Kvm虚拟网络配置)(12)

果然他又报错了 他报了一个无法启动网络脚本 还有就是没有执行权限

那我们就把脚本设置为可执行文本

[root@localhost ~]# chmod x /etc/qemu-ifdown.txt

[root@localhost ~]# chmod x /etc/qemu-ifup-NAT.txt

注:那个x 是大写哈 输命令要注意

查看一下权限

Ls -l /etc/qemu* 查看以qemu开头的所有文件

可以看到三个脚本已经设置成可执行文档 然后再次执行

kvm虚拟机怎么设置(Kvm虚拟网络配置)(13)

很好 他报错了 不慌 找不到指定镜像 镜像名字不对 我们查看一下上传的镜像名字

[root@localhost ~]# ls

kvm虚拟机怎么设置(Kvm虚拟网络配置)(14)

我们把命令中的file=后改成我们查到的镜像 脚本成功执行

kvm虚拟机怎么设置(Kvm虚拟网络配置)(15)

kvm虚拟机怎么设置(Kvm虚拟网络配置)(16)

执行脚本成功

kvm虚拟机怎么设置(Kvm虚拟网络配置)(17)

kvm虚拟机怎么设置(Kvm虚拟网络配置)(18)

安装完重启一下

查看网络接口信息

kvm虚拟机怎么设置(Kvm虚拟网络配置)(19)

查看nat防火墙信息

IP tables -t nat

配置Bridge网络

(1)连接CRT远程控制软件

(2)使用Yum工具安装brctl 和tunctl 组件

[root@localhost ~]# yum install -y bridge-utils tunctl

出现nothing to do 说明就已经全部安装了

kvm虚拟机怎么设置(Kvm虚拟网络配置)(20)

查看一下模块是否加载

[root@localhost ~]# lsmod | grep tun

这里用到的管道grep过滤查询 我们之前说过

kvm虚拟机怎么设置(Kvm虚拟网络配置)(21)

使用组件brctl 创建bridge

增加一块网卡br0

[root@localhost ~]# brctl addbr br0

绑定br0网卡与eth0网卡

[root@localhost ~]# brctl addif br0 eth1

我这边网卡名是eth1哈 你们应该都是eth0别输错了

kvm虚拟机怎么设置(Kvm虚拟网络配置)(22)

这里会断开CRT不着急接着往下做

查看进出口网络

如下图 我的eth1网卡对应的网段是192.168.100.0

Virbr0是192.168.122.0

kvm虚拟机怎么设置(Kvm虚拟网络配置)(23)

创建对应的网桥接ip 删除eth0网口的ip 如下操作:

Vi /etc/sysconfig/network-scripts/ifcfg-eth0

首先需要把你原来配置的三行 IPADDR=, GATEWAY,PREFIX,全部删掉

增加一行 BRIDGE=br0

BOOTPROTO=none

NM_CONTROLLED=no

:wq保存

kvm虚拟机怎么设置(Kvm虚拟网络配置)(24)

配置br0网卡

Vi /etc/sysconfig/network-scripts/ifcfg-br0

配置以下内容

Device=br0

TYPE=bridge

ONBOOT=yes

NM_controlled=no 下面几行和原来eth0配置一样

kvm虚拟机怎么设置(Kvm虚拟网络配置)(25)

:wq保存 重启一下网络 /etc/init.d/network restart Br0重启失败

kvm虚拟机怎么设置(Kvm虚拟网络配置)(26)

没关系

使用up命令启动

Ifup br0

kvm虚拟机怎么设置(Kvm虚拟网络配置)(27)

启动成功了

Ifconfig查看一下ip

可以看一下下图 br0网卡配置中 绑定了自己的ip说明配置成功了

kvm虚拟机怎么设置(Kvm虚拟网络配置)(28)

然后我们下一步查看所有进出入口网关

Route -n

查看br0的网关169.254.0.0没问题

kvm虚拟机怎么设置(Kvm虚拟网络配置)(29)

重新连接CRT

现在连接CRT应该没有问题 如果有问题说明你br0网卡配置有问题检查网卡配置

没问题可以连上的哈

kvm虚拟机怎么设置(Kvm虚拟网络配置)(30)

执行脚本操作 我们配置NAT网络的时候已经把bridge网络脚本一同上传了

[root@localhost ~]# chmod x /etc/qemu-ifup.txt

[root@localhost ~]#

再次授权一下以防报错

查看脚本内容

[root@localhost ~]# cat /etc/qemu-ifup.txt

kvm虚拟机怎么设置(Kvm虚拟网络配置)(31)

报了一个小错 ifdown没有权限

然后我们给他赋予权限

Chmod x /etc/qemu-ifdown.txt

kvm虚拟机怎么设置(Kvm虚拟网络配置)(32)

执行过程没问题

kvm虚拟机怎么设置(Kvm虚拟网络配置)(33)

执行脚本命令时切记是qemu-ifup.txt 不是qemu-ifup-NAT

安装成功

kvm虚拟机怎么设置(Kvm虚拟网络配置)(34)

我们克隆一个会话

kvm虚拟机怎么设置(Kvm虚拟网络配置)(35)

在第二个会话中执行操作

可以看到br0和tap0和 eth1绑定

kvm虚拟机怎么设置(Kvm虚拟网络配置)(36)

kvm虚拟机怎么设置(Kvm虚拟网络配置)(37)

,