当宝塔面板安全扫描提示「未禁用 IPv4 发送重定向(send_redirects)」时,可通过以下步骤快速修复,保障服务器网络安全。
一、问题背景
风险说明
net.ipv4.conf.all.send_redirects 和 net.ipv4.conf.default.send_redirects 是 Linux 内核控制 ICMP 重定向报文发送的参数。
- 若保持默认开启(值为
1),服务器可能被利用进行路由劫持、网络欺骗等攻击。 - 安全加固要求将其设置为
0,即禁止发送 ICMP 重定向报文。
二、操作步骤(永久生效推荐)
步骤 1:编辑内核参数配置文件
- 登录服务器终端(可通过宝塔面板「终端」或 SSH 工具)。
- 执行以下命令打开配置文件:
bash vi /etc/sysctl.conf - 在文件末尾添加以下两行配置:
conf net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.send_redirects = 0
> 示例:添加后文件末尾效果conf ... net.core.somaxconn = 1024 net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.send_redirects = 0 - 保存并退出编辑器(
vi操作:按Esc→ 输入:wq→ 回车)。
步骤 2:加载配置(立即生效)
执行以下命令,让新配置永久生效(重启后依然保留):
sysctl -p
执行成功后,终端会输出所有加载的配置项,包含你新增的两行:
...
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
步骤 3:临时生效(可选,用于快速验证)
若需立即生效且不依赖配置文件(重启后失效),可执行以下命令:
sysctl -w net.ipv4.conf.all.send_redirects=0
sysctl -w net.ipv4.conf.default.send_redirects=0
sysctl -w net.ipv4.route.flush=1
也可合并为一行执行:
sysctl -w net.ipv4.conf.all.send_redirects=0 && sysctl -w net.ipv4.conf.default.send_redirects=0 && sysctl -w net.ipv4.route.flush=1
三、验证配置是否生效
方法 1:查看 sysctl -p 输出
执行 sysctl -p 后,若输出中包含以下内容,说明配置已加载:
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
方法 2:直接查询参数值
执行以下命令,分别检查两个参数的当前值:
sysctl net.ipv4.conf.all.send_redirects
sysctl net.ipv4.conf.default.send_redirects
预期输出:
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
若输出为 0,代表配置已生效,安全风险已修复。
四、宝塔面板重新扫描
- 回到宝塔面板 → 「安全」→ 「安全检测」。
- 点击「重新检测」,等待扫描完成。
- 原「未禁用 IPv4 发送重定向」风险项应标记为已修复。
五、常见问题解答
Q1:执行 sysctl -p 报错怎么办?
- 检查
/etc/sysctl.conf中是否有拼写错误(如参数名、等号格式)。 - 确保配置行没有多余空格或特殊字符。
- 修正后重新执行
sysctl -p。
Q2:重启服务器后配置失效?
- 若仅执行了
sysctl -w临时生效,重启后会恢复默认值。 - 必须完成步骤 1 + 步骤 2,将配置写入
/etc/sysctl.conf才能永久生效。
Q3:是否会影响服务器正常业务?
- 不会。禁用 ICMP 重定向是标准的安全加固操作,不会影响正常的网络通信和业务运行。
六、总结
通过「编辑配置文件 → 加载配置 → 验证生效」三步,即可完成 IPv4 发送重定向的禁用,解决宝塔面板安全提示,提升服务器网络安全性。
- ✅ 永久生效:写入
/etc/sysctl.conf,重启后依然保留。 - ✅ 操作简单:仅需修改两行配置,无需额外依赖。
- ✅ 安全可靠:符合等保及服务器安全加固标准。
阿里云服务器购买指南