基于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. 最小二乘法拟合非线性函数及其Matlab/Excel 实现

    1.最小二乘原理 Matlab直接实现最小二乘法的示例: close x = 1:1:100; a = -1.5; b = -10; y = a*log(x)+b; yrand = y + 0.5*r ...

  2. Difference between ID and control.ClientID OR why use control.ClientID if I can access control through ID

     https://stackoverflow.com/questions/3743582/difference-between-id-and-control-clientid-or-why-use-c ...

  3. 4-Four-Seeing hands

      ①Several cases have been reported in Russia recently of people who can read and detect colours wit ...

  4. Jupyter Notebook主题字体设置及自动代码补全

    Jupyter Notebook用久了就离不开了,然而自带的主题真的不忍直视.为了视力着想,为了自己看起来舒服,于是折腾了一番..在github上发现了一个jupyter-themes工具,可以通过p ...

  5. ISE14.7兼容性问题集锦https://www.cnblogs.com/ninghechuan/p/7241371.html

    ISE14.7兼容性问题集锦 对于电子工程师来说,很多电路设计仿真软件都是特别大的,安装下来一般都是上G,甚至几十G,而且win7的兼容性也是最好的,不愿意升级win10是因为麻烦,而且没有必要,对于 ...

  6. 2、Python函数详解(0601)

    函数的基础概念 1.函数是python为了代码最大程度的重用和最小化代码冗余而提供的基本程序结构: 2.函数是一种设计工具,它能让程序员将复杂的系统分解为可管理的部件: 3.函数用于将相关功能打包并参 ...

  7. Thymeleaf 模板引擎技术

    引入Thymeleaf: <!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf. ...

  8. axios的学习与使用

    最近的项目都是使用的vue框架,所以请求都使用了vue官方推荐的axios. 官方中文介绍 此处记录一下常用的写法 执行 GET 请求 // 为给定 ID 的 user 创建请求 axios.get( ...

  9. chrome浏览器的SwitchyOmega插件使用方法

    对于有某些特殊需求的人来讲,应该对这个插件不陌生,但是很多人不了解这插件的工作原理,百度的老教程又很烂,在刚开始用的时候我也不知道怎么办,去百度搜出来的教程基本都是让下载个规则文件让你去导入,但一般这 ...

  10. Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA

    解决方法: 如果安装的是GPU版本 如果你有一个GPU,你不应该关心AVX的支持,因为大多数昂贵的操作将被分派到一个GPU设备上(除非明确地设置).在这种情况下,您可以简单地忽略此警告: import ...