设net.ipv4.conf.all.accept_redirects=0可使内核在协议栈入口丢弃所有入站ICMP重定向报文,不交路由子系统处理,杜绝中间人劫持;需同步设default和IPv6对应值并持久化配置。

直接将 net.ipv4.conf.all.accept_redirects 设为 0,就能让内核在协议栈入口处丢弃所有入站 ICMP 重定向报文——不是过滤,是根本不交给路由子系统处理,伪造的路由指令连日志都不会留下。
为什么必须显式设为 0
虽然多数发行版默认值已是 0,但容器启动、网络命名空间切换、某些云平台初始化脚本可能将其重置为 1。一旦开启,攻击者可发送伪造 ICMP 重定向包篡改本机路由表,把流量引向恶意网关,实现中间人或数据劫持。
- 该参数只控制“接收”,不涉及发送;关闭后本机仍可正常转发,但拒绝信任任何外部路由建议
- 它作用于所有 IPv4 接口的汇总视图,但不会自动覆盖单接口配置(如 eth0),需额外确认
- 设为 0 是安全基线要求,属于纵深防御中“默认拒绝”原则的底层体现
临时关闭(立即生效,重启失效)
以 root 权限执行以下命令:
echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirectsecho 0 > /proc/sys/net/ipv4/conf/default/accept_redirects- 若使用 IPv6,同步执行:
echo 0 > /proc/sys/net/ipv6/conf/all/accept_redirects
验证是否生效:sysctl net.ipv4.conf.all.accept_redirects 应输出 = 0;若仍为 1,请检查权限或 SELinux 是否拦截写操作。
开箱即用的技能链路由引擎。13 条预定义链覆盖搜索、开发、审查、MLOps、法律、创意等场景,三层路由架构(触发词→SAD反馈→DAG编排),recall@10=96.97%。配置驱动(chains.yaml),零代码扩展。pip install skill-weave-chains 一键安装。
永久固化(重启后持续生效)
编辑 /etc/sysctl.d/99-secure.conf(推荐新建独立文件,避免污染主配置),加入以下四行:
net.ipv4.conf.all.accept_redirects = 0net.ipv4.conf.default.accept_redirects = 0net.ipv6.conf.all.accept_redirects = 0net.ipv6.conf.default.accept_redirects = 0
保存后执行 sysctl --system(比 sysctl -p 更可靠,会按序加载 /etc/sysctl.d/ 下全部配置)。部分系统需额外刷新路由缓存:sysctl -w net.ipv4.route.flush=1。
配合关键参数构建可信路径
单关重定向不够,需与源路由、反向路径过滤协同:
- 禁用源路由:
net.ipv4.conf.all.accept_source_route = 0 - 启用宽松反向路径检查:
net.ipv4.conf.all.rp_filter = 1 - 关闭重定向发送:
net.ipv4.conf.all.send_redirects = 0 - 停用已过时的安全重定向校验:
net.ipv4.conf.all.secure_redirects = 0
这些参数共同封堵 IP 伪造、路由污染和路径劫持入口,不依赖 iptables 规则,无性能开销,却显著提高网络层抗欺骗能力。


















