基于VMware模拟实现远程主机网络通信
基于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命令可以检测
实验步骤
- 硬件设置。按照图示,给各个设备添加网卡设备,在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模拟实现远程主机网络通信的更多相关文章
- 基于Vmware player的Windows 10 IoT core + RaspberryPi2安装部署
本文记录了基于Vmware Player安装Windows10和VS2015开发平台的过程,以及如何在RaspberryPi2.0上启动Windows10 IoT core系统,并通过一个简单的hel ...
- 基于VMware的eCos环境编译redboot(脚本配置redboot)
基于VMware的ecos,redboot及hello world(1)安装请参照[[ecos学习2]wmware运行redboot[方法二]--图形实现配置 ] (2)修改内存布局文件:~/i386 ...
- 基于VMware的虚拟Linux集群搭建-lvs+keepalived
基于VMware的虚拟Linux集群搭建-lvs+keepalived 本文通过keepalived实现lvsserver的的双机热备和真实server之间的负载均衡.这方面的blog挺多,可是每一个 ...
- jQuery使用(九):队列及实现原理、基于队列模拟实现animate()
开篇一张图之队列模型 queue()如何使用? queue()原理实现? 基于queue()模拟实现animate() 一.使用queuer方法.理解队列原理 queue() dequeue() cl ...
- 【申嵌视频】基于VMWare虚拟机下安装ubuntu操作系统的详细步骤
[申嵌视频]基于VMWare虚拟机下安装ubuntu操作系统 适合搭建mini2440, Tiny6410, smart210,Tiny4412, NanoPC-T2, NanoPC-T3, Nano ...
- 基于VMware Workstation搭建开发服务器
基于VMware Workstation搭建开发服务器 文章为本人原创,转载请联系作者并注明出处.晓松 源URL: https://www.jianshu.com/p/e62ab7de0124 我 ...
- 基于 VMware 的超融合, 解析 vSAN 与 SmartX ZBS 的优劣差异
在企业级IT领域从业多年,最近越来越多地听到圈内人谈论起超融合技术的种种好处.的确,超融合技术已越来越走向成熟,带来的价值也逐渐凸显.它可靠性高,资源消耗低,尤其是运维部署非常便捷.在企业基础架构领域 ...
- 基于VMWare配置VxWorks开发环境
常规VxWorks的开发环境都是基于目标开发板或目标机来构建的,但并非所有人都具备这样的条件,所以本文主要介绍如何基于vmware来构建VxWorks开发环境. Step 1. 安装vmware ...
- 【安装文档】TRex流量分析仪保姆级安装指南--基于VMware虚拟机(ubantu18.04@Intel 82545EM)
前言 既然你已经知道TRex并尝试搜索它的安装教程,这意味着你有一定的基础知识(至少知道自己需要什么).因此本文对于TRex的介绍部分会偏少 本次主要为TRex安装过程的一次记录(版本为v3.0.0) ...
随机推荐
- java 安装环境 疑问(1)
java安装时有看到javaEE的 sdk 和 javaSE的jdk,这一点查一下资料,一般时安装jdk就好了
- 【译】第18节---数据注解-ForeignKey
原文:http://www.entityframeworktutorial.net/code-first/foreignkey-dataannotations-attribute-in-code-fi ...
- JavaScript深入
BOM(浏览器对象模型)——与浏览器对话: Window对象(代表浏览器的窗口——不包括工具栏.滚动条): //所有全局对象.全局函数,均自动成为window对象的成员(document属于浏览器,所 ...
- phpstorm软件配置端口问题
phpstorm默认的端口号是:63342 但是我装的apache服务器的默认端口是80 网上查找资料,都说可以加listen的端口,比如这里 #Listen 12.34.56.78:80 Lis ...
- el-cascader 级联选择器使用时遇到的一些问题
Element UI Cascader官网文档 <el-form-item label="章节" style="margin-right: 64px"&g ...
- android studio 的基本使用和建立一个小项目
https://github.com/allenxieyusheng/Android-Studio
- Flexbox弹性布局,更优雅的布局
Flexbox,更优雅的布局 Flex 布局教程:语法篇 Flex 布局教程:实例篇 2009年,W3C提出了一种新的方案----Flex布局,可以简便.完整.响应式地实现各种页面布局.目前,它已经得 ...
- python 定时器
2s启动一个定时器: import threading import time def hello(name): print "hello %s\n" % name global ...
- JavaSE习题 第七章 常用实用类
问答题 1.怎样实例化一个Calendar对象? Calendar ca=Calendar.getInstance(); 2.Calendar对象调用set(1949,9,1)设置的年月日分别是多少? ...
- java正则常用记录
1. java中 字符串的某个字母是否有某个指定字符N : for(int i=0;i<temp.length();i++){ if( temp.get(i).substring(0,1) ...