SSF0SSF0
首页
前端
  • Node
  • Go
  • Python
  • MySql
  • Bash
  • Git
  • Docker
  • VuePress
  • CI/CD
  • 服务器
  • 网站
  • 学习资料
  • 软件
  • 开源项目
Timeline
Github
标签
分类
首页
前端
  • Node
  • Go
  • Python
  • MySql
  • Bash
  • Git
  • Docker
  • VuePress
  • CI/CD
  • 服务器
  • 网站
  • 学习资料
  • 软件
  • 开源项目
Timeline
Github
标签
分类
  • Bash

    • Bash 获取路径在不同类型电脑的区别
  • Git

    • Git 使用 ssh 与 https 的区别
    • Git 回滚、重置与变基
    • 文件名大小写发生变化的坑
    • Git 提交信息规范解读与实践指南
    • Git 历史邮箱统一
    • Git 拉取 GitHub 失败、配置代理及 DNS 问题排查总结
    • Git 实战教程:如何使用 Cherry-pick 或直接覆盖让两个分支同步公共功能
  • Docker

    • Docker 命令大全
    • nginx 镜像部署静态文件
    • Docker 运行命令说明
    • 使用 node 镜像运行本地项目
    • 挂载和卷的区别
    • Docker 打包多平台镜像
    • Docker 使用 mysql
    • Docker 容器网络访问问题总结
    • Docker 容器绑定ip问题
  • VuePress

    • 使用 VuePress 搭建个人博客概括
  • CI/CD

    • blog 使用 Github-Actions 部署 docker 服务器
    • GitHub Actions项目部署国内服务器文件传输时间优化
  • 服务器

    • 腾讯云使用 ssh 连接服务器(Linux 实例)
    • ssl 证书安装到 docker 服务器
    • 操作系统与架构
    • ssh 连接时长问题
    • Oracle 服务器基础知识
    • OCI 专属网络拓扑图
    • 甲骨文-宝塔面板无法访问问题
    • 甲骨文服务器防火墙问题排查记录
    • 甲骨文重启后宝塔面板无法访问
  • hosts 文件指南
  • Cloudflare DNS与代理
  • 跨平台定时任务设置指南
  • Edge 浏览器连不上代理?一场由插件引发的“夺权”与 v2rayN 的深度探索
  • 二级域名访问异常排查记录
  • 软件走代理时如何抓包
  • JetBrains AI 使用
  • Clash 代理工作原理详解

甲骨文服务器 2096 端口防火墙问题排查记录

一、问题起因

一开始我以为:

  • 宝塔面板已经接管了防火墙;
  • 宝塔里把防火墙关闭后,就等于服务器端口全部放开。

但实际使用时发现:

  • 订阅接口 2096 无法访问。

这说明:

“宝塔防火墙关闭 = 整台服务器端口全部放开”这个理解是错的。


二、第一次排查:查看系统 INPUT 规则

我先查看了服务器系统的 iptables INPUT 规则:

sudo iptables -L INPUT -n --line-numbers

关键输出如下:

Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
4    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:14505
5    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:14505
6    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:22
7    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:21412
8    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:2095
9    IN_BT      all  --  0.0.0.0/0            0.0.0.0/0
10   REJECT     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited
11   ufw-before-logging-input  all  --  0.0.0.0/0            0.0.0.0/0
12   ufw-before-input  all  --  0.0.0.0/0            0.0.0.0/0
13   ufw-after-input  all  --  0.0.0.0/0            0.0.0.0/0
14   ufw-after-logging-input  all  --  0.0.0.0/0            0.0.0.0/0
15   ufw-reject-input  all  --  0.0.0.0/0            0.0.0.0/0
16   ufw-track-input  all  --  0.0.0.0/0            0.0.0.0/0

当时发现的重点

  • 已明确放行的端口有 22、14505、21412、2095
  • 没有看到 2096
  • 后面还有 IN_BT 和 REJECT

这时候我开始怀疑:

2096 很可能不是服务本身有问题,而是系统防火墙这边没有放行。


三、自己尝试插入 2096,结果立刻恢复访问

为了验证是不是系统规则的问题,我直接手动往 INPUT 里插入 2096 的放行规则。

插入后,2096 立刻就可以访问了。

这一步非常关键,因为它直接证明了:

问题不在程序本身,而在服务器系统防火墙规则。

也正是这一步,让我产生了新的疑惑:

  • 宝塔不是已经开启了吗?
  • 宝塔里面防火墙不是关闭状态、默认全部通过吗?
  • 为什么还要我手动在系统里插入 2096,端口才能访问?

四、继续排查后,确认是服务器原本规则先拦截了流量

在我手动插入 2096 后端口立刻恢复访问,这时就可以确定:

问题不是宝塔本身没放行,而是服务器里原本就存在一套旧的防火墙规则,流量先被这些规则处理了。

也就是说:

  • 宝塔里虽然设置成了“防火墙关闭 / 默认全部通过”
  • 但请求在进入宝塔规则之前,就已经被服务器原本的规则影响到了
  • 所以看起来像是“宝塔已经放开了,但端口还是不通”

到这里我才真正明白:

服务器里原本就有一套规则,宝塔也有自己的一套规则。原有规则先生效,导致流量根本没有正常走到宝塔防火墙那一步。

这也是为什么:

  • 我手动插入 2096 后马上就通了
  • 因为我实际上打通的是系统层,而不是单纯改了宝塔显示状态

五、处理思路:清掉旧规则,只使用宝塔防火墙

确认问题来源后,后面的处理方向就明确了:

处理目标

  • 不再让系统旧规则、手动插入规则、UFW残留、宝塔规则混在一起
  • 避免再次出现“宝塔显示全部通过,但端口实际不通”的情况
  • 统一只用宝塔防火墙管理端口

处理方式

  1. 先备份当前规则
iptables-save > /root/iptables.bak
  1. 查看当前 INPUT 规则编号
iptables -L INPUT -n --line-numbers
  1. 把以前手动加的旧规则逐条删除
    • 包括手动插入的 2096
    • 包括历史遗留的端口放行规则
    • 包括不再需要的旧限制规则

示例:

iptables -D INPUT <编号>
  1. 如果 UFW 不再使用,就保持停用,不再混用

    • 避免 UFW、手动 iptables、宝塔三套逻辑同时存在
  2. 最后只保留宝塔这一套规则

    • 以后像 2096 这样的端口,不再手动往 INPUT 里单独插
    • 统一在宝塔防火墙里配置和维护

这样处理之后,逻辑就变得很清楚:

  • 系统里不再有额外旧规则抢先生效
  • 请求可以正常进入宝塔规则
  • 端口是否放行,统一看宝塔配置

六、最终结论

这次问题最关键的转折点是:

我手动往系统 INPUT 插入 2096 后,端口立刻恢复访问。

这一步说明:

  • 问题确实是服务器系统规则造成的;
  • 宝塔面板里“防火墙关闭”并不等于系统底层规则已经全部清空;
  • 如果系统原有规则先把流量拦了,宝塔那边就算默认全部通过,也没有机会生效。

最终结论就是:

不是宝塔失效,而是系统原本规则先影响了流量。后面把旧规则清掉,只保留宝塔,端口管理逻辑才真正统一。


七、经验总结

这次排查的核心经验:

  • 不能只看宝塔面板的开关状态
  • 端口通不通,最终还是要看系统底层 iptables
  • 宝塔只是管理入口,真正执行的还是系统规则
  • 最稳妥的方式是:
    • 清理旧规则
    • 不混用多套防火墙
    • 统一只让宝塔管理防火墙
最后更新时间:
贡献者: 何风顺
上一页
甲骨文-宝塔面板无法访问问题
下一页
甲骨文重启后宝塔面板无法访问