必须同时设置all和default作用域:net.ipv4.conf.all.send_redirects=0与net.ipv4.conf.default.send_redirects=0,否则新建网卡仍可能启用重定向;需写入/etc/sysctl.d/99-disable-icmp-redirects.conf并执行sysctl --system生效,再用sysctl命令验证运行时值确为0。

直接禁用 send_redirects 的正确写法
必须同时设置 all 和 default 两个作用域,只改其中一个会留缺口。Linux 内核对网络参数的生效逻辑是:新创建的接口继承 default 值,已有接口受 all 控制;若只设 all,后续新建网卡(比如容器启动、热插拔)仍可能启用重定向。
执行以下两行命令即可立即禁用:
sysctl -w net.ipv4.conf.all.send_redirects=0 sysctl -w net.ipv4.conf.default.send_redirects=0
注意:sysctl -w 是运行时修改,重启即失效——它只用于验证是否能成功写入,不能当最终配置。
/etc/sysctl.d/ 下写配置文件才真正持久
把参数写进 /etc/sysctl.conf 很常见,但多数现代发行版(RHEL 8+/CentOS 8+、Debian 10+、Ubuntu 20.04+)优先加载 /etc/sysctl.d/*.conf,/etc/sysctl.conf 反而可能被跳过。
推荐做法是新建一个带数字前缀的文件,确保加载顺序靠后、不被覆盖:
- 创建
/etc/sysctl.d/99-disable-icmp-redirects.conf - 写入四行(IPv4 + IPv6 全覆盖更稳妥):
net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.send_redirects = 0 net.ipv6.conf.all.send_redirects = 0 net.ipv6.conf.default.send_redirects = 0
- 执行
sysctl --system重新加载全部配置(等价于依次处理/etc/sysctl.conf和所有/etc/sysctl.d/*.conf)
验证是否真的生效,别信配置文件内容
配置文件里写了 0,不代表内核当前值就是 0。必须用 sysctl 命令读取运行时值来确认:
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
sysctl net.ipv4.conf.all.send_redirects sysctl net.ipv4.conf.default.send_redirects
输出应为 net.ipv4.conf.all.send_redirects = 0。如果还是 1,常见原因有:
-
sysctl --system没执行,或执行时权限不足(需 root) - 文件名没带
.conf后缀(sysctl.d下只认.conf) - 某处其他配置文件又把它设回了 1(比如云厂商镜像自带的
/etc/sysctl.d/10-cloud.conf) - 内核模块未加载或参数被编译为只读(极少见,但
kernel.sysrq类参数会发生)
为什么还要关 accept_redirects 和 accept_source_route
只关 send_redirects 只防“当跳板”,不防“被误导”。攻击者仍可伪造 ICMP 重定向包发给你的服务器,让它把流量导向恶意网关——这由 accept_redirects 控制。
同理,accept_source_route=0 是配套动作:源路由包允许指定中间节点,绕过正常路由策略,是重定向劫持的常用辅助手段。
所以生产环境建议一并设置:
net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.default.accept_redirects = 0 net.ipv4.conf.all.accept_source_route = 0 net.ipv4.conf.default.accept_source_route = 0
这些参数之间没有依赖关系,但漏掉任意一个,纵深防御就少一层。尤其在云主机、Kubernetes Node 等多网卡场景下,default 和 all 的差异更容易暴露问题。

















