Linux跨网段通信小实验
一、实验场景。
实验准备,Linux主机4台。分别是主机A,路由主机R1,路由主机R2,主机 C,主机A的ip是192.168.56.66/24,且只有一块网卡eth0;路由主机R1有两块网卡eth0和主机A在同一网段其ip地址是192.168.56.100/24,eth1的ip地址是172.16.56.223/16;主机R2有两块网卡eth0和主机C在同一网段其地址为10.0.0.25/8,eth1同R1在同一网段其地址为,172.16.56.200/16,主机C只有一块网卡eth0其地址为10.0.0.18/8
实验目的,实现主机A和主机C互相通信。模拟Linux主机通信原理,深入了解通信过程。

以上就是本次实验的拓扑图(图画的有点丑,看得懂就行,哈哈哈)
接下来开始试验。
1,从上面的拓扑图我们可以看出有3个网络,为了不让其他网络影响本次实验,我们在vmware里面增加3条虚拟网络

添加好虚拟网络后,现在准备4台主机,并配置好其相应的ip




说明:配置ip这里都是centos的系统,编辑其相应的文件/etc/sysconfig/network-scripts/ifcfg-eth0 或者eth1 ,然后重启网络服务就可以了。
2.开启r1,r2的转发,以及配置器路由

说明:因为A主机和R1在同一个网段,我们这里就不需要再配置到A主机的路由,只需要配置主机R1到C的路由,并指向R2为网关,也就是说要访问主机C 就必须通过R1的路由告诉报文要去找R2。开启R1的转发是因为,当报文到达R1的时候,它会检查数据报文是否是自己的,如果不是它默认会丢弃的,开启转发就表示不是本机的数据报文,它将转发到其他主机。这样配置后从A的报文理论上可以到达R2,如果打开R2的转发,报文将会到达C,但是从C回来的报文走到R2的时候,因为R2里面没有配置到A的路由,所以回来的报文还不能够到达A,接下来配置R2的路由。

说明:配置R2的路由的作用是当访问C主机的时候,C主机回应回来的报文,在经过R2是会查看R2的路由,这样从C回来的报文才能够顺利到达A
3,验证从ApingC

从CpingA

4,扩展
1.查看到达目标网络所经过的路由

说明:可以得之到达10.0.0.18 从本机经过了2个路由才到达。
2,删除同网段的路由是否能够通讯?

说明:这里要把默认路由也要删除,因为删除同网段的路由后,它默认会走默认路由,这样就可以看出删除了同网段的路由后,本机上不能和本网段的其他主机通信。
3,在r1上配置一个不是同网段的地址,主机A是否能够与之通讯?


说明:是可以通讯的,因为在Linux里ip是属于主机,不是属于某块网卡,只要主机A有到达主机R1的路由,就可以和R1上的所有ip通讯。这里主机A是走的默认路由
4,将R1的转发关了,数据报文还能到达C吗?


说明:是不可以的,因为当主机R1收到来自A主机的报文时,它会检查是不是它的,如果不是,它将会丢弃,不予回应,这里我们可以在R1上抓包就明白了

说明:可以看出在R1上是收到了A主机的发往C的报文,但是R1并没有给出回应。

说明:当我们打开R1的转发时,就可以看到从C回应A的数据报文,当然A主机上也会收到相应的回应报文。
5,在C上抓包看源ip和目标ip,源MAC和目标MAC的变化

说明:源ip是主机A的地址,目标ip是主机C的地址
主机A的MAC

主机C的MAC

主机R2的MAC

说明:通过上面的抓包,我们可以知道源ip和目标ip在以太网帧结构中是不会变化的,因为ip是在以太网上层internel协议的内容,但是源mac会变的。这是因为mac地址是Ethernet协议的内容,也可以得出在数据链路层通讯以太网协议是通过ARP mac地址通信的,在到达C主机的报文源MAC都是R2的MAC地址,也就是说在通讯的时候,以太网帧的结构中,源ip和目标ip是不会变化的,源mac会记录上一个发送数据报文的设备的MAC。
从上面的实验我们可以看出从A到C我们经过了两个路由;一个主机想要和另一个主机通讯,在通讯前主机会先查看自己的路由表,如果本机没有到达目标主机的路由时,本机的数据报文是不能发送到目标主机的;要让一个主机转发另一个主机的报文时,我们必须开启转发才行,否则不予转发;路由配置所指定的网关必须是本机能够到达的地址(也就是本机路由表有到达网关的路由),否则配置的路由无意义。同一网段的主机通讯,也必须配置路由,当然这个路由一般我们不用管,因为配置了其ip后,路由表就会默认生成相应的路由信息。如果没有路由,同一网段的主机也是无法通信的;在Linux里ip地址是属于主机不属于某一个网卡,所以只要有能够到达主机的地址,我们也可以将报文送到主机的另外一个地址。
Linux跨网段通信小实验的更多相关文章
- linux模拟实现主机跨路由通信
p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; text-align: justify; f ...
- 【朝花夕拾】Android性能篇之(七)Android跨进程通信篇
前言 只要是面试高级工程师岗位,Android跨进程通信就是最受面试官青睐的知识点之一.Android系统的运行由大量相互独立的进程相互协助来完成的,所以Android进程间通信问题,是做好Andro ...
- ARP跨网段广播
如果源主机和目的主机不在同一网段,ARP请求的广播帧无法穿过路由器,源主机如何与目标主机实现通信? 补充一下问题,避免因问题不完整而出现误解. ---------------------------- ...
- Linux 双网卡双网段通信
/********************************************************************************* * Linux 双网卡双网段通信 ...
- kafka集群跨双网段及多网段通信问题解决
一.问题场景: 实际生产环境总存在很多kafka集群跨网段的问题.kafka集群可能存在多个网卡,对应多个网段.不同网段之间需要同时与集群通信,即跨网段生产消费问题. 二.解决方法:自定义listen ...
- Linux学习-LVS跨网段DR模型和FWM多服务绑定
一.实验环境 系统:CentOS7.6 主机:5台 (虚拟机) 客户端1台:172.16.236.134/24 (NAT网卡),网关指向 172.16.236.185/24(路由服务器) 路由服务器1 ...
- linux 单机跨进程通信
一般来说通过网络通信(比如tcp,udp)或者共享内存的方式肯定可以实现跨进程通信,但现在这里要说的是比较偏但实用的几个方法:利用unix域通信(普通网络连接),利用unix域通信(socketpai ...
- elasticsearch 跨网段组集群
elasticsearch 是非常流行的全文搜索引擎,但网上的教程多是初次使用,并没有一些高级用法demo.这次遇到需要跨网段组网问题,自己摸索了文档很久,发现确实可行,于是着手做了个实验,最终实验成 ...
- linux同步与通信
这几天读完了UNP v2,对进程间通信与同步的方式有所了解,现对主要的知识点总结如下: 根据出现的历史,先有的管道,FIFO,信号,然后是systemV IPC,再是后来的Poxis IPC,syst ...
随机推荐
- Kubernetes之Pod介绍
下图Pod的客户端有两类:其他Pod和集群外的客户端 集群外访问需要通过service提供固定端点访问 service的类型有:ClusterIP.NodePort.LoadBalancer.Exte ...
- 从源码的角度彻底搞懂 HandlerMapping 和 HandlerAdapter
彻底搞懂 HandlerMapping和HandlerAdapter 知识点的回顾: 当Tomcat接收到请求后会回调Servlet的service方法,一开始入门Servlet时,我们会让自己的Se ...
- vue+element 实现商品sku效果
在网上搜索了很久,没有发现合适sku编辑的文章,只能自己写一个vue+element 的sku编辑功能.实现的效果如下图 除成本.售价.库存.货号这几个写死的属性外,可自行添加/删除商品属性,自行添加 ...
- 小工具---将图片文件MultipartFile保存到指定目录
import org.springframework.web.multipart.MultipartFile; import java.io.IOException; /** 保存图片 @author ...
- 网页背景H5视频自动播放---PC端、移动端兼容问题完美解决方案(IOS、安卓、微信端)
最近公司官网需要使用视频当做banner背景且自动播放,并且因为是官网需要做到PC端和移动端都可以适配兼容,这些问题很是头疼: 兵来将挡,水来土掩,进过查阅相关技术资料,现已完美兼容PC端和移动端.下 ...
- Django RESRframework奇淫技巧
Django RESRframework Mixins, ViewSet和router配合使用 Mixins的类共有五种 CreateModelMixin ListModelMixin Retriev ...
- 第三方软件 radmin提权
一款远控工具 端口扫描 4899 端口 上传 radmin.asp 木马读取 radmin的加密密文 下载radmin工具连接
- ESP8266开发之旅 基础篇⑤ ESP8266 SPI通信和I2C通信
设备与设备之间的通信往往都伴随着总线的使用,而用得比较多的就当属于SPI总线和I2C总线,而恰巧NodeMcu也支持这两种总线通信,所以本章的主要内容就是讲解ESP8266 SPI和I2C总线 ...
- 使用Jersey构建图片服务器
使用Jersey构建图片服务器 前台页面代码 <form id="jvForm" action="add.do" method="post&qu ...
- 闪讯 开启wifi教程
这是我自己试了几次之后发现的,也不是什么技术活. 首先说下,我的比较是小米pro笔记本,一般笔记本都是自带wifi功能的.如果要开wifi的话,必须是用网线连接才可以,通过wifi连接网络就不能开移动 ...