NAT的方式及原理
NAT方式是KVM安装后的默认方式。
它支持主机与虚拟机的互访,同时也支持虚拟机访问互联网,但不支持外界访问虚拟机。
default是宿主机安装虚拟机支持模块的时候自动安装的。
其中 virbr0是由宿主机虚拟机支持模块安装时产生的虚拟网络接口,也是一个switch和bridge,
直接开始实验
上次我们创建KVM虚拟机的时候用的是桥接模式的网络
现在我们创建一个NAT网络模式的KVM虚拟机
先查看一下我们当前的网络桥接情况
[root@server159 ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.00505622e283 no ens33
virbr0 8000.525400a5d968 yes virbr0-nic
准备一个虚拟磁盘给新建的KVM虚拟机
[root@server159 ~]# qemu-img create -f raw /data/kvm/server10.raw 10G
Formatting '/data/kvm/server10.raw', fmt=raw size=10737418240
查看我们当前KVM虚拟机的网络,这里桥接网络不显示的,所以上次的br0没有显示
[root@server159 ~]# virsh net-list
Name State Autostart Persistent
----------------------------------------------------------
default active yes yes
然后开始创建新的KVM虚拟机,指定默认的NAT网络default
这里我指定的VNC连接端口是5910,等下通过这个端口来连接安装就好了
[root@server159 ~]# virt-install --name=server10 --virt-type=kvm --memory 1024,maxmemory=2048 --cdrom=/data/iso/CentOS-7-x86_64-Minimal-2009.iso --disk path=/data/kvm/server10.raw --vnc --vncport=5910 --vnclisten=0.0.0.0 --noautoconsole --autostart
安装的时候查看我们自动获取的ip,是122网段的222
为什么是122网段的呢,这里我们可以看default默认网络的具体信息
[root@server159 ~]# virsh net-dumpxml --network default
<network connections='1'>
<name>default</name>
<uuid>626b82a5-feef-4076-b0ec-b4720c3821f3</uuid>
<forward mode='nat'>
<nat>
<port start='1024' end='65535'/>
</nat>
</forward>
<bridge name='virbr0' stp='on' delay='0'/>
<mac address='52:54:00:a5:d9:68'/>
<ip address='192.168.122.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.122.2' end='192.168.122.254'/>
</dhcp>
</ip>
</network>
可以看到default默认网络的ip池范围就是在122.2到122.254范围的
然后启动我们新建的server10虚拟机并查看情况
[root@server159 ~]# virsh start server10
Domain server10 started
[root@server159 ~]# virsh list
Id Name State
----------------------------------------------------
16 server10 running
然后通过VNC连接我们的虚拟机查看情况
然后查看桥接网络
[root@server159 ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.00505622e283 no ens33
virbr0 8000.525400a5d968 yes virbr0-nic
vnet1
可以看到我们的vnet1桥接到了virbr0上,而virbr0是宿主机上的
宿主机可以转发底下NAT的信息,所以我们的虚拟机可以连接外网
不过外界是无法访问到我们的,除非宿主机做了转发,访问宿主机时自动转发到底下的虚拟机
然后我们的NAT模式的虚拟机就建好了
下个nginx来试试
下载好以后,查看配置文件,根据经验来看都是/etc/nginx/nginx.conf
然后往配置文件里添加我们自己的内容,方便我们等下查看结果
镜像太小了,连netstat命令都没有
还有一件事,就是记得关闭防火墙,不然宿主机访问不到的
宿主机访问测试
然后这样就可以了
和我们在VMware上的原理是一样的,只要了解网络的基本原理,这些就很简单了
希望对大家有帮助