背景
因做Fisco区块链项目的原因,需要在linux终端搭建区块链网络,在windows操作系统中用python-sdk与区块链网络通信。相互通信之前需要主机和虚拟机之间能相互ping通。
环境需求
1.windows 10
2.VMwares(这个在软件管家公众号下载的)
3.Centos7(下载地址,选择DVD-2009.iso版本)
实验原理
总共涉及4个IP地址,主机IP,虚拟机IP,主机VMnet8IP,虚拟机NET网卡IP。连接顺序如下:

因此只要把这四个东西都设在前缀一样的IP下就能相互ping。
实验步骤
1.搭建环境
主要就是安装虚拟机,这个有很多教程这里不展开描述。但要记住的是安装时在选择版本的时候一定要选择带有GUI的,如果只有命令行对习惯windows操作系统的我们来说不是很友好。
2.查看主机和虚拟机的ip
主机端
打开cmd命令行界面,输入 ipconfig

可以看到有很多个ip,记住这个无线局域网的ip和网关。如我这台电脑的ip地址为10.20.69.175,网关为10.20.0.1。
虚拟机端
打开终端输入命令ifconfig

ens33为网卡,在这个下面找到inet后面的数字就为虚拟机的ip地址。如我的虚拟机ip地址为10.20.0.131(我这个是改过虚拟机网络配置的所以前缀和主机一样)。
3 修改主机网络配置
打开控制面板点击网络和共享中心

打开网络和共享中心点击更改适配器

打开更改适配器右击VMnet8->属性

按步骤点击

在属性中修改使用下面的IP地址,IP地址改为和主机网关IP一致,这里我的主机网关IP为10.20.0.1

4 修改虚拟机网络配置
打开VMware,编辑->虚拟网络编辑器

选择VMnet8也就是NAT模式,子网IP改为和主机网关一致的前缀,比如我的主机网关为10.20.0.1,那么这里子网IP就改为10.20.0.0

之后点NAT设置,网关改为10.20.0.2,注意千万不要设为10.20.0.1

右击虚拟机设置

确保虚拟机使用的是NAT模式

实验结果
结果相互能ping通
主机

虚拟机

这时候它们的IP地址关系如下:

一些问题
1.防火墙问题
很多教程让关闭防火墙,而我在这里没有关闭照样实现了互ping
2.关于主机IP
实际上只要VMnet8和虚拟机网关在同一IP网段下就行,因为其实每次换一个WIFI主机IP地址都会更改。这里我尝试过,纠正一下上面的VMnet8 IP地址和主机网关IP不用严格保持一致。