代理arp: 首先这是一个代理服务。在一个服务器上,一个网卡(有配置ip)会对不和该网卡属于同一网段的arp 请求(广播)响应arp。
该代理服务能够识别到包的目的地址,并把他(接收到arp请求的网卡)的mac作为目的地址的mac。
包直接转发给代理地址后,包就被代理ip所在的网卡(或者tunnel)路由到对应的目的(网卡)。
假设一个服务器网卡 10.0.0.2 连接到 网络(10.0.0.0/24),某些应用需要服务器上有多个ip。(比如LB vip 基于网卡子接口维护)。所有ip都来自 10.0.0.0/24 网段。
比如说,这个服务器用了十个ip 10.0.0.230-10.0.0.240, 都维护在lo环回接口上。
那么 10.0.0.2 接收到的关于10.0.0.230-10.0.0.240 的arp请求,都会基于10.0.0.2的mac地址进行响应。
比如 k8s proxy的vip的dummy网卡维护的svc地址,也是该模式。
比如防火墙配置了一个ip, 然后将该防火墙防止在(同一个网络的)一(多)个主机前面。
比如主机组在 (10.0.0.0/8) 网段,而proxy-arp防火墙ip为10.0.0.20。
所有目的为10.0.0.0/8的流量都会经过10.0.0.20。而且arp响应都是10.0.0.20对应的mac。
Home Agent uses Proxy ARP 为移动节点做代理响应
两个物理切片共享同一个子网ip,并基于router连接起来, RFC 1027。 应该也是路由器做proxy arp。
ARP控制技术(协议): 在同一个广播域内提供冗余。L2, Common Address Redundancy Protocol and Virtual Router Redundancy Protocol .
arp代答在同一时刻一般是单点的,这种伪装机制有一定的迷惑性。
如果错误配置会导致arp的dos攻击。 比如 router arp代理 可以接受并响应其他节点的arp请求。可能导致包无法被正确转发,甚至导致流量黑洞。
代理ARP(Proxy-arp)的原理就是当出现跨网段的ARP请求时,路由器将自己的MAC返回给发送ARP广播请求发送者,实现MAC地址代理(善意的欺骗),最终使得主机能够通信。
图中R1和R3处于不同的局域网,R1和R3在相互通信时,R1先发送了一个ARP广播数据包,请求R3的mac地址,但是由于R1是12.1.1.0网段,而R3是13.1.1.0网段,R1和R3之间是跨网段访问的,也就是说R1的ARP请求会被R2拦截到,然后R2会封装自己的mac地址为目的地址发送一个ARP回应数据报给R1(善意的欺骗),然后R2就会代替R1去访问R3。
整个过程R1以为自己访问的是R3,实际上真正去访问R3的是R2,R1却并不知道这个代理过程,这就是所谓的ARP代理,通常用于跨网段访问。
注意:如果R2关闭了arp的代理功能,那么R1再访问R3的时候,R2并不会把自己的mac地址给R1,那么R1和R3之间就无法通信。默认情况下,思科的设备是开启了arp代理功能,也就是说,R2会作为中间代理实现R1和R3之间跨网段通信。
代理ARP的使用场景为:1. 没有路由功能的主机,2. 有路由功能,目的地指向本地出口。
代理ARP是 ARP协议 的一个变种。 对于没有配置缺省 网关 的计算机要和其他网络中的计算机实现通信,网关收到源计算机的 ARP 请求会使用自己的 MAC 地址与目标计算机的 IP地址对源计算机进行应答。代理ARP就是将一个 主机 作为对另一个主机ARP进行应答。它能使得在不影响 路由表 的情况下添加一个新的Router,使得 子网 对该 主机 来说变得更透明化。同时也会带来巨大的风险,除了ARP欺骗,和某个 网段 内的ARP增加,最重要的就是无法对 网络拓扑 进行网络概括。代理ARP的使用一般是使用在没有配置 默认网关 和路由策略的网络上的
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)