基于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 6: service iptables stop # 临时生效 chkconfig iptables off # 永久生效,关闭重启后,任然有效 CentOS 7: systemctl stop firewall.service # 临时生效 systemctl disable firewall.service # 永久生效
查看是否关闭
CentOS 6: service iptables status CentOS 7: systemctl status firewall.service
3.关闭NetworkManager服务
NetworkManager和network不是同一个服务,当两个服务同时开启,会优先执行NetworkManager服务,关闭NetworkManager,不影响network服务。
CentOS 6: service NetworkManager stop CentOS 7: 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=8 # 网络位数 GATEWAY=55.0.0.1 # 网关 DNS1=8.8.8.8 # 域名地址
B.host B网络配置
DEVICE=eth3 # 根据自身的设备名做修改 TYPE=Ethernet IPADDR=155.0.0.55 PREFIX=16 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=8 DNS1=8.8.8.8 B网卡配置: DEVICE="ens33" TYPE="Ethernet" ONBOOT="yes" BOOTPROTO="static" IPADDR=192.168.0.55 PREFIX=24 DNS1=8.8.8.8
D. route b网络配置
C网卡配置: DEVICE=eth0 HWADDR=00:0C:29:8F:5C:31 TYPE=Ethernet UUID=19f3041b-317b-4a32-bed5- 23f526d177c1 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=192.168.0.155 PREFIX=24 DNS1=8.8.8.8 D网卡配置: DEVICE=eth1 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=155.0.0.1 PREFIX=16 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