arp 不同网段 相同vlan_ARP(二)----ARP代理

ARP代理的功能,主要是解决现网规划中遇到的的一些困境,重新规划费时费力,使用代理解决一些问题,实际使用可能很少

但是学习ARP代理,可以强化自身分析设备互访时,数据包封装、走向,便于提升自己水平。

Proxy ARP

ARP只适用于处于同一物理网络的相同网段主机之间的通信。

网络中的路由器、PC收到主机发送的ARP请求报文后,会检查报文的目的IP地址是否是本机的IP,以确定该报文请求的是不是本机的MAC地址。如果是,则回复ARP响应报文;如果不是,则丢弃该ARP请求报文。

对于不在同一物理网络但属于相同网段的主机,或者在同一物理网络属于相同网段但不能二层互通的主机,可以在其之间的路由器上部署ARP代理功能,以实现这些主机之间的通信。部署ARP代理功能后,路由器收到ARP请求报文且发现其目的地址不是自己,则使用路由器自己的MAC地址以及目的主机的IP地址向源主机回复ARP响应报文,即交换机代替目的主机回复ARP响应报文。(三层交换机也是可以配置的)

Proxy ARP分为路由式Proxy ARP、VLAN内Proxy ARP和VLAN间Proxy ARP适用场景路由式Proxy ARP
需要互通的主机,处于相同的网段但不在同一广播域的场景。 VLAN内Proxy ARP
需要互通的主机处于相同网段,并且属于相同VLAN,但是VLAN内配置了端口隔离的场景。(不做描述了,涉及端口隔离,容易将人绕晕!)VLAN间Proxy ARP
需要互通的主机处于相同网段,但属于不同VLAN的场景。(不做描述了,涉及端口隔离,容易将人绕晕!)

实现过程

  • 路由式Proxy ARP------要有目的网络的网络号,且两端开启ARP代理---不需要网关
    如果主机属于同一网段却不在同一物理网络上并且连接主机的网关设备具有不同的网关地址,此时主机间要互通,则需要在交换机连接主机的接口上启用路由式Proxy ARP功能。

最简单的路由式ARP代理配置

6094aa52eda67191029181a5d73aabdf.png

(路由式ARP代理坑就坑在了AR45的G0/0/1 接口IP地址的配置)

在这个拓扑中,AR4、5之间的网段假设为10.0.45.0/24,两台路由器运行ospf area 0

仔细看AR4、5的G0/0/1接口的网段:24掩码,两端不在同一网段,IP地址能够通过OSFP加载进对方的路由表.

但是两台PC的网段却是16位的,也就是说,两台PC在同网段!

假设PC6 ping PC7,首先,PC6判断出PC7与自己在同一网段。于是乎,直接发ARP报文请求MAC地址,只要PC6拿到PC7的MAC地址,数据包就能完成封装,就能通信。

ARP request 报文,发到AR4之后,AR4一看,不是找自己的,就丢弃了!

这就是规划的错误,怎么办?更改静态的地址?那假设PC又很多台怎么办呢?

这时,在AR4的G0/0/1口,开启ARP代理。当ARP请求再次发送到G0/0/1接口后。

AR4 打开数据包,发现不是找自己的,但是开启了ARP代理,于是AR4 就将请求的IP地址“拿”出来,在自己的路由表里找,如果找到了,就说明自己可以找到请求的IP地址。

这时,AR4开始骗PC6,AR4将自己的G0/0/1接口MAC地址回应给PC6 ,PC6 以为MAC地址拿到了,就封装数据包,开始发报文了。

因为MAC地址时AR4的,所以AR4收到报文也不会丢弃,打开三层,开始读IP地址,一看IP地址时PC6的,自己路由表里有,那就根据路由表指导报文转发了,于是乎就发到了AR5上,AR5也是拆报文,看IP,封装报文。。。。。。

这样ping包就发出去了,因为还要有回包,所以AR5的G0/0/1接口也要开启ARP代理!

---------------------------------------------------------------------------------------

下图是路由式ARP代理升级版(并不是使用了vlanif就是vlan 间ARP代理!)

74c766b99bcf7bb5f24180056e915c53.png
路由器的接口被我放了二层板卡,模拟器里面有二层板卡!

首先 PC2能与PC3、4通信;不能与PC1通信。

中间跑OSPF,将所有接口均发布进ospf,此时在vlanif 接口下,开启ARP代理,只要代理的网段不冲突,那么代理的网段就能使用ospf传过来,传过来了,只要对方再开启ARP代理,就可以互访。

想一下就大概明白其中的原理了:开启ARP代理似乎就是变相的网关!

假如PC2 ping 192.168.3.4 ,PC2认为同网段,发ARP广播,AR3收到,看到不是自己的,原则上不应答;

但是自己有目标网关的网络号 + 开启了ARP代理 (“不是找你的时候,你若知道怎么找,你就应答你自己MAC”)

所以,AR3应答自己MAC,那么后续数据包来了,AR3自己使用路由表知道报文转发;

当报文来到AR1,AR1看到目的IP,是自己的直连网段,所以发ARP请求,得到应答后,发送报文。

PC2访问PC1 ,路由AR3是有的,数据包可以过来,但是,因为vlanif接口的IP地址属于所在的VLAN的,PC1在VLAN 20里,而192.168.1.0/24网段时属于VLAN30的,所以,数据包来的时候,AR1会向VLAN10所在的端口发ARP广播,但是无应答,所以不通!(结果经过实际的抓包验证!)----其实同网段,不同vlan,不做任何补救措施的话,就是无法通信的!

双方都要开启路由式 ARP 代理,因为路由式ARP代理,自己开了,数据包可以送出去,但数据包想要回来,就要看对方有没有开启了!

-------------------------------------------------------------------------------------

b389defe1208e16ca62338e79732549b.png

说个原则:ARP 请求只要能送出去,目的IP拥有者能收到,就会响应。(无论IP是怎样)

怪不得有ARP攻击呢!

能送出去,就意味着可以送回来了。这样就有了ARP表项;但是能不能访问还要看主机的访问原则

PC3在ping PC7的时候,ARP交互正常,但是PC3在访问的时候,却没有回包,原因就是:PC3认为PC7与其在同一网段,PC7认为与PC3不在同一网段!所以PC3直接发数据包,PC7要先发ARP找网关,PC7却没网关!

PC3除了PC7之外都能访问。PC3有所有PC的ARP表项------这就是ARP可以攻击的地方,只要进入到接入层就坏事了!

--------------------------------------------------------------------------------------------

7d76da4539709a0bd261be1f73b356bb.png

首先说几个原则:

路由!= IP地址

路由 = IP地址 || netmask

路由器生成直连路由,就是 自己的IP地址 || netmask

主机访问别人

同网段,使用MAC

没有MAC,用ARP请求

不同网段,找网关

注:主机判断”别人“和自己在不在同网段,就是拿 别人IP的地址 || 自己的netmask 是否和自己的网段相等

路由器(缺省),只响应对自己本接口的ARP请求。应该只学对自己的ARP请求里,的东西。

答案:PC2认为PC1 与自己在同一网段,路由器不响应 ARP

PC2访问AR 1 的环回,数据包是蓝色线。AR1只会将数据包往下送,(因为它有一条直连路由指导它),但是无MAC,所以只能无奈发ARP请求!于是乎也不通………

解决方案就是IP地址重新规划,最次,掩码要重新规划!

追问:开启ARP代理行不行?

不行,两台路由器接口配置成同网段了,LSA传到对方,根本不加表

在AR1的ospf lsdb数据库里,其实是有一条AR2 的192.168.1.0 的路由的,但是AR1 拒绝加表的,因为AR1直连的有一条了,直连路由优先级最高(0)

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
<p> <strong><span style="font-size:20px;color:#FF0000;">本课程主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者</span></strong> </p> <p> <span style="color:#FF0000;"><strong><span style="font-size:18px;">1. 包含:<span style="color:#FFFF00;background-color:#FF0000;">项目源码、</span><span style="color:#FFFF00;background-color:#FF0000;">项目文档、数据库脚本、软件工具</span>等所有资料</span></strong></span> </p> <p> <span style="color:#FF0000;"><strong><span style="font-size:18px;">2. 手把手的带你从零开始部署运行本套系统</span></strong></span> </p> <p> <span style="color:#FF0000;"><strong><span style="font-size:18px;">3. 该项目附带的源码资料可作为毕设使用</span></strong></span> </p> <p> <span style="color:#FF0000;"><strong><span style="font-size:18px;">4. 提供技术答疑和远程协助指导</span></strong></span><strong><span style="font-size:18px;"></span></strong> </p> <p> <br /> </p> <p> <span style="font-size:18px;"><strong>项目运行截图:</strong></span> </p> <p> <strong><span style="font-size:18px;">1系统登陆界面</span></strong> </p> <p> <strong><span style="font-size:18px;"><img src="https://img-bss.csdn.net/202002241015433522.png" alt="" /><br /> </span></strong> </p> <p> <strong><span style="font-size:18px;"><strong><span style="font-size:18px;">2学生模块</span></strong></span></strong> </p> <p> <strong><span style="font-size:18px;"><img src="https://img-bss.csdn.net/202002241015575966.png" alt="" /></span></strong> </p> <p> <strong><span style="font-size:18px;"><strong><span style="font-size:18px;">3教师模块</span></strong></span></strong> </p> <p> <strong><span style="font-size:18px;"><img src="https://img-bss.csdn.net/202002241016127898.png" alt="" /></span></strong> </p> <p> <strong><span style="font-size:18px;"><strong><span style="font-size:18px;">4系统管理员</span></strong></span></strong> </p> <p> <strong><span style="font-size:18px;"><img src="https://img-bss.csdn.net/202002241016281177.png" alt="" /></span></strong> </p> <p> <strong><span style="font-size:18px;"><img src="https://img-bss.csdn.net/202002241016369884.png" alt="" /></span></strong> </p> <p> <strong><span style="font-size:18px;"><br /> </span></strong> </p> <p> <strong><span style="font-size:18px;"><strong><span style="font-size:18px;">更多Java毕设项目请关注我的毕设系列课程 <a href="https://edu.csdn.net/lecturer/2104">https://edu.csdn.net/lecturer/2104</a></span></strong></span></strong> </p> <p> <strong><span style="font-size:18px;"><br /> </span></strong> </p>
<p> 课程演示环境:Windows10  </p> <p> 需要学习<span>Ubuntus</span>系统<span>YOLOv4-tiny</span>的同学请前往《<span>YOLOv4-tiny</span>目标检测实战:训练自己的数据集》 <span></span> </p> <p> <span> </span> </p> <p> <span style="color:#E53333;">YOLOv4-tiny</span><span style="color:#E53333;">来了!速度大幅提升!</span><span></span> </p> <p> <span> </span> </p> <p> <span>YOLOv4-tiny</span>在<span>COCO</span>上的性能可达到:<span>40.2% AP50, 371 FPS (GTX 1080 Ti)</span>。相较于<span>YOLOv3-tiny</span>,<span>AP</span>和<span>FPS</span>的性能有巨大提升。并且,<span>YOLOv4-tiny</span>的权重文件只有<span>23MB</span>,适合在移动端、嵌入式设备、边缘计算设备上部署。<span></span> </p> <p> <span> </span> </p> <p> 本课程将手把手地教大家使用<span>labelImg</span>标注和使用<span>YOLOv4-tiny</span>训练自己的数据集。课程实战分为两个项目:单目标检测足球目标检测和多目标检测足球和梅西同时检测。<span></span> </p> <p> <span> </span> </p> <p> 本课程的<span>YOLOv4-tiny</span>使用<span>AlexAB/darknet</span>,在<span>Windows10</span>系统上做项目演示。包括:<span>YOLOv4-tiny</span>的网络结构、安装<span>YOLOv4-tiny</span>、标注自己的数据集、整理自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计<span>(mAP</span>计算<span>)</span>和先验框聚类分析。 <span> </span> </p> <p> <span> </span> </p> <p> 除本课程《<span>Windows</span>版<span>YOLOv4-tiny</span>目标检测实战:训练自己的数据集》外,本人推出了有关<span>YOLOv4</span>目标检测的系列课程。请持续关注该系列的其它视频课程,包括:<span></span> </p> <p> 《<span>Windows</span>版<span>YOLOv4</span>目标检测实战:训练自己的数据集》<span></span> </p> <p> 《<span>Windows</span>版<span>YOLOv4</span>目标检测实战:人脸口罩佩戴识别》<span></span> </p> <p> 《<span>Windows</span>版<span>YOLOv4</span>目标检测实战:中国交通标志识别》<span></span> </p> <p> 《<span>Windows</span>版<span>YOLOv4</span>目标检测:原理与源码解析》<span></span> </p> <p> <span> <img alt="" src="https://img-bss.csdnimg.cn/202007061503586145.jpg" /></span> </p> <p> <span><img alt="" src="https://img-bss.csdnimg.cn/202007061504169339.jpg" /><br /> </span> </p>
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页