模拟主机跨路由通信实验

实验器材:

五台虚拟机,其中两台作为通信双方主机,三台主机作为路由器使用

通信主机使用的是centOS6.9。

另外三台也是centOS6.9,但是是最小化安装的。

本实验使用命令请参考网络配置之基本网络配置

我们以下图为例,来实现我们这次实验:

在试验中,我们需要四个网段,所以,我们需要在虚拟机上添加四个网段,以便我们可以完成实验:VMnet11,VMnet12,VMnet13,VMnet14

由于我们只是独立的环境进行模拟,所以我们使用的全部都是仅主机模式,这一点一定要清楚,然后,我们要做的是给这五台主机先配置网段:

每一个都需要进行设置,作为路由器的几个虚拟机需要配置两个网段,而作为通信主机的两个虚拟机,只需要设置一个网段,我使用的是eth1,作为通信主机的接口。

我的配置:

CT6.9_1 eth1:Vmnet11

    node1 eth0:Vmnet11

            eth1:Vmnet12

    node2 eth0:Vmnet12

            eth1:Vmnet13

    node3 eth0:Vmnet13

            eth1:Vmnet14

    CT6.9_2 eth0:Vmnet14

接下来,我们要做的就是要给通信双方主机和路由添加相对应的IP和网关。

首先是CT6.9_1 eth1,我们在/etc/sysconfig/network-scripts/配置IP地址和网关,然后看它是否生效。

生效了:

我们刚刚配置完一个通信主机,接下来,我们将对第二个通信向主机进行配置。

CT6.9_2 eth0,我们在/etc/sysconfig/network-scripts/配置IP地址和网关,然后看它是否生效。

至此,我们的两台通信主机已经配置完成,接下来,我们将会对三个路由器进行配置。包括ip的配置和路由表的配置。

node1:

网络IP配置完成,由于它充当的是路由器,所以光配置网络IP是不够的,接下来我们需要给他配置路由手动添加路由信息:


网络ID


子网掩码


接口


网关


10.5.0.0


255.255.0.0


eth0

 

10.6.0.0


255.255.0.0


eth1

 

10.7.0.0


255.255.0.0


eth1


10.6.0.200


10.8.0.0


255.255.0.0


eth1


10.6.0.200

由上图我们可以知道,当我们在配置完IP之后,相邻的两个网段的路由信息就会直接存入路由表中,也就是实际上我们添加两条路由信息就够了。

添加如下:

配置方法和如上所示,node2和node3的网络和路由配置过程不再显示,基本和上面相同,我只把其他的两个路由表给写出来,仅供参考。

node2:


网络ID


子网掩码


接口


网关


10.5.0.0


255.255.0.0


eth0


10.6.0.100


10.6.0.0


255.255.0.0


eth0

 

10.7.0.0


255.255.0.0


eth1

 

10.8.0.0


255.255.0.0


eth1


10.7.0.200

node3:


网络ID


子网掩码


接口


网关


10.5.0.0


255.255.0.0


eth0


10.7.0.100


10.6.0.0


255.255.0.0


eth0


10.7.0.100


10.7.0.0


255.255.0.0


eth0

 

10.8.0.0


255.255.0.0


eth1

 

我们在完成配置之后,首先要进行的是对相邻的两台 机器之间进行ping操作,看是否连通:

有上面的几张图片我们可以发现,两两之间都可以相互 ping通,这是不是意味着,我们的主机A和主机B就可以进行通信了呢?我们可以试一下:

实际上,我们发现,根本不行,这是为什么呢,这是由于中间三台机器是linux虚拟机充当的路由器,并不是真正的路由器,这些主机在收到包以后,如果发现不是给自己的包,就会直接丢弃,而不是去做转发,如果要让它有转发功能,我们需要做一个操作:(中间作为路由的机器都要操作)

echo 1 > /proc/sys/net/ipv4/ip_forward

这个时候我们再看:

发现依旧是有问题的,我查看一下防护墙设置,发现防火墙开着的,然后,我就把防火前给关掉,命令:

centos6

  chkconfig iptables off

  servcie iptables stop

centos7

  systemctl disable firewalld

  systemctl stop firewalld

然后,我们使用主机A去ping主机B:

此时,我们基本已将完成了本次实验。

我们可以在CT6.9_1使用命令 mtr 10.8.0.1 动态跟踪路由

我们接下来能不能对我们这次实验进行一下简单的优化呢,当然是可以的,我们可以看到,在路由R3(node3)上的路由信息,我们发现我们添加的两条路由信息,除了目的网络ID外都是一样的,这样的话,我们能不能将两条信息合成一条呢,答案是可以的。由于R3是一个处于边缘的路由,我们完全可以当它是一个默认路由,可以把我们添加的那两条记录改成如下:


网络ID


子网掩码


接口


网关


0.0.0.0


255.255.0.0


eth0


10.7.0.100

我们进行操作,先删除路由表中的原来添加的信息:

然后把上面的一条路由信息添加进去:(添加默认路由)

  route add –net 0.0.0.0/0 gw 10.7.0.100或route add defualt gw 10.7.0.100

我们可以按照这个方法,把R1(node1)的也给改掉。

接下来,我们在看一个东西,如果此时我们在R1上面只给加上通往10.8.0.0的路由信息,不给加通往10.7.0.0网段的路由信息,我们的消息可以到达10.8.0.0网段吗? 我们可以试一下。

我们先删除刚添加的默认路由的信息:

接下来,我们ping一下10.8.0.100:

我们发现,居然是ping通的,这是为什么呢,因为R1一边连主机A一边连着外界,我们的数据包没有到达10.7.0.0网段的,所以,当路由器R1收到包以后,只管向外转发就行了,让后再由R2转发给R3到达目的网段,所以,我们可以不配置到达10.7.0.0网段的路由信息,但是当我们的数据包是要到达10.7.0.0网段时,就不行了。

这就是我们本次实验的全部内容。

时间: 2025-01-02 13:41:01

模拟主机跨路由通信实验的相关文章

实验:模拟实现主机跨路由通信

p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; text-align: justify; font-size: 14.0pt; font-family: 等线 } h1 { margin: 0cm; margin-bottom: .0001pt; text-align: justify; line-height: 30.0pt; page-break-after: avoid; font-

实战作业4,实验环境下Linux主机之间实现跨网段通信

更多内容请点击: Linux学习从入门到打死也不放弃,完全笔记整理(持续更新,求收藏,求点赞~~~~) http://blog.51cto.com/13683480/2095439 实验目标: 用vmware多台虚拟机模拟,实现主机间的跨网段通信(相互之间能ping通). 实验要求: 主机A 和 主机B 之间实现通信,中间至少跨越3个路由器(linux主机模拟路由器) 准备工作: 至少5台虚拟机. 由于本身只安装了centos6.9,centos7.4,redhat5.4 三台虚拟机,所以临时克

跨vlan通信-----单臂路由技术

跨vlan通信-----单臂路由技术 实验目标: 1):实现跨vlan通信 为什么要使用vlan: 1):提高性能-----------------同一个广播域发送广播,造成网络堵塞. 2):提高安全性--------------同一广播域中,机器设备过多,安全性降低. 实验网络拓扑 pc1                             pc2 pc3                                 pc4 VLAN划分与设定 进入交换机1 <Huawei>syste

主机间路由实验

主机间路由实验 搭建一个环境让主机A通过4个不同的网段来访问主机B 实验设计思路 主机A和主机B之间用3台Linux主机充当路由设备将每个网段隔开,A到R1使用仅主机模式的网络,R1到R2使用vmnet2网络,R2到R3使用vmnet3网络,R3到B使用桥接网络,网络地址如下表所示. 主机 系统 eth0 eth1 A CentOS6 192.168.172.10 R1 CentOS6 192.168.172.100 10.0.0.10 R2 CentOS6 10.0.0.100 192.168

Docker容器跨主机多网段通信解决方案

实现Docker的跨主机网络通信的方案有很多,比如在之前博文中写到的通过部署consul服务实现Docker容器跨主机通信 ,但是consul服务并不能实现多个网段跨主机进行通信,在这种情况之下,MacVlan的概念就应用而生了. Macvlan工作原理: Macvlan是Linux内核支持的网络接口.要求的Linux内部版本是v3.9–3.19和4.0+: 通过为物理网卡创建Macvlan子接口,允许一块物理网卡拥有多个独立的MAC地址和IP地址.虚拟出来的子接口将直接暴露在相邻物理网络中.从

IDC通信实验

[背景]模拟下IDC机房通信流程,其实就是根据自己的想法来做的实验,有不对之处,请指正! 在这里我们假设有两种流量,应用与管理流量,我们想让其管理流量与应用流量分开,但以下实验并没有完全将应用流量与管理流量分开,因我们有内网的应用如DB,那么,我们应该使用其管理口来使流量分开,此次实验没有做,而且内网还可以再细化,如不同部门应用服务器不同,他们之间应该也需要做相应的限制,而且网段过大的话,也会造成广播风暴,还会因arp攻击造成全局的问题,所以后期,我还会做上相应的vlan划分,并且此处没有做Ha

网络跨路由交换

网络拓扑图 在这个网络上有四个网段三个路由.我要实现1.4网段互通. 为满足这个要求需要满足一网段到四网段的通信同时也要满足四网段到一网段的通信 每个路由上两个网段可以互通,但是不能跨路由. 我的一网段在R1上想要访问R3上的四网段就必须跳到R2上让R2帮我将数据发送到R3上 反之同上,这种情况下我们就要让路由实现跨路由跨网段寻找目标主机. 下面开始配置: 首先确认各接口IP R1 GE 0/0/1 ip192.168.1.254 GE 0/0/0 ip192.168.2.254 R2 GE 0

SylixOS AMP下跨网段通信

适用范围本方法适用于SylixOS AMP下配置有虚拟网络设备的跨网段通信.内核版本:1.7.3,硬件平台:TMDSEVM6678LE. 背景在近期构建的DSP6678工程中,0核运行SylixOS lite版,1-7核运行SylixOS动态加载版.其中只有0核能够使用有线网络,1-7核无法使用,使得无法通过网络调试和动态加载应用程序.然而每个核配置了虚拟网络,该虚拟网络基于共享内存实现.此时,需要配置网络,使得PC端能够通过DSP板卡上的有线网口与所有核通信. 网络拓扑图图 3 1是PC与TM

简单的模拟小型公司网络配置实验

实验名称: 简单的模拟小型公司的构建网络配置实验实验要求:1.R1\R2\R3分别连接不同的楼宇 A\B\C2.楼宇A .#存在 VLAN 10 .vlan 20 . vlan 30 网段为: 192.168.10.0/24192.168.20.0/24192.168.30.0/24#PC-1/3 属于 vlan 10 ,自动获取ip地址:#pc-2/4 属于 vlan 20 ,自动获取ip地址:#sw5作为 DHCP 服务器,属于 vlan 30:#sw1与sw5 的弧线端口的模式为 hybr