多台虚拟机搭建模拟网络环境

这篇具有很好参考价值的文章主要介绍了多台虚拟机搭建模拟网络环境。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

点击星标,即时接收最新推文

多台虚拟机搭建模拟网络环境,网络,智能路由器

目的

采用多台虚拟机在一台计算机实体上模拟一个小型的网络环境。

我们采用虚拟机( Virtual Machine)软件来模拟一个网络环境进行实验,这类软件的主要功能是利用软件来模拟出具有完整硬件系统功能的且运行在隔离环境中的完整计算机系统。这样我们可以在一台物理计算机即宿主机器(Host Machine)上模拟出一台或多台虚拟的计算机。这些虚拟机能够像真正的计算机那样进行工作,我们可以在其上安装全新的操作系统和应用软件。通过虚拟机软件中的虚连接设备将各个虚拟机连接起来,我们就可以搭建出实验所需的网络环境。

网络拓扑

接下来给出要构建的网络拓扑结构和拓扑结构配置信息表:

多台虚拟机搭建模拟网络环境,网络,智能路由器多台虚拟机搭建模拟网络环境,网络,智能路由器

此次实验我们采用5台虚拟机,分别为UT-571~UT-575,网络拓扑中有两台路由器,分别用UT-571和UT-574来模拟,两个路由器通过网络相连,这里用虚拟网络VMnet4来模拟,两个路由器分别下辖PC0,PC1和PC2三台主机,三台主机分别用UT-572,UT-573和UT-575来模拟。

由网络拓扑结构图可以看出,PC0,PC1和Route0处于同一个网段,网段为192.168.2.0/24,而PC2和Route1处于同一个网段,为192.168.3.0/24,然后为了实现两个网段的联通,我们将两个路由器设置在同一个网段192.168.4.0/24中,即需要三个虚拟网络,来实现5台机器相互的联通。

我们的目标是配置每台机器的网卡,IP,网关和路由器的转发表,使得此虚拟网络上的每台机器之间都可以实现通信。

图中正方体的图形表示局域网的交换机。

最后我们通过机器之间相互Ping操作来测试是否联通。

步骤:配置虚拟机

我们至少需要给每台虚拟机配置一个网卡以实现网络互连,并且需要给虚拟机UT-571和UT-574配置两块网卡,因为它们是路由器,分属于两个网段,配置虚拟机的过程如下所示:

在虚拟机开机之前选择编辑选项

多台虚拟机搭建模拟网络环境,网络,智能路由器

如果之前没有网卡,那么点Add添加网卡,然后next:

多台虚拟机搭建模拟网络环境,网络,智能路由器

多台虚拟机搭建模拟网络环境,网络,智能路由器

添加网卡的配置,选择Custom: Specific virtual network,将机器配置到对应的虚拟网络,如PC0和PC1配置到VMnet2,PC2配置到VMnet3,两个路由器虚拟机配置添加两块网卡分别设为两个网段。

多台虚拟机搭建模拟网络环境,网络,智能路由器多台虚拟机搭建模拟网络环境,网络,智能路由器

设置每个终端PC

ip 地址是计算机进行网络通讯的基础,每一台联网计算机都至少具有一个 ip 地址。在日常使用中,我们通常能自动获取 ip,这是由于 DHCP 协议的作用。这次我们需要手动为配置好的虚拟网络分配 ip 地址。

打开每台机器(PC0,PC1,PC2)的终端Terminal,输入

1

ifconfig -a

将会看到如下的输出:

多台虚拟机搭建模拟网络环境,网络,智能路由器

输出显示机器网卡还没有配置IPV4地址,我们将手动配置固定的IP地址。

为了防止DHCP协议和Network Manager的干扰,改变我们设置的IP地址,我们输入

1

sudo service network-manager stop

停用network-manager服务,这样我们设置的IP就不会被系统改变了。

Network Manager是Linux系统进行网络管理的一项服务。

Network Manager由一个管理系统网络连接、并且将其状态通过D-BUS(是一个提供简单的应用程序互相通讯的途径的自由软件项目,它是做为freedesktoporg项目的一部分来开发的。)进行报告的后台服务,以及一个允许用户管理网络连接的客户端程序。

Network Manager的优点:简化网络连接的工作,让桌面本身和其他应用程序能感知网络。

想了解network manager请自行查阅资料。

然后设置各个PC的IP,PC0和PC1由于同处192.168.2.0/24网段,所以我们将它们的IP分别设置为192.168.2.2(UT-572)和192.168.2.3(UT-573),将192.168.2.1留给路由器Route0(UT-571)使用。

设置IP地址有如下命令:(以192.168.2.2为例)

1

sudo ifconfig eth0 192.168.2.2 netmask 255.255.255.0

然后可使用ifconfig -a命令查看IP情况如图。

多台虚拟机搭建模拟网络环境,网络,智能路由器

然后设置默认网关为该网段的路由器Route0的eth0的IP地址(192.168.2.1):

1

sudo route add default gw 192.168.2.1

这样一个终端PC就已经配置好了,它有了自己的IP地址和默认网关。

大家都知道,从一个房间走到另一个房间,必然要经过一扇门。同样,从一个网络向另一个网络发送信息,也必须经过一道“关口”,这道关口就是网关。顾名思义,网关(Gateway)就是一个网络连接到另一个网络的“关口”,也就是网络关卡(–百度百科),此时PC0的网络关口就是它的路由器Route0的eth0。

其它终端PC配置相似。

设置路由器

IP地址设置同上,

1

2

3

ifconfig -a  # 查看IP地址情况

sudo ifconfig eth0 192.168.2.1 netmask 255.255.255.0  # 设置eth0端IP地址

sudo ifconfig eth1 192.168.4.1 netmask 255.255.255.0  # eth1端

eth0是面向PC0和PC1的网卡,而eth1是面向另一个网段(192.168.4.0/24)的的网卡

但路由器毕竟是路由器,它还需要有一套路由转发表,以便起到路由的作用。

所以接下来设置Route0(UT-571)的路由表:

1

2

3

sudo ip route add 192.168.2.0/24 via 192.168.2.1

sudo ip route add 192.168.3.0/24 via 192.168.4.2

sudo ip route add 192.168.4.0/24 via 192.168.4.1

其中 ip route add 192.168.2.0/24 via 192.168.2.1 命令添加的规则,告诉路由目的 ip 在

192.168.2.0/24(192.168.2.1~192.168.2.255)网段内的封包经由 ip 地址为 192.168.2.1 的设备(Route0)转发出去,即下一跳的 ip 为 192.168.2.1。而 192.168.2.0/24 是 Linux 中常用的掩码表示方式。

24 表示掩码字长为 24 即掩码为 255.255.255.0, 192.168.2 为网络号, 1 ~ 254 为网络中的主机号。此外还有其他形式用于添加路由规则的命令。

而第二条规则表示告诉路由目的IP在192.168.3.0/24网段的封包要经过的下一跳IP为192.168.4.2(即VMnet4的另一端,也即Route1的eth1,因为Route1是网段192.168.3.0/24的路由器)

最后一条规则表示,告诉路由目的IP在192.168.4.0/24网段的封包将被转发的下一跳IP为192.168.4.1即Route0的eth1.

最后我们要让虚拟路由允许转发,置虚拟机 U-571 的 ip_forward 标志为 1。这里我们需要把/proc/sys/net/ipv4/目录下的文件ip_forward值置为 1。使用命令 echo,形如:

1

echo 1 > /proc/sys/net/ipv4/ip_forward

这样我们的路由器Route0也就设置好了,以相同的步骤我们很快可以设置好Route1。

一些步骤图如下:

多台虚拟机搭建模拟网络环境,网络,智能路由器

多台虚拟机搭建模拟网络环境,网络,智能路由器多台虚拟机搭建模拟网络环境,网络,智能路由器多台虚拟机搭建模拟网络环境,网络,智能路由器多台虚拟机搭建模拟网络环境,网络,智能路由器

测试

最后我们可以在不同的虚拟机上ping别的虚拟机的IP,已测试是否实现互联互通。

PC0 ping PC1:

多台虚拟机搭建模拟网络环境,网络,智能路由器

PC0 ping Route1 eth1 和 PC2:

多台虚拟机搭建模拟网络环境,网络,智能路由器

PC2 ping PC0, PC1:

多台虚拟机搭建模拟网络环境,网络,智能路由器

等等等等,容易看到,正确设置的情况下,都可以ping通,实现了两个局域网的互联互通。

wireshark抓包

在Terminal中输入

1

sudo wireshark

启动wireshark,通过下图蓝框选择要监听的设备,如eth0,然后在终端中启动ping,观测数据包的来往:

多台虚拟机搭建模拟网络环境,网络,智能路由器

结果如下,PC0 ping PC1的包流动情况:

多台虚拟机搭建模拟网络环境,网络,智能路由器

PC0 ping PC2的包流动情况:

多台虚拟机搭建模拟网络环境,网络,智能路由器

点开某个包,可以看到:

多台虚拟机搭建模拟网络环境,网络,智能路由器

协议框中显示所选分组的各层协议:物理层帧、以太网帧及其首部、 IP 协议数据报及其首部, Internet控制报文协议。原始框中则显示分组中包含的数据的每个字节。从中可以观察到原始数据,其中左边显示的是十六进制的数据,右边则是 ASCII 码。在协议框中选中一个条目,在原始框中会标记出对应的原始数据,反之在原始框中选中也一样。

完结

这样,此次虚拟网络构建就成功了。

总的来说,计算机网络这个东西,知道 和 会做 之间有着很大的距离,一些基础的网络理论知识,真正用起来却显得无比的生疏,终究还是太菜了罢~

多台虚拟机搭建模拟网络环境,网络,智能路由器

MS08067安全实验室视频号已上线

欢迎各位同学关注转发~

—  实验室旗下直播培训课程  —

多台虚拟机搭建模拟网络环境,网络,智能路由器

多台虚拟机搭建模拟网络环境,网络,智能路由器

多台虚拟机搭建模拟网络环境,网络,智能路由器多台虚拟机搭建模拟网络环境,网络,智能路由器

多台虚拟机搭建模拟网络环境,网络,智能路由器

多台虚拟机搭建模拟网络环境,网络,智能路由器

多台虚拟机搭建模拟网络环境,网络,智能路由器

多台虚拟机搭建模拟网络环境,网络,智能路由器

多台虚拟机搭建模拟网络环境,网络,智能路由器

和20000+位同学加入MS08067一起学习

多台虚拟机搭建模拟网络环境,网络,智能路由器文章来源地址https://www.toymoban.com/news/detail-811649.html

到了这里,关于多台虚拟机搭建模拟网络环境的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 避免检测:安卓模拟器/安卓虚拟机/root环境

    如果你想要避免某些安卓应用检测到你正在使用安卓虚拟机,你可以尝试以下方法。但请注意,这些操作可能违反了应用的使用条款,因此请在遵守相关法规和条款的前提下进行操作。 修改虚拟机设备信息:一些应用会检查设备的制造商、型号等信息。你可以使用一些工具来

    2024年02月12日
    浏览(43)
  • 多台虚拟机免密登录ssh

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 “ssh 是一种协议 SSH(Secure Shell) 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议,利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。 1.例如:三台虚拟机的免密登录 HadoopMaster:1

    2024年02月08日
    浏览(31)
  • 虚拟现实开发在工厂生产环境模拟与培训中的应用

    hello老铁们...本人熟悉html5,vue对bootsrap,uniapp,layui,element,vite,antd,echarts,jq响应式尤其擅长,ui设计等技能,如果ui前端工作中有遇到烦恼可私信关注评论我们共同交流进步!谢谢 随着科技的飞速发展,虚拟现实(VR)技术已经成为当今世界的热门话题。虚拟现实技术为

    2024年03月26日
    浏览(45)
  • python的虚拟环境图文详解(虚拟环境作用以及虚拟环境搭建,切换,退出,迁移打包)代码演示

    目录 一、虚拟环境 1.1、概念理解 1.2、作用  二、虚拟环境操作教程 2.1、利用pycharm搭建,切换,删除虚拟环境 2.1.1、搭建虚拟环境 2.1.2、切换虚拟环境 ​编辑 2.1.3、删除虚拟环境 2.2、命令行方式搭建(mac/linux/unix) 2.2.1、搭建虚拟环境 2.2.2、切换虚拟环境 2.2.3、删除虚拟环境

    2024年02月15日
    浏览(42)
  • RHCSA/RHCE考试模拟环境搭建

      RHCSA环境内存至少16G,RHCE环境内存至少12G,处理器配置8核     网络适配器选择 NAT 方式     取消显示器的“加速3D图形”:     另外添加一块硬盘:     选择解压的磁盘文件:

    2024年02月16日
    浏览(36)
  • LVGL学习笔记|Windows环境下模拟LittlevGL:VSCode+MSYS2+Cmake搭建模拟环境

    最近需要使用LittlevGL(以下简称lvgl)做ARM开发板的GUI,为了方便调试代码在网上搜集了部分在Windows环境下利用VSCode模拟仿真的环境配置步骤,现整理如下。 系统版本:Windows 10 专业版 21H2 直接使用国内镜像下载链接 : https://vscode.cdn.azure.cn/stable/b4c1bd0a9b03c749ea011b06c6d2676c8091

    2024年02月02日
    浏览(43)
  • Proxmox虚拟环境搭建

    ProxmoxVE 是一个完整的、开源的企业虚拟化服务器管理平台。它在单个平台上紧密集成了 KVM 管理程序和 Linux 容器(LXC)、软件定义的存储和网络功能。通过集成的基于 web 的用户界面,您可以轻松地管理虚拟机和容器、集群高可用性或集成的灾难恢复工具。 企业级的特性和100

    2023年04月21日
    浏览(30)
  • 【Python】搭建虚拟环境

    前言 虚拟环境简介 虚拟环境依赖模块的安装 1、安装好Python环境 2、安装第三方库(虚拟环境库) 3、 安装第三方模块virtualenvwrapper-win 为虚拟环境配置环境变量 1、配置环境变量 2、点击环境变量 3、在系统变量中,点击新建 4、新建系统变量​编辑 虚拟环境相关操作 1、新建

    2023年04月08日
    浏览(32)
  • 武警三维数字沙盘电子沙盘虚拟现实模拟推演大数据人工智能开发教程第15课

    部队三维数字沙盘电子沙盘虚拟现实模拟推演大数据人工智能开发教程第15课 现在不管什么GIS平台首先要解决的就是数据来源问题,因为没有数据的GIS就是一个空壳,下面我就目前一些主流的数据获取 方式了解做如下之我见(主要针对互联网上的一些卫星图,和一些矢量瓦片

    2024年02月07日
    浏览(50)
  • windows中freeRTOS模拟器环境搭建

      FreeRTOS参考手册中的模拟程序都是基于windows版本的模拟器。因此为了学习FreeRTOS,需要在Windows中搭建一下模拟器的运行环境。网络上的一般都是直接跑一下FreeRTOS源码中的WSVC中的Demo。就没有下文了,怎么加入自己的代码到模拟器,怎么删除模拟器中已经存在的监测任务,

    2024年02月16日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包