虚拟化网络连接与虚拟机嵌套
NAT
能够使内网中的客户端通过路由器时,变更自身的ip为公网ip来连接公网,以达成减少对公网IP的使用。
SNAT 源NAT 源地址更换
DNAT 目的NAT地址更换
nat地址转换协议,NAT的设计之初的作用是用来缓解IPV4地址快耗尽的问题
所有的设备上网都需要公网IP,一个公网IP只能满足一个设备上网
IPV4只有不到43亿个地址,还要排除特殊地址、私有地址、广播地址。。。剩下的公网地址很少了
NAT只是缓解IPV4地址不够用的问题,真正的解决要靠IPV6 NAT一般部署在网络出口处
静态NAT
•静态NAT:每个私有地址都有一个与之对应并且固定的公有地址,即私有地址和公有地址之间的关系是 一对一映射
•支持双向互访:私有地址访问Internet经过出口设备NAT转换时,会被转换成对应的公有地址。同时, 外部网络访问内部网络时,其报文中携带的公有地址(目的地址)也会被NAT设备转换成对应的私有地 址
静态NAT并没有节约公网IP,静态NAT可以提供一定安全性 比如公司有服务器要发布,可以配置静态IP然后静态NAT,这样别人攻击的时候经过路由器安全些

静态NAT实验

第一步:配置PC IP(略)
第二步:配置路由器(基础配置)
R1
bash
interface GigabitEthernet0/0/0
ip address 192.168.1.1 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 12.1.1.1 255.255.255.0
#
ip route-static 0.0.0.0 0.0.0.0 12.1.1.2 #指定连接目的地,任意的请求都指定到12.1.1.2上
R2
bash
interface GigabitEthernet0/0/0
ip address 12.1.1.2 255.255.255.0
#
interface LoopBack0
ip address 2.2.2.2 255.255.255.0
第三步:配置NAT
192.168.1.11 ---- 12.1.1.11
192.168.1.12 ---- 12.1.1.12
R1
bash
interface GigabitEthernet0/0/1
#进入边界路由器出口处配置NAT
ip address 12.1.1.1 255.255.255.0
nat static global 12.1.1.11 inside 192.168.1.11 netmask 255.255.255.255
#内网地址192.168.1.11 双向映射到 公网地址12.1.1.11
nat static global 12.1.1.12 inside 192.168.1.12 netmask 255.255.255.255
第四步 测试
应该测试得 192.168.1.11 192.168.1.12可以ping通r2上的2.2.2.2 但192.168.1.13没有配置 net 所以ping不通
VMware的三种网络连接
1.桥接模式

桥接模式使得虚拟机与主机平级,可以利用主机网卡访问公网和ping主机
2.host-only 主机模式

利用主机的新增网卡 vmnet1可以使虚拟机和主机进行连接,但无法接触到网卡,无法访问公网
3.NET模式

NAT模式是指利用net设备变更ip的效果,使虚拟机通过net设备ip变化为主机的相同网段的ip 来利用主机的网卡访问公网。
虚拟化技术
虚拟化的重要概念

最火的虚拟化: 开源:KVM 商业:VMware ESXI 国产:FusionCompute 中小型用商业的,大型公司用开源的(具有研发能力)
虚拟化的类型

目前全部使用硬件辅助虚拟化(CPU支持)
查看自己的CPU是否支持硬件辅助虚拟化,看CPU指令集是否有以下指令集
intel: vt-x vmx
amd: amd-v vmx
虚拟化的特点

•分区:分区意味着虚拟化层为多台虚拟机划分服务器资源的能力;每台虚拟机可以同时运行一个单独的 操作系统(相同或不同的操作系统),使您能够在一台服务器上运行多个应用程序;每个操作系统只能 看到虚拟化层为其提供的"虚拟硬件"(虚拟网卡、CPU、内存等),以使它认为运行在自己的专用服务器 上。
•隔离:虚拟机是互相隔离的一台虚拟机的崩溃或故障(例如,操作系统故障、应用程序崩溃、驱动程序故障,等等)不会影响同一服务器上的其他虚拟机。一台虚拟机中的病毒、蠕虫等与其它虚拟机相隔离,就像每台虚拟机都位于单独的物理机器上一样。可以进行资源控制以提供性能隔离:您可以为每台虚拟机指定最小和最大资源使用量,以确保某台虚拟机不会占用所有的资源而使得同一系统中的其他虚拟机无资源可用。可以在单一机器上同时运行多个负载/应用程序/操作系统,而不会出现我们刚才讨论传统x86服务器体系 结构的局限性时所提到的那些问题(应用程序冲突、DLL冲突等)。
•封装:封装意味着将整台虚拟机(硬件配置、BIOS配置、内存状态、磁盘状态、CPU 状态)储存在独立于物理硬件的一小组文件中。这样,您只需复制几个文件就可以随时随地根据需要复制、保存和移动虚拟机。
•相对于硬件独立:因为虚拟机运行于虚拟化层之上,所以只能看到虚拟化层提供的虚拟硬件;此虚拟硬件也同样不必考虑物理服务器的情况;这样,虚拟机就可以在任何x86服务器(IBM、Dell、HP等)上运行而无需进行任何修改。这打破了操作系统和硬件以及应用程序和操作系统/硬件之间的约束。
虚拟机嵌套虚拟机
首先正常配置虚拟机,要求为图形化设置虚拟机,ip为手动配置

正常设置虚拟机之后,要在设置里打开虚拟化开关
进入虚拟机
打开窗口
bash
[root@KVM1 ~]# lsblk
NAME
#查看多了个sr0光盘
MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0
x86_64
nvme0n1
11:0
259:0
├─nvme0n1p1 259:1
└─nvme0n1p2 259:2
├─cs-root 253:0
├─cs-swap 253:1
└─cs-home 253:2
1 12.8G 0 rom /run/media/root/CentOS-Stream-8-BaseOS
0 100G 0 disk
0
0
1G 0 part /boot
99G 0 part
0 61.2G 0 lvm /
0 7.9G 0 lvm [SWAP]
0 29.9G 0 lvm /home
[root@KVM1 ~]# mount /dev/sr0 /mnt
#将光盘挂载到/mnt目录
mount: /mnt: WARNING: device write-protected, mounted read-only
[root@KVM1 ~]# cd /etc/yum.repos.d/
[root@KVM1 yum.repos.d]# ls
CentOS-Stream-AppStream.repo CentOS-Stream-Extras-common.repo
Media.repo
CentOS-Stream-RealTime.repo
CentOS-Stream-BaseOS.repo
CentOS-Stream-Extras.repo
NFV.repo
CentOS-Stream
CentOS-Stream-ResilientStorage.repo
CentOS-Stream-Debuginfo.repo CentOS-Stream-HighAvailability.repo CentOS-Stream
PowerTools.repo CentOS-Stream-Sources.repo
[root@KVM1 yum.repos.d]# rm -rf *
[root@KVM1 yum.repos.d]# vim dvd.repo
# dvd.repo中输入以下内容,然后:wq保存退出
[AppStream]
name=AppStream
baseurl=file:///mnt/AppStream
enabled=1
gpgcheck=0
[BaseOS]
name=BaseOS
baseurl=file:///mnt/BaseOS
enabled=1
gpgcheck=0
[root@KVM1 yum.repos.d]# yum clean all
[root@KVM1 yum.repos.d]# yum makecache
[root@KVM1 yum.repos.d]# yum group install "Virtualization*" -y
[root@KVM1 yum.repos.d]# poweroff
#关机,拍摄快照
M1 yum.repos.d]# yum clean all
root@KVM1 yum.repos.d\]# yum makecache \[root@KVM1 yum.repos.d\]# yum group install "Virtualization\*" -y \[root@KVM1 yum.repos.d\]# poweroff #关机,拍摄快照 ``` ```