基于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. SpringBoot 统一异常处理

    统一异常处理: @ControllerAdvice public class GlobalExceptionHandler { private Logger logger = LoggerFactor ...

  2. P1829 [国家集训队]Crash的数字表格 / JZPTAB

    推式子太快乐啦!虽然我好蠢而且dummy和maomao好巨(划掉) 思路 莫比乌斯反演的题目 首先这题有\(O(\sqrt n)\)的做法但是我没写咕咕咕 然后就是爆推一波式子 \[ \sum_{i= ...

  3. Python 安装与环境变量配置

    一.软件下载 Python安装包下载地址:https://www.python.org/ 二.安装过程(略) 三.环境变量配置: 方法一:使用cmd命令添加path环境变量 在cmd下输入: path ...

  4. Java基础【基本数据类型包装类、int与String 之间的相互转换】

    为什么会有基本类型包装类? 将基本类型数据类型封装成对象,这样的好处可以在对象中定义更多方法操作该数据. 包装类常用的操作就是用于基本数据类型与字符串之间的转换 问题:int a=100; 为什么不能 ...

  5. pc网页中嵌入百度地图

    pc网页中嵌入百度地图 1 打开百度地图生成器: http://api.map.baidu.com/lbsapi/creatmap/ 2 设置好了之后,点击获取代码,将代码粘贴到文件中保存为html文 ...

  6. VR外包公司—2016中国VR开发者论坛第一期

    由VR界网和暴风魔镜联合举办的2016中国VR开发者论坛第一期已于3月2日下午5点在吉林动画学院圆满落幕,本次论坛云集了VR相关领域的精英,邀请了VR社交<极乐王国>.暴风魔镜.南京睿悦. ...

  7. 再谈java编码

    一篇好文:从原理上搞懂编码——究竟什么是编码?什么是解码?什么是字节流? encode,即把字符按照指定的<编码gbk utf-8等>编码成该<编码>所表示的字节 decode ...

  8. 史上最全Java面试题(带全部答案)

    今天要谈的主题是关于求职,求职是在每个技术人员的生涯中都要经历多次.对于我们大部分人而言,在进入自己心仪的公司之前少不了准备工作,有一份全面细致面试题将帮助我们减少许多麻烦.在跳槽季来临之前,特地做这 ...

  9. [转]VS中的路径宏 OutDir、ProjectDir、SolutionDir各种路径含义

    转自 http://blog.csdn.net/restraint/article/details/39934401 说明 $(RemoteMachine) 设置为“调试”属性页上“远程计算机”属性的 ...

  10. DRF中的APIView、GenericAPIView、ViewSet

    1.APIView(rest_framework.views import APIView),是REST framework提供的所有视图的基类,继承自Django的View. 传入到视图方法中的是R ...