Linux服务器防范ICMP重定向等路由协议篡改攻击,核心是禁用accept_redirects与send_redirects(IPv4/IPv6全作用域)、关闭ip_forward、卸载非必要协议模块、iptables拦截类型5 ICMP及OSPF/RIP/BGP报文,并启用arptables防御ARP劫持。

防范针对网络层路由协议(如RIP、OSPF、BGP、ICMP重定向等)的篡改攻击,核心在于**阻断非法路由控制报文入站、限制可信源范围、关闭非必要路由服务,并结合内核级防护机制**。Linux系统本身不运行完整路由协议栈(除非启用Quagga/FRR等),但默认可能响应ICMP重定向或转发异常路由通告,这正是攻击入口点。
关闭ICMP重定向与路由通告响应
攻击者常伪造ICMP重定向报文诱导主机修改本地路由表。Linux内核默认允许接收并处理这类报文,需主动禁用:
- 临时禁用(重启失效):
sysctl -w net.ipv4.conf.all.accept_redirects=0
sysctl -w net.ipv4.conf.all.send_redirects=0 - 永久生效:在/etc/sysctl.conf中添加两行:
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0 - 对所有接口(包括lo)统一设置,避免遗漏;若仅需关闭某网卡(如eth0),用net.ipv4.conf.eth0.accept_redirects替代all
用iptables严格过滤路由相关协议报文
即使内核已禁用重定向,仍需防火墙层拦截原始路由控制流量,防止其抵达协议处理模块:
当代理已经知道网站路由或内容URL,并且在启动前需要有效的sitemap XML、sitemap索引或robots.txt引用时,请使用sitemap。这是一个发布构件技能,而不是爬虫或SEO平台。
- 拒绝所有ICMP重定向(类型5):
iptables -A INPUT -p icmp --icmp-type 5 -j DROP - 阻止OSPF组播报文(目的地址224.0.0.5/6,协议号89):
iptables -A INPUT -d 224.0.0.5 -p ospf -j DROP
iptables -A INPUT -d 224.0.0.6 -p ospf -j DROP - 限制RIP v2(UDP端口520,组播地址224.0.0.9)仅来自可信网段:
iptables -A INPUT -s 192.168.10.0/24 -d 224.0.0.9 -p udp --dport 520 -j ACCEPT
iptables -A INPUT -p udp --dport 520 -j DROP - 显式丢弃BGP(TCP端口179)入站连接(除非本机是BGP路由器):
iptables -A INPUT -p tcp --dport 179 -j DROP
禁用内核路由转发与非必要协议支持
普通服务器或终端不应充当路由器,关闭转发功能可消除多数路由协议攻击面:
- 禁用IPv4转发:
sysctl -w net.ipv4.ip_forward=0
并在/etc/sysctl.conf中设为net.ipv4.ip_forward = 0 - 卸载无用协议模块(防止加载后被利用):
echo "install ipip /bin/true" >> /etc/modprobe.d/disable-ipip.conf
echo "install sit /bin/true" >> /etc/modprobe.d/disable-sit.conf
(禁用IPIP隧道和IPv6-in-IPv4封装) - 检查是否运行了RIP/OSPF守护进程:
systemctl list-units --type=service | grep -i -E "(rip|ospf|bgp|frr|quagga)"
若非必需,停用并禁用:
systemctl stop frr && systemctl disable frr
启用arptables防御ARP层路由劫持
ARP欺骗是篡改局域网路由的常见前置手段,需单独防护:
- 安装arptables(部分发行版需手动编译或启用epel)
- 只允许已知网关MAC地址的ARP应答:
arptables -A IN -s 192.168.1.1 --source-mac xx:xx:xx:xx:xx:xx -j ACCEPT
(替换为实际网关IP和MAC) - 拒绝其他所有ARP应答:
arptables -P IN DROP - 保存规则:
arptables-save > /etc/arptables


















