在银河麒麟系统中防ARP欺骗需固化IP-MAC映射:临时用ip neigh replace ... nud permanent命令,永久则通过/etc/arp-tables或/etc/network/if-up.d/arp-static脚本实现开机自动加载。

在银河麒麟操作系统中防止ARP欺骗攻击,必须将关键设备的IP地址与真实MAC地址固化映射,否则攻击者可伪造网关响应劫持流量,导致断网或数据窃听。
用ip neigh命令添加临时静态ARP条目
这一步适用于快速验证绑定效果或应急防护,重启后自动失效,不依赖任何服务或配置文件。
以root权限打开终端,执行:
sudo ip neigh replace 192.168.1.1 lladdr 00:e0:fc:12:34:56 dev eth0 nud permanent
其中192.168.1.1是目标IP(如网关),00:e0:fc:12:34:56是其真实MAC,eth0为实际通信网卡名——【务必确认dev参数与真实出接口一致,填错会导致该IP完全不可达】。
执行sudo ip neigh show | grep "192.168.1.1",输出中必须含"PERMANENT"字样且dev字段为eth0,才算成功。
通过/etc/arp-tables实现开机自动加载
此方法让静态ARP在每次系统启动、网络重载后仍保持有效,适合生产环境长期使用。
方法一:编辑ARP初始化文件
运行sudo nano /etc/arp-tables,按行写入格式为“IP地址 MAC地址 接口名”的条目,例如:
192.168.1.1 00:e0:fc:12:34:56 eth0
192.168.1.100 aa:bb:cc:dd:ee:ff ens33
方法二:创建if-up.d执行脚本
执行sudo nano /etc/network/if-up.d/arp-static,填入以下内容:
#!/bin/sh
if [ "$IFACE" = "eth0" ] || [ "$IFACE" = "ens33" ]; then
while read ip mac iface; do
[ -n "$ip" ] && ip neigh replace $ip lladdr $mac dev $iface nud permanent 2>/dev/null
done fi
赋予脚本可执行权限:sudo chmod +x /etc/network/if-up.d/arp-static
注意:脚本中需显式限定$IFACE匹配,避免在回环或虚拟接口上误执行——【若未加IFACE判断,系统可能在lo接口上尝试绑定,导致命令失败且无提示】。
用systemd服务独立管理静态ARP
该方式具备启动时机控制、失败重试和日志追踪能力,适合对稳定性要求高的服务器场景。
第一步:创建服务文件
执行sudo nano /etc/systemd/system/static-arp.service,填入:
[Unit]
Description=Static ARP Binding Service
After=network-online.target
Wants=network-online.target
[Service]
Type=oneshot
ExecStart=/usr/bin/bash -c 'ip neigh replace 192.168.1.1 lladdr 00:e0:fc:12:34:56 dev eth0 nud permanent'
RemainAfterExit=yes
StandardError=journal
[Install]
WantedBy=multi-user.target
第二步:启用并启动服务
sudo systemctl daemon-reload → sudo systemctl enable static-arp.service → sudo systemctl start static-arp.service
第三步:验证服务状态
运行sudo systemctl status static-arp.service,确保显示"active (exited)";再执行ip neigh show dev eth0 | grep "192.168.1.1",确认条目存在且为PERMANENT。











