# 端口规则管理
> 宝塔面板系统防火墙端口规则管理:按 TCP/UDP、端口号、指定 IP/IP 段/域名添加或拒绝规则,支持规则导入导出,适用于 Web、数据库、FTP 等服务端口放行与屏蔽。
# 端口规则
本文将介绍宝塔面板的系统防火墙功能,包括添加、修改、删除端口规则,以及导入/导出规则等。
宝塔面板的**系统防火墙**功能,可便捷管理服务器端口访问规则,支持添加、修改、删除端口规则,实现对指定端口的访问控制(允许/拒绝),适用于配置Web服务、数据库、FTP等网络服务的端口放行或屏蔽。
## 操作步骤
### 登录宝塔面板并进入防火墙
1. 登录宝塔面板,点击左侧导航栏 **【安全】** → **【系统防火墙】**。


2. 查看当前已有的端口规则列表,包括协议、端口、状态、策略、来源等信息。

### 添加端口规则
#### 入口
点击端口规则区域的 **【添加端口规则】** 按钮。


#### 配置参数
| **参数** | **说明** |
|----------------|-------------------------------------------------------------------------|
| **协议** | 选择端口使用的协议(TCP/UDP/TCP/UDP),默认选TCP(如HTTP用TCP,DNS用UDP)。 |
| **端口** | 输入单个端口(如80)或端口范围(如39000-40000),支持逗号分隔多个端口(如80,443)。 |
| **来源** | **所有IP**:允许/拒绝所有IP访问。
**指定IP**:输入单个IP或IP段(如192.168.1.0/24),支持IP范围(如192.168.1.10-192.168.1.20)。
**指定域名**:企业版专享,输入域名限制访问来源。 |
| **策略** | 选择 **允许**(放行端口)或 **拒绝**(屏蔽端口)。 |
| **备注** | 填写端口用途(如“Web服务端口”“FTP被动模式端口”),便于后续管理。 |
#### 示例
- **放行Tomcat服务端口8080**:
协议选TCP,端口填8080,来源选“所有IP”,策略选“允许”,备注填“Tomcat服务端口”,点击 **【提交】**。

#### 生效检查
添加后,规则自动生效。在端口规则列表中查看新规则,状态显示为:
- **正常**:端口已被服务占用且放行成功。
- **未使用**:端口无服务监听或服务未启动(可忽略或删除)。
- **外网不通**:需检查云服务商安全组是否放行、服务是否监听外网IP(见【常见问题】)。
### 修改/删除端口规则
1. **修改**:找到目标规则,点击操作栏 **【修改】**,调整参数后提交。

2. **删除**:点击操作栏 **【删除】**,确认后移除规则(谨慎操作,避免影响服务)。

### 导入/导出端口规则
#### 导出规则
点击端口规则区域的 **【导出规则】** 按钮,下载规则文件(.txt格式),用于备份或迁移。

#### 导入规则
在目标服务器的防火墙页面,点击 **【导入规则】**,选择已备份的规则文件,一键批量添加规则(需确保格式正确)。

## 状态说明与端口管理
### 端口状态含义
| **状态** | **说明** |
|------------|-------------------------------------------------------------------------|
| **正常** | 端口已被服务监听,且防火墙规则生效,访问正常。 |
| **未使用** | 端口无服务监听、服务未启动,或规则已废弃(可删除无用规则)。 |
| **外网不通** | 可能原因:
1. 服务未监听外网IP;
2. 云服务商安全组未放行;
3. 规则未生效(尝试删除重加);
4. 不影响访问时可忽略。 |
### 常用端口参考
| **端口** | **用途** | **是否需放行** |
|----------|-----------------------------|----------------|
| 22 | SSH远程管理 | 必须(仅允许可信IP) |
| 80 | HTTP协议默认端口 | 必须(若启用HTTP服务) |
| 443 | HTTPS协议默认端口 | 必须(若启用HTTPS服务) |
| 3306 | MySQL数据库端口 | 按需(建议限制来源IP) |
| 20/21 | FTP主动模式端口 | 按需(配合被动模式端口范围39000-40000) |
| 888 | phpMyAdmin管理端口 | 按需(建议修改为非默认端口) |
## 注意事项
1. **不同系统防火墙差异**:
- CentOS 6:使用`iptables`防火墙,面板仅显示通过面板添加的规则。
- CentOS 7+:使用`firewalld`防火墙,面板会读取所有规则(包括命令行添加的)。
- Debian/Ubuntu:使用`ufw`防火墙,规则同步至系统。
2. **云服务商安全组**:务必在腾讯云、阿里云等控制台放行对应端口,否则防火墙规则可能失效。[常用服务器厂商安全组放行方法](https://docs.bt.cn/getting-started/allow-panel-port-access#%E5%B8%B8%E7%94%A8%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%8E%82%E5%95%86%E7%9A%84%E6%94%BE%E8%A1%8C%E6%96%B9%E6%B3%95)
## 常见问题处理
1. **端口放行后仍无法访问**:
- 检查服务是否正常运行(如`netstat -tunlp | grep 端口号`)。
- 确认云服务商安全组已放行相同端口。[常用服务器厂商安全组放行方法](https://docs.bt.cn/getting-started/allow-panel-port-access#%E5%B8%B8%E7%94%A8%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%8E%82%E5%95%86%E7%9A%84%E6%94%BE%E8%A1%8C%E6%96%B9%E6%B3%95)
- 删除端口规则后重新添加,确保生效。
2. **误删关键端口规则**:
- 通过“导出规则”提前备份,误删后可快速导入恢复。[导入/导出端口规则](https://docs.bt.cn/user-guide/security/firewall/port-rule#%E5%AF%BC%E5%85%A5%E5%AF%BC%E5%87%BA%E7%AB%AF%E5%8F%A3%E8%A7%84%E5%88%99)
- 手动重新添加常用端口(如22、80、443)并设置策略为“允许”。