配置KVM虚拟机使用的NAT网络

配置KVM虚拟机使用的NAT网络

一、NAT的概念
对于专用网内部的一些主机,已经分配了本地的IP(即本地局域网IP),但又想和因特网上的主机通信时,可使用NAT(Network Address Translation,网络地址转换)方法解决问题。
使用NAT实现通信的方式有3种:##

  • 1.静态转换(Static Nat):内部网络私有IP地址转换为公有IP地址时,IP地址对是一对一的,是一成不变的。
    配置KVM虚拟机使用的NAT网络_第1张图片
  • 2.动态转换(Dynamic Nat):内IP转换为公IP,IP地址不确定的,随机的,所有被授权访问Internet上的私有IP地址可随机转换为任何指定的合法IP地址。
    配置KVM虚拟机使用的NAT网络_第2张图片
  • 3.端口多路复用(Overload):指改变外部数据包的源端口并进行端口转换,即端口地址转换(Port Address Translation,PAT)
    采用端口多路由方式,内部网络的所有主机均可以共享合法外部IP地址来实现对因特网的访问,从而可以最大限度地节约IP地址资源。同时,隐藏网络内部的所有主机。目前网络中应用最多的也是此方式配置KVM虚拟机使用的NAT网络_第3张图片这种方法需要在专用网路连接到因特网的路由器上安装NAT软件,装有该软件的路由器称为NAT路由器。

二、NAT网络原理
NAT的主要作用:IPv4(Internet Protocol Version 4,网际协议版本4)的地址资源已经近乎枯竭,而NAT使内网的多个主机可以公用一个IP地址接入网络,这有助于节约IP地址。

在KVM中配置客户机的NAT网络时,需要在宿主机中运行一个DHCP服务器给宿主级分配NAT内网的IP地址,使用DNSMASQ工具来实现。

NAT方式是KVM安装后的默认方式,它支持主机与虚拟机的互访,同时也支持虚拟机访问互联网,但不支持外界访问虚拟机。

#检查当前网络的设置:
# virsh net-list --all

在这里插入图片描述
default是宿主机安装虚拟机支持模块的时候自动安装的

三、NAT启动脚本编写:

# vi /etc/qemu-ifup-NAT
编辑内容如下

注意缩进!!!字母与字母间是否有空格一定要仔细,or在启动步骤中会报错
配置KVM虚拟机使用的NAT网络_第4张图片
配置KVM虚拟机使用的NAT网络_第5张图片

配置KVM虚拟机使用的NAT网络_第6张图片
四、创建NAT模式的KVM虚拟机

  • 安装tunctl ,不添加网卡。and安装网桥模块bridge,不设置网桥
  • 详情请见tunctl做到第5步
  • 详情请见brctl做到第3步
    已操作请跳过

1.安装KVM模块:

  • 检查CPU是否支持虚拟化:
    勾选才能进行下一步命令
    配置KVM虚拟机使用的NAT网络_第7张图片
# grep -E -o 'vmx|smx' /proc/cpuinfo

在这里插入图片描述

2.添加脚本执行权限:

# chmod +x /etc/qemu-ifup-NAT
  • 安装yum工具
# yum install qemu-kvm openssl libvirt -y

配置KVM虚拟机使用的NAT网络_第8张图片

  • 重新启动libvirtd服务
# systemctl restart libvirtd

提前将下载好的0.3.4iso与第三步放置在/etc下的qemu-ifup-NAT脚本一起复制到你所创建的目录下,这里我创建的目录名称为3.4
配置KVM虚拟机使用的NAT网络_第9张图片

3.qemu命令启动虚拟机

#qemu-kvm -m 1024 -drive file=/3.4/cirros-0.3.4-x86_64-disk.img,if=virtio -net nic,model=virtio -net tap,script=/3.4/qemu-ifup-NAT -nographic -vnc :1

注意:“file”与“script”后面都要跟上绝对路径,既你的iso文件与nat脚本所放置的位置

配置KVM虚拟机使用的NAT网络_第10张图片
出现此步配置成功!

4.查询网桥接口信息:

# brctl show

在这里插入图片描述
5.查看TAP接口

#ip addbr list

配置KVM虚拟机使用的NAT网络_第11张图片6.检查网络连通性:

未创建eth0,ping不通可跳过

7.查询宿主机的iptables nat 表信息:

# iptables -t nat -L

配置KVM虚拟机使用的NAT网络_第12张图片
前面qemu命令正常,后续操作不会出现其他问题!!

你可能感兴趣的:(linux,kvm,linux,运维,centos,云计算)