新闻动态

News information

免费ARP与代理ARP在工业场景的应用

<<返回

2022年08月08日 14:00

ARP在IPv4网络中扮演着重要角色,我们知道主机最终通信靠的是MAC地址,可是我们平时只是用IP地址来进行通信的,这是因为ARP在默默的帮我们做着底层的翻译工作。在实际工作当中,可能会用到ARP的地方,包括同网段通信、跨网通信、检测地址冲突、更新硬件地址、作为代理网关、建立映射关系等。本篇先为大家介绍免费ARP和代理ARP在实际工作中的应用。


场景一:工业现场问题排查,会遇到网络时断时续。本端与对端在同网段,出现网络不稳定的情况。ARP是容易被忽视的排查点,ARP的哪些技术能帮到我们呢?

场景二:由于当初规划不尽合理,防火墙将相同网段分割开来,不想调整网络结构还想实现网络隔离,此种情况下能满足客户需求吗?

场景三:两个车间之间的路由器或交换机无法修改(忘记账户密码了),但又希望两个车间能够实现访问控制。实施部署会遇到什么问题,而又需要ARP技术来解决呢?

01.
免费ARP与代理ARP介绍

1、 为什么需要ARP
因为32位IP地址用于网络层通信,48位的MAC地址用于链路层通信,逻辑IP地址与硬件MAC地址是独立工作的,所以需要一种地址解析的机制来提供映射。

2、 ARP的作用
ARP用于将IP地址解析为MAC地址。

3、 免费ARP的作用
免费ARP用于检查重复的IP地址或通告新的MAC地址等场景。

4、 代理ARP的作用

代理ARP用于IP网段被分割或路由使用出接口等场景。

02.
解决方案介绍

首先要知道,主机最终通信靠的是MAC地址。即使是跨网段通信,最后也会交给那个网段的网关,网关和目的主机通信也是同网段,此时还是MAC地址的通信。

1、场景一解决方案介绍

① 需求:由于二层交换机未及时更新MAC地址表(偶现),导致工程师站去往MES使用了旧MAC地址。在不修改二层交换机的情况下,主动及时更新二层交换机MAC地址表,使工业环境网络快速收敛,进一步保障工业场景的即时通信。

1.jpg


② 方案:防火墙配置免费ARP,来及时的周期性的通告自己的MAC地址。

③ 原理:通过配置免费ARP,使防火墙主动发送Gratuitous ARP消息(源、目的IP都是自己),来触发直连ISP设备更新ARP表和二层交换机更新MAC地址表。



2、场景二解决方案介绍
① 需求:由于管理员在规划网络时“偷懒”,将操作员站与数据库服务器规划到同一网段中。现在希望防火墙作为三层设备进行隔离与防护,来进一步提高网络的安全性。

3.jpg


② 方案:配置代理ARP,由防火墙代为应答操作员站发出的ARP请求。

③ 原理:操作员站与数据库服务器属于同网段,由于被防火墙分割形成了不同的广播域,所以操作员站的ARP广播请求无法到达数据库服务器,需要防火墙配置Proxy ARP来做应答和中转。

4.jpg


3、场景三解决方案介绍

① 需求:由于客户将路由配置了出接口方式,导致网络不通,现在只能改变FW的情况下尝试解决该问题。

5.jpg


② 方案:防火墙配置代理ARP,由FW代为应答R1发出的ARP请求。

③ 原理:R1路由使用出接口方式会识别为直连网络,由此认为目的IP地址与接口IP地址是同网段,会直接发送ARP广播请求获取目的IP地址的MAC地址。由于FW分割广播域,所以ARP广播无法穿越FW,通过配置Proxy ARP让FW代为应答及中转。

6.jpg


03.
典型案例-场景一


1、任务说明

上线部署防火墙需要尽快连通业务,及时更新直连设备的MAC地址,最终保障业务能够快速割接完成。

7.jpg


2、配置说明

① 全局配置(方式一)
六方云工业防火墙可以一键全局配置,让所有接口周期性地发送免费ARP。

8.jpg


② 接口配置(方式二)
六方云工业防火墙可以指定接口配置,让某个或某几个接口周期性地发送免费ARP。

9.jpg


③ 单次发送免费ARP(方式三)
六方云工业防火墙可以即时发送免费ARP,点击一次确定可发送一次。

10.jpg


六方云工业防火墙可以即时发送免费ARP,点击多次确定可发送多次。

11.jpg


3、实现介绍

如果不配置免费ARP,防火墙在启动时也会发送一次免费ARP,包括路由器、交换机、主机都有这种行为,主要是用来检测IP地址冲突。实际工作中这一条消息有可能在网络中丢失,所以我们出现问题的时候,或为了保险起见可以手动配置免费ARP。

通过配置免费ARP,使防火墙主动发送Gratuitous ARP广播消息(源、目IP都是自己,源MAC是自己,目的MAC用0填充),来触发直连MES更新ARP表和二层交换机更新MAC地址表。先把底层(链路层)保持最新,再处理上层(网络层)就更稳妥了。

12.jpg


比如CISCO Router默认ARP表项老化时间为4h,CISCO Switch默认MAC表项老化时间为300s,通过免费ARP可以排除一部分老化时间的影响。

4、免费ARP有什么缺点?

因为局域网上一般没有安全的认证系统,所以任何主机都可以发送免费ARP广播,这样就容易出现 MAC地址欺骗。ARP实现机制只考虑业务的正常交互,对非正常交互或恶意行为不做验证,容易出现ARP欺骗、ARP缓冲区溢出攻击、ARP拒绝服务攻击等。

众所周知,在解决一个问题时,会引入一个新的机制,通常由于缺乏全面系统的考虑,没有对技术进行全方位的论证,导致某些技术存在一定缺陷,后续只有通过原技术打补丁或引入全新技术来规避。针对免费ARP的不足,一些厂商已经引入ACD机制,目前主要是在各厂商路由设备上实现,有兴趣的朋友可以搜索ACD或RFC5227。

04.
典型案例-场景二

1、任务说明

防火墙位置将192.168.0.0/16网段分割开来,在不修改原环境配置的情况下,实现操作员站与数据库服务器通信。

13.jpg


2、配置说明

首先,需开启“代理ARP启动开关”。
然后,添加“代理ARP”条目,接口关联对端地址范围。

14.jpg


3、实现介绍

操作员站与数据库服务器属于同网段,由于被防火墙分割形成了不同的广播域,所以操作员站的ARP广播请求无法达到数据库服务器。需要防火墙配置Proxy ARP,然后防火墙用自己的MAC地址回应操作员站。防火墙再向数据库服务器发出ARP广播请求,请求获得数据库服务器的MAC地址,数据库服务器看到目的IP是自己,就会回复一个单播ARP响应。届时防火墙就作为代理来做中工作。

15.jpg


4、如何判断网络中使用了代理ARP

① Linux可以查看ARP表,有多个IPv4地址动态映射到单一MAC地址。
[root@operator ~]# arp -a
? (192.168.200.22) at 50:01:00:02:00:03 [ether] on eth0
? (192.168.100 1) at 50:01:00:02:00:03 [ether] on eth0

② Windows可以查看ARP表,有多个IPv4地址动态映射到单一MAC地址。
C:\Users\database>arp -a
Interface: 192.168.200.22
Internet Address    Physical Address    Type
192.168.100.12    50-01-00-02-00-05    dynamic
192.168.200.1    50-01-00-02-00-05    dynamic

05.
典型案例-场景三

1、任务说明

R1和R2的路由下一跳配置了出接口方式导致网络不通,在不改变原配置的情况下解决网络联通性。

16.jpg


2、配置说明

首先,需开启“代理ARP启动开关”。
然后,添加“代理ARP”条目,接口关联对端地址范围。

17.jpg


3、实现介绍

代码.png
使用出接口会被识别为直连,去往20.20.20.0/24会找20.20.20.20的MAC地址,R1肯定找不到,因为FW分割了广播域,所以ARP广播请求无法穿越FW到R2。通过配置代理ARP,FW可以代为应答和转发,最终实现有效通信。

18.jpg


4、下一跳、出接口、出接口+下一跳有什么区别?

① 路由使用下一跳方式,路由器/防火墙会进行递归查询到达下一跳的路由,直到找到去往下一跳的出接口。

② 路由使用出接口方式,路由器/防火墙会认为是直连网络,也就是理解为了同网段,那就发送ARP广播请求目的IP的MAC地址,所以必须开Proxy ARP。

③ 路由使用出接口+下一跳方式,路由器/防火墙会进行递归查询到达下一跳的路由,直到找到去往下一跳的出接口。

④ 路由使用出接口+下一跳非直连方式,路由器/防火墙会认为下一跳设备与相关联出接口是直连,发送ARP广播请求远端的MAC地址,所以必须开Proxy ARP。

六方云结合对工业互联网安全产业的思考和实践,于2022年6月率先发布了《下一代工业防火墙的白皮书》,书中尽可能准确地定义下一代工业防火墙,以供工业互联网安全行业内的企业和专家参考。六方云防火墙通过AI算法、大数据分析等技术对加密流量的可视化进行多维度展示,能更好帮助工业客户进行生产工作,全力保障工业企业的安全稳定运行。