基于VMware软件,模拟实现不一样网段的两主机,经过路由器进行通讯。两主机host A和host B分别处于VMnet6网络和VMnet7网络,都属于端系统,不能直接通讯,在这两台主机中添加两台路由器,便可实现通讯。在本实验中,由CentOS系统充当路由器,具体网络和IP信息科查看下图:网络
从上图能够得知:测试
主机A:有一个网卡(网络适配器)使用自定义虚拟网络VMnet6进行链接,ip为55.0.0.55/8。spa
主机 B:有一个网卡使用自定义虚拟网络VMnet7进行链接,ip为155.0.0.55/16。code
路由器a:使用CentOS7.3系统充当,有两个网卡,第一个网卡,链接到VMnet6链接,ip为55.0.0.1/8,即和主机A处于同一个网络,便可以直接和主机通讯;第二个网卡,使用VMnet1,即仅主机链接模式,ip设置为192.168.32.55/24。blog
路由器b:使用CentOS6.9系统充当,有两个网卡,第一个网卡,链接到VMnet1,ip为192.168.32.155/24;第二个网卡,链接到VMnet7,ip为155.0.0.1/16。ip
这样设置,至关于host A和route a的A网卡直接相连,route a的B网卡和route b的C网卡直接相连,route b的d网卡和host B直接相连。直接相连,意味着能够直接进行网络访问,使用ping命令能够检测路由
2.关闭防火墙。将全部设备的防火墙关闭虚拟机
关闭防火墙命令域名
CentOS 6: service iptables stop # 临时生效 chkconfig iptables off # 永久生效,关闭重启后,任然有效 CentOS 7: systemctl stop firewall.service # 临时生效 systemctl disable firewall.service # 永久生效
查看是否关闭table
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