基于VMware模拟实现远程主机网络通信

目的:

基于VMware软件,模拟实现不同网段的两主机,通过路由器进行通信。两主机host A和host B分别处于VMnet6网络和VMnet7网络,都属于端系统,不能直接通信,在这两台主机中添加两台路由器,即可实现通信。在本实验中,由CentOS系统充当路由器,具体网络和IP信息科查看下图:

从上图可以得知:

主机A:有一个网卡(网络适配器)使用自定义虚拟网络VMnet6进行连接,ip为55.0.0.55/8。

主机 B:有一个网卡使用自定义虚拟网络VMnet7进行连接,ip为155.0.0.55/16。

路由器a:使用CentOS7.3系统充当,有两个网卡,第一个网卡,连接到VMnet6连接,ip为55.0.0.1/8,即和主机A处于同一个网络,即可以直接和主机通信;第二个网卡,使用VMnet1,即仅主机连接模式,ip设置为192.168.32.55/24。

路由器b:使用CentOS6.9系统充当,有两个网卡,第一个网卡,连接到VMnet1,ip为192.168.32.155/24;第二个网卡,连接到VMnet7,ip为155.0.0.1/16。

这样设置,相当于host A和route a的A网卡直接相连,route a的B网卡和route b的C网卡直接相连,route b的d网卡和host B直接相连。直接相连,意味着可以直接进行网络访问,使用ping命令可以检测

实验步骤

  1. 硬件设置。按照图示,给各个设备添加网卡设备,在VMware 12 pro中,在关闭虚拟机的状态下,右键单击对应虚拟机,设置-->硬件-->添加-->网络适配器,就可以添加网卡

2.关闭防火墙。将所有设备的防火墙关闭

关闭防火墙命令

    

CentOS :
service iptables stop         # 临时生效
chkconfig iptables off       # 永久生效,关闭重启后,任然有效
CentOS :
systemctl stop firewall.service   # 临时生效
systemctl disable firewall.service    # 永久生效

查看是否关闭

CentOS :
service iptables status
CentOS :
systemctl status firewall.service

3.关闭NetworkManager服务

NetworkManager和network不是同一个服务,当两个服务同时开启,会优先执行NetworkManager服务,关闭NetworkManager,不影响network服务。

CentOS  :
service NetworkManager stop
CentOS :
systemctl stop NetworkManager

4.配置网络

A. host A网络配置

DEVICE=eth1                        #    对应设备名,根据自身的设备名做修改
NAME=eth1 # 设置名称,可不配置
TYPE=Ethernet # 网络类型 以太网
ONBOOT=yes # 自动连接
BOOTPROTO=static # 设置静态ip
IPADDR=55.0.0.55 # ip
PREFIX= # 网络位数
GATEWAY=55.0.0.1 # 网关
DNS1=8.8.8.8 # 域名地址

B.host B网络配置

DEVICE=eth3                          #      根据自身的设备名做修改
TYPE=Ethernet
IPADDR=155.0.0.55
PREFIX=
GATEWAY=155.0.0.1
DNS1=8.8.8.8

C. route a网络配置

A网卡配置:
DEVICE="ens38"
ONBOOT="yes"
TYPE="Ethernet"
BOOTPROTO="static"
IPADDR=55.0.0.1
PREFIX=
DNS1=8.8.8.8 B网卡配置:
DEVICE="ens33"
TYPE="Ethernet"
ONBOOT="yes"
BOOTPROTO="static"
IPADDR=192.168.0.55
PREFIX=
DNS1=8.8.8.8

D. route b网络配置

C网卡配置:
DEVICE=eth0
HWADDR=:0C::8F:5C:
TYPE=Ethernet
UUID=19f3041b-317b-4a32-bed5- 23f526d177c1
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.0.155
PREFIX=
DNS1=8.8.8.8 D网卡配置:
DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=155.0.0.1
PREFIX=
DNS1=8.8.8.8

5.开启两个“路由器”的路由功能

默认情况下,CentOS系统仅接收网络中与自身相关的数据包,与自身无关的包,做屏蔽处理,为了能够接收并转发网络中的数据包,需做一下设置:

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

6.测试

    使用ping命令,例如,在hostA上,测试与route a中A网卡的连接状态:

  ping 155.0.0.1

    分段测试:

先测试,直接相连的网络是否通信:

host A —— route A

route B —— route C

route D —— host B

如果这三段都通了,可以进行下一步测试;否则,参照前面步骤重新设置

然后测试:

host A —— route B

host A —— route C

host D —— route C

host D —— route B

最终测试:

host A —— host B

基于VMware模拟实现远程主机网络通信的更多相关文章

  1. 基于Vmware player的Windows 10 IoT core + RaspberryPi2安装部署

    本文记录了基于Vmware Player安装Windows10和VS2015开发平台的过程,以及如何在RaspberryPi2.0上启动Windows10 IoT core系统,并通过一个简单的hel ...

  2. 基于VMware的eCos环境编译redboot(脚本配置redboot)

    基于VMware的ecos,redboot及hello world(1)安装请参照[[ecos学习2]wmware运行redboot[方法二]--图形实现配置 ] (2)修改内存布局文件:~/i386 ...

  3. 基于VMware的虚拟Linux集群搭建-lvs+keepalived

    基于VMware的虚拟Linux集群搭建-lvs+keepalived 本文通过keepalived实现lvsserver的的双机热备和真实server之间的负载均衡.这方面的blog挺多,可是每一个 ...

  4. jQuery使用(九):队列及实现原理、基于队列模拟实现animate()

    开篇一张图之队列模型 queue()如何使用? queue()原理实现? 基于queue()模拟实现animate() 一.使用queuer方法.理解队列原理 queue() dequeue() cl ...

  5. 【申嵌视频】基于VMWare虚拟机下安装ubuntu操作系统的详细步骤

    [申嵌视频]基于VMWare虚拟机下安装ubuntu操作系统 适合搭建mini2440, Tiny6410, smart210,Tiny4412, NanoPC-T2, NanoPC-T3, Nano ...

  6. 基于VMware Workstation搭建开发服务器

    基于VMware Workstation搭建开发服务器   文章为本人原创,转载请联系作者并注明出处.晓松 源URL: https://www.jianshu.com/p/e62ab7de0124 我 ...

  7. 基于 VMware 的超融合, 解析 vSAN 与 SmartX ZBS 的优劣差异

    在企业级IT领域从业多年,最近越来越多地听到圈内人谈论起超融合技术的种种好处.的确,超融合技术已越来越走向成熟,带来的价值也逐渐凸显.它可靠性高,资源消耗低,尤其是运维部署非常便捷.在企业基础架构领域 ...

  8. 基于VMWare配置VxWorks开发环境

    常规VxWorks的开发环境都是基于目标开发板或目标机来构建的,但并非所有人都具备这样的条件,所以本文主要介绍如何基于vmware来构建VxWorks开发环境.   Step 1. 安装vmware ...

  9. 【安装文档】TRex流量分析仪保姆级安装指南--基于VMware虚拟机(ubantu18.04@Intel 82545EM)

    前言 既然你已经知道TRex并尝试搜索它的安装教程,这意味着你有一定的基础知识(至少知道自己需要什么).因此本文对于TRex的介绍部分会偏少 本次主要为TRex安装过程的一次记录(版本为v3.0.0) ...

随机推荐

  1. P4172 [WC2006]水管局长

    P4172 [WC2006]水管局长 前言 luogu数据太小 去bzoj,他的数据大一些 思路 正着删不好维护 那就倒着加,没了 LCT维护他的最小生成树MST 树上加一条边肯定会有一个环 看看环上 ...

  2. 2018年第九届蓝桥杯B组题C++汇总解析-fishers

    2018年第九届蓝桥杯B组题C++解析-fishers 题型 第一题:第几天 第二题:明码 第三题:乘积尾零 第四题:测试次数 第五题:快速排序 第六题:递增三元组 第七题:螺旋折线 第八题:日志统计 ...

  3. P2234 [HNOI2002]营业额统计(Splay树)题解

    思路:Splay数查找前驱后继 代码: #include<iostream> #include<cstdio> #include<cstring> #include ...

  4. P2617 Dynamic Rankings(带修主席树)

    所谓带修主席树,就是用树状数组的方法维护主席树的前缀和 思路 带修主席树的板子 注意数据范围显然要离散化即可 代码 #include <cstdio> #include <cstri ...

  5. 论文阅读: End-to-end Learning of Action Detection from Frame Glimpses in Videos

      End-to-End Learning of Action Detection from Frame Glimpses in Videos  CVPR 2016  Motivation:    本 ...

  6. 今天就整一个bug了

    BeanPostProcessor加载次序及其对Bean造成的影响分析 SSM整合出现not found for dependency: expected at least 1 bean which ...

  7. ToString()格式和用法大全,C#实现保留两位小数的方法

    C,货币,2.5.ToString("C"),¥2.50.D,十进制数,25.ToString("D5"),00025.E,科学型,25000.ToString ...

  8. Python3 list sort排序

    转自:https://blog.csdn.net/u010758410/article/details/79737498 当带排序列表的元素由多字段构成时,我们可以通过sorted(iterable ...

  9. 良好的GUI设计指南

    一.设计指南 摘自:<需求分析与系统设计(第3版)> 7.1.2. 1. 用户控制 用户事件(菜单动作.鼠标点击.屏幕光标移动等)打开GUI窗口或调用程序:程序执行需要反馈到用户. 2.  ...

  10. 使用 node 创建代码服务器

    var express = require('express'); var proxy = require('http-proxy-middleware'); var app = express(); ...