【原创】VMware创建子网,并使用软路由获得访问互联网的能力,并通过静态路由让上层网络访问位于虚拟机的子网

前言

一看标题就很离谱,确实内容也有点复杂,我的初衷是为后面搞软路由做准备,先通过VMware进行可行性验证,确定方案是否可行,再做下一步的计划。结论当然可以的,能通能访问,强的不行。

网络拓扑图如下:

由于我是程序猿,并非网络工程师,有些内容稍微显得不太专业,但是我比较会折腾。

拓扑图很简单,就是一个顶层路由192.168.0.1,下面带一个软路由192.168.0.235(192.168.1.1)。

需求

192.168.0.100(后面简称0.100)能够ping通192.168.1.100(后面简称1.100),反之亦然,且位于VMware子网内的1.100能够访问互联网。

创建VMware子网

点击VMware中的“虚拟网路编辑器”

点击“更改设置”

点击弹窗中间的“添加网络”

随便选择一个即可

可以使用“重命名网络”对该网络进行重命名,我这里重命名为“DCTNet”

VMnet信息中选择选择“仅主机模式”,子网IP我用的192.168.2.0,为了不和192.168.1.0冲突

完成后点击“确定”即可。使用这种仅主机模式网卡的虚拟机根本没法连接互联网,但是我却能做到😎😎

创建软路由

没错!这一步就叫创建软路由,直接在VMware中创造一个路由器出来,也就是拓扑图中的192.168.0.235。我这里使用iKuai作为软路由系统。

固件下载-爱快 iKuai-商业场景网络解决方案提供商

直接去ikuai官网下载iso镜像包即可。安装不再赘述了,系统选择Linux3.0内核,光驱中添加系统的iso包就行。

这里需要注意的是虚拟机的网卡:

第一个网卡是用于桥接当前局域网的,也就是192.168.0.1的,第二块网卡相当于用来桥接子网的。注意看一下两块网卡的MAC地址:

选择网卡,点击“高级”后可以查看当前网卡的MAC地址,这个需要记录下来。我这里桥接上层网络的网卡是00:0C:29:D1:03:2B。连接子网的网卡是00:0C:29:D1:03:35

设置软路由

刚进入的样子可能是这样的,配置一片混乱。按1进行网卡绑定。

先通过

del lan1

解绑绑定有问题的网卡。然后再

set wan1 eth1

将桥接上层网络的网卡作为wan口

set lan1 eth0

将连接子网的网卡作为lan口

至此,网卡绑定方面的工作就完成了。

创建客户机

客户机很简单,随便整一台Windows虚拟机就行了,但是网络适配器要换成之前自己创建的子网,然后启动这台客户机。

由于客户机使用子网网卡正好是处于软路由的lan口上,所以可以直接手动修改客户机的IP地址为192.168.1.100。没错!这一步需要手动修改IP地址,不能直接用子网自动分配的IP地址。

网关使用192.168.1.1,也就是iKuai软路由的子网IP。如果不出意外的话,目前这台客户机已经可以访问互联网了。

操作软路由

浏览器进入192.168.1.1,就能打开iKuai的登录界面,默认的用户名和密码都是admin

进入之后就能当普通路由器一样操作了。

这里可以查看软路由自己的IP地址。

关闭防火墙

目前只剩一个需求了,那就是让192.168.0.*的电脑ping通192.168.1.*的电脑,反之亦然。

第一步就是要关闭两台电脑的防火墙,如果防火墙是打开状态,那无论如何都不可能ping的通。

192.168.1.* ping 192.168.0.*

这一步照道理来说关闭防火墙后就能直接ping通了,根本用不着配置,因为0号网段在1号网段的上层,本来就能访问到,但是反过来就不行了,因为1号网段是子网,处于下一层网络内部,自然是访问不到的。

配置静态路由

要让上一层路由能够访问下一层网络,那就必须告诉路由器怎么走,让192.168.0.100 ping 192.168.1.100的信息指向正确的地址。

进入路由器,注意是上一层的路由器哦!也就是192.168.0.1!添加一条静态路由。

目的地址就是下层网段的地址,那目的地址就是192.168.1.0,子网掩码是255.255.255.0,因为最后8位是主机位。

我在“出接口”这个配置上之前栽了个大跟头,选成WAN口了,导致一直都通不了,后来自己仔细想想才发现是这个配置错了,192.168.0.235明明在192.168.0.1这台路由器的LAN口才对,根本不是WAN口,所以出接口应该配置的是LAN口!就这一个地方浪费了我1小时,将各种地方排查了个遍,iKuai的静态路由也被我配置了一堆,结果发现根本没用!


验证效果

也就是说0.100的主机能ping通1.100了,这点对于以前的我来说是不敢想象的(因为匮乏的网络知识)

然后我在1.100(win10窗口不带圆角的)上启动了一个Nginx,让0.100(win11窗口带圆角)去访问,发现也是可以打开的。这就说明两层网络已经打通了,可以自由访问。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

重大进展:国产200层存储芯片实现量产,超越国际领先企业

近日,中国芯片技术领域迎来了一项历史性突破:200层以上的存储芯片率先实现量产,这一成就不仅超越了国外存储芯片巨头,更预示着中国有望成为全球行业的领军者。 后起之秀,鱼跃龙门 在这场技术的赛跑中,中国…

“死“社群先不要扔,想办法激活一下,隔壁的运营都馋哭了

私域运营已成为当下很多企业寻求增长的标配。在这过程中,社群运营就是极为重要的一个环节。过去我们为了流量,疯狂建群拉人。但建社群容易活跃难,活跃一段时间后,社群会越来越安静。 不仅如此,群主和管理员也渐渐疏于…

行为型设计模式—迭代器模式

迭代器模式:也叫作游标模式,能在不暴露复杂数据结构内部细节的情况下遍历其中所有的元素。在迭代器的帮助下, 客户端可以用一个迭代器接口以相似的方式遍历不同集合中的元素。 当集合背后为复杂的数据结构,且希望对客户端隐藏其复…

双非本科准备秋招(12.2)—— 力扣栈与队列

复习一下栈和队列的基础知识&#xff0c;刷几道题上上手。 1、102. 二叉树的层序遍历 广度优先遍历嘛&#xff0c;每次拓展一个新结点&#xff0c;就把新结点加入队列&#xff0c;这样遍历完队列中的元素&#xff0c;顺序就是层序遍历。 class Solution {public List<Lis…

分布式搜索引擎_学习笔记_3

分布式搜索引擎03 0.学习目标 1.数据聚合 **聚合&#xff08;aggregations&#xff09;**可以让我们极其方便的实现对数据的统计、分析、运算。例如&#xff1a; 什么品牌的手机最受欢迎&#xff1f;这些手机的平均价格、最高价格、最低价格&#xff1f;这些手机每月的销售…

91 C++对象模型探索。RTTI运行时类型识别回顾 与 存储位置介绍

一&#xff0c;RTTI 运行时类型识别&#xff0c;简单回顾 C运行时类型识别RTTI&#xff0c;要求父类这种必须 至少有一个虚函数&#xff0c;如果父类中没有虚函数&#xff0c;那么得到的RTTI就不准确&#xff1b; RTTI就可以在执行期间查询一个多态指针&#xff0c;或者多态应…

C++:第十四讲动态规划初步

每日C知识 想要在做C小游戏里实现等待效果&#xff0c;可以用Sleep。 Sleep函数可以使计算机程序&#xff08;进程&#xff0c;任务或线程&#xff09;进入休眠&#xff0c;使其在一段时间内处于非活动状态。 一般需要头文件windows.h。 注意"Sleep"首字母要大写…

k8s Sidecar filebeat 收集容器中的trace日志和app日志

目录 一、背景 二、设计 三、具体实现 Filebeat配置 K8S SideCar yaml Logstash配置 一、背景 将容器中服务的trace日志和应用日志收集到KAFKA&#xff0c;需要注意的是 trace 日志和app 日志需要存放在同一个KAFKA两个不同的topic中。分别为APP_TOPIC和TRACE_TOPIC 二、…

LLM之Agent(十)| 本地安装Microsoft AutoGen Studio 2.0教程

2021年3月&#xff0c;微软发布了AutoGen[2]&#xff0c;这是一个使用多个代理开发LLM应用程序的框架&#xff0c;这些代理可以协作解决任务。 2024年1月&#xff0c;微软推出了一款新的应用程序&#xff0c;它名为AutoGen Studio[3]&#xff0c;可以简化AI Agent执行过程。 一…

JavaScript入门

第二个知识点&#xff1a;javascript的基本语法 定义变量 在JavaScript里面&#xff0c;没有int&#xff0c;string 之类的数据类型&#xff0c;只有 var var num 1; var string "天玄地号"; 在javascript中&#xff0c;写完一句语句之后可以不加分号&#xff…

MyBatis概述与MyBatis入门程序

MyBatis概述与MyBatis入门程序 一、MyBatis概述二、入门程序1.准备开发环境&#xff08;1&#xff09;准备数据库&#xff08;2&#xff09;创建一个maven项目 2.编写代码&#xff08;1&#xff09;打包方式和引入依赖&#xff08;2&#xff09;新建mybatis-config.xml配置⽂件…

直方图均衡化原理与代码实现

1. 简介 直方图均衡化是一种用于增强图像对比度的图像处理技术。通过调整图像的灰度级别分布&#xff0c;直方图均衡化能够使图像中的像素值更加均匀分布&#xff0c;从而增强图像的细节和对比度。 2. 原理 直方图均衡化的原理是通过调整图像的累积分布函数&#xff08;CDF&…

H2数据库学习总结

H2数据库-简介 H2 是开源的轻量级Java数据库。它可以嵌入Java应用程序中或以客户端-服务器模式运行。 H2 数据库主要可以配置为作为内存数据库运行&#xff0c;这意味着数据将不会持久存储在磁盘上。 由于具有嵌入式数据库&#xff0c;因此它不用于生产开发&#xff0c;而主要…

017 JavaDoc生成文档

什么是JavaDoc 示例 package se;/*** 用于学习Java* author Admin* version 1.0* since 1.8*/ public class Test20240119 {/*** 主方法* param args*/public static void main(String[] args) {// 你好&#xff0c;世界System.out.println("Hello world");} } 写一…

C语言实战项目<贪吃蛇>

我们这篇会使用C语言在Windows环境的控制台中模拟实现经典小游戏贪吃蛇 实现基本的功能&#xff1a; 结果如下: 1.一些Win32 API知识 本次实现呢我们会用到一些Win32 API的知识(WIN32 API也就是Microsoft Windows 32位平台的应用程序编程接口): 1)控制窗口大小 我们可以使用…

43 漏洞发现-WEB应用之漏洞探针类型利用修复

目录 已知CMS开发框架末知CMS演示案例:开发框架类源码渗透测试报告-资讯-thinkphp开发框架类源码渗透测试-咨讯-spring已知CMS非框架类渗透测试报告-工具脚本-wordpress已知CMS非框架类渗透测试报告-代码审计-qqyewu_php未知CMS非框架类渗透测试报告-人工-你我都爱的wg哦~ 已知…

Unity 自动轮播、滑动轮播

如图所示&#xff0c;可设置轮播间隔&#xff0c;可左右滑动进行轮播 1.在UGUI创建个Image&#xff0c;添加自动水平组件 2.添加并配置脚本 3.代码如下&#xff0c;都有注释 using UnityEngine; using UnityEngine.UI;public class IndicatorManager : MonoBehaviour {public …

【IM】如何保证消息可用性(二)

请先阅读第一篇&#xff1a;【IM】如何保证消息可用性&#xff08;一&#xff09; 在第一篇文章中我们了解了保证消息可用性的挑战与目标&#xff0c;现在我们来对于具体的技术方案进行探讨。 1. 上行消息 消息上行过程指的是客户端发送消息给服务端 我们需要先辨析几个概念…

mybatis代码生成器配置pojo不生成Example类,且去掉表名前缀t_

待生成的表 mybatis-generator-config.xml的table属性配置如下时生成的pojo和mapper <table tableName"%"></table>正常想要的是去掉T且去掉Example类 <table tableName"%"enableCountByExample"false" enableUpdateByExample&…

初识C语言·文件操作

目录 1 关于文件 i)文件的基本知识 ii)数据文件的分类 2 文件打开和关闭 i)流和标准流 ii)文件指针 iii)文件打开和关闭 3 文件的顺序读写 i) fgetc fputc ii) fgets fputs iii) fscanf fprintf iv) fwrite fread 4 对比一组函数 scanf/fscanf/sscanf/printf/fpri…