KVM虚拟机的NAT网络模式原理及过程展示

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 listId    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-nicvnet1

在这里插入图片描述
可以看到我们的vnet1桥接到了virbr0上,而virbr0是宿主机上的
宿主机可以转发底下NAT的信息,所以我们的虚拟机可以连接外网
不过外界是无法访问到我们的,除非宿主机做了转发,访问宿主机时自动转发到底下的虚拟机
然后我们的NAT模式的虚拟机就建好了
下个nginx来试试
在这里插入图片描述
下载好以后,查看配置文件,根据经验来看都是/etc/nginx/nginx.conf
在这里插入图片描述
然后往配置文件里添加我们自己的内容,方便我们等下查看结果
在这里插入图片描述
镜像太小了,连netstat命令都没有
还有一件事,就是记得关闭防火墙,不然宿主机访问不到的
在这里插入图片描述
宿主机访问测试
在这里插入图片描述
然后这样就可以了
和我们在VMware上的原理是一样的,只要了解网络的基本原理,这些就很简单了
希望对大家有帮助

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/217710.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

4、LED闪烁

LED亮灭 使用STC-ISP软件的延时计算器自动生成延迟子函数 #include <REGX52.H> #include <INTRINS.H>//延迟函数 void Delay500ms() //12.000MHz {unsigned char i, j, k;//_nop_()需要导入<INTRINS.H>包_nop_();i 4;j 205;k 187;do{do{while (--k);}…

JVM类加载的过程和JVM垃圾回收机制

文章目录 一、JVM类加载的过程1.1类加载的基本流程1.1.1加载1.1.2验证1.1.3准备1.1.4解析1.1.5初始化 1.2双亲委派模型 二、JVM垃圾回收机制2.1找到垃圾2.1.1引用计数(比如Python&#xff0c;PHP中用到)2.1.2可达性分析(比如Java中用到) 2.2释放垃圾2.2.1标记清除2.2.2复制算法…

jetson NX部署Yolov8

一,事情起因,由于需要对无人机机载识别算法进行更新,所以需要对yolov8算法进行部署到边缘端。 二,环境安装 安装虚拟环境管理工具,这个根据个人喜好。 我们需要选择能够在ARM架构上运行的conda,这里我们选择conda-forge 下载地址 安装即可 剩下的就是和conda 创建虚拟…

Jensen不等式

如果是正数&#xff0c;并且它们的和等于1&#xff0c;f是凸函数&#xff0c;那么&#xff1a; 也可表述为&#xff1a; 即x期望的凸函数值小于等于x凸函数值的期望

5、LED流水灯

LED流水灯 思路&#xff1a;每次LED灯熄灭后&#xff0c;下一个LED灯亮 #include <REGX52.H> #include <INTRINS.H>void Delay500ms() //12.000MHz {unsigned char i, j, k;_nop_();i 4;j 205;k 187;do{do{while (--k);} while (--j);} while (--i); }void m…

Leetcode—45.跳跃游戏II【中等】

2023每日刷题&#xff08;四十&#xff09; Leetcode—45.跳跃游戏II 贪心法思想 实现代码 #define MAX(a, b) (a > b ? (a) : (b))int jump(int* nums, int numsSize) {int start 0;int end 1;int ans 0;int maxStride 0;while(end < numsSize) {maxStride 0;fo…

【程序员的自我修养01】编译流程概述

绪论 大家好&#xff0c;欢迎来到【程序员的自我修养】专栏。正如其专栏名&#xff0c;本专栏主要分享学习《程序员的自我修养——链接、装载与库》的知识点以及结合自己的工作经验以及思考。编译原理相关知识本身就比较有难度&#xff0c;我会尽自己最大的努力&#xff0c;争取…

Kotlin学习——流程控制,when,循环,range工具 kt里的equals if实现类似三元表达式的效果

Kotlin 是一门现代但已成熟的编程语言&#xff0c;旨在让开发人员更幸福快乐。 它简洁、安全、可与 Java 及其他语言互操作&#xff0c;并提供了多种方式在多个平台间复用代码&#xff0c;以实现高效编程。 https://play.kotlinlang.org/byExample/01_introduction/02_Functio…

acm是什么?你准备好去打了吗?

1.引言2.acm究竟是什么&#xff1f;3.acm的时间安排重点 赛制查询榜单网络赛的作用1.名额分配2.校内选拔 icpc省赛省赛选拔赛(校内) 4.acm该如何准备1.前期的算法积累1.Acwing 平台算法基础课 -y总业界良心。算法提高课 基本囊括了蓝桥杯的知识范畴算法进阶课&#xff08;选&am…

只考数据结构,计算机评级C+,成都信息工程大学考情分析

成都信息工程大学(C) 考研难度&#xff08;☆☆&#xff09; 内容&#xff1a;23考情概况&#xff08;拟录取和复试分析&#xff09;、院校概况、24专业目录、23复试详情、各专业考情分析、各科目考情分析。 正文1715字&#xff0c;预计阅读&#xff1a;3分钟 2023考情概况 …

2022年12月 Scratch(三级)真题解析#中国电子学会#全国青少年软件编程等级考试

Scratch等级考试(1~4级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 默认小猫角色和气球角色都是显示状态,小猫程序如下图所示,气球没有程序,点击绿旗,舞台上最终显示的效果是?( ) A:可能出现6个不同位置的小猫和6个小球 B:可能出现6个不同位…

2016年12月13日 Go生态洞察:2016年Go用户调查与企业问卷

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…