Linux中防范ARP欺骗需四层措施:清理非法条目、绑定静态ARP、启用内核防护(rp_filter等)、部署监控告警;核心是确保合法映射不可篡改、异常变动不可忽视。

Linux系统中ARP缓存若被恶意篡改,可能导致网络中断、流量劫持等安全问题。直接使用arp命令可查看、删除非法ARP条目,但需配合静态绑定与主动防护机制才能有效防范ARP欺骗。
快速识别并清除可疑ARP记录
执行arp -n列出当前ARP缓存,重点关注IP与MAC地址不匹配、MAC为全0或广播地址(如ff:ff:ff:ff:ff:ff)、或来源不明的条目。例如发现网关IP(如192.168.1.1)对应一个陌生MAC,极可能是ARP欺骗所致。
清除单条非法记录:sudo arp -d 192.168.1.1
清空全部动态ARP缓存(保留静态条目):sudo ip neigh flush dev eth0(推荐,比arp -a -d更可靠)
绑定关键设备的静态ARP条目
对网关、DNS服务器等核心设备,设置静态ARP映射,防止其ARP记录被覆盖:
- 手动添加:
sudo arp -s 192.168.1.1 00:11:22:33:44:55 - 开机自动加载:将上述命令写入
/etc/network/if-up.d/arp-static,并赋予可执行权限 - 验证是否生效:运行
arp -n | grep PERM,带PERM标记即为静态条目
启用内核级ARP防护机制
Linux内核提供ARP反向路径过滤(rp_filter)和ARP通告抑制功能,可大幅降低欺骗成功率:
- 开启严格反向路径检查:
echo 1 | sudo tee /proc/sys/net/ipv4/conf/all/rp_filter - 禁用不必要的ARP响应(尤其多网卡环境):
echo 0 | sudo tee /proc/sys/net/ipv4/conf/all/arp_announceecho 2 | sudo tee /proc/sys/net/ipv4/conf/all/arp_ignore - 持久化配置:在
/etc/sysctl.conf中添加对应行,运行sudo sysctl -p生效
部署轻量级ARP监控与告警
定期比对ARP表变化,及时发现异常:
- 用脚本每分钟抓取
arp -n输出,与上一次快照diff比对 - 结合
arping工具探测网关MAC是否真实:arping -c 3 -I eth0 192.168.1.1,检查返回MAC是否一致 - 发现异常时自动清理+发邮件/日志告警,避免人工巡检遗漏
ARP欺骗虽难彻底杜绝,但通过清理、绑定、内核加固与持续监控四层措施,可显著提升主机抗攻击能力。关键在于让合法映射“不可篡改”,让异常变动“不可忽视”。


















