如何设置服务器可访问端口?端口安全配置详细教程(2024)
- 互联网
- 2026-02-08
- 2411
确定需要开放的端口
常见服务端口:
- 22:SSH(远程管理)
- 80:HTTP(网页服务)
- 443:HTTPS(加密网页服务)
- 3306:MySQL数据库
- 6379:Redis
- 自定义端口:如 8080、3000 等
配置防火墙
使用 firewalld(CentOS/RHEL/Fedora)
# 检查防火墙状态 sudo systemctl status firewalld # 启动并启用防火墙(若未运行) sudo systemctl start firewalld sudo systemctl enable firewalld # 开放端口(以 80、443、22 为例) sudo firewall-cmd --permanent --add-port=80/tcp sudo firewall-cmd --permanent --add-port=443/tcp sudo firewall-cmd --permanent --add-port=22/tcp # 重载防火墙生效 sudo firewall-cmd --reload # 查看已开放端口 sudo firewall-cmd --list-ports
使用 ufw(Ubuntu/Debian)
# 启用UFW sudo ufw enable # 开放端口 sudo ufw allow 22/tcp sudo ufw allow 80/tcp sudo ufw allow 443/tcp # 查看规则 sudo ufw status
使用 iptables(通用)
# 开放端口(示例:开放 3306) sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT # 保存规则(根据系统选择) sudo service iptables save # CentOS 6 sudo netfilter-persistent save # Debian/Ubuntu
配置云服务商安全组
阿里云、AWS、西西云等需额外配置:

- 登录云控制台 → 进入 安全组 设置。
- 添加入站规则(Inbound Rules):
- 协议:TCP
- 端口范围:填写需开放的端口(如 80 或 3000-4000)
- 授权对象:0.0.0/0(允许所有IP)或指定IP段(如 168.1.0/24)
检查服务监听配置
确保服务绑定到正确端口:
如果服务未监听目标端口,需修改其配置文件:

- Nginx/Apache:配置文件中 listen 指令(如 listen 80;)。
- Node.js:确保启动时绑定 0.0.0(如 app.listen(3000, '0.0.0.0'))。
- MySQL:检查 my.cnf 中的 bind-address = 0.0.0.0(谨慎开放外网访问)。
验证端口连通性
# 本地检查 telnet 服务器IP 端口号 # 或使用 nc nc -zv 服务器IP 端口号 # 外部检查(通过其他网络) 使用在线工具(如 https://portchecker.co/)
高级安全建议
- 限制访问来源:
- 仅允许特定IP访问敏感端口(如SSH): sudo ufw allow from 192.168.1.100 to any port 22 # Ubuntu sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port port=22 protocol=tcp accept' # CentOS
- 修改默认端口(如将SSH从22改为2222): # 编辑 /etc/ssh/sshd_config Port 2222
- 使用Fail2ban:自动屏蔽暴力免费IP。
常见问题解决
-
端口不通:
- 检查防火墙是否开放端口。
- 确认云服务商安全组已配置。
- 服务是否监听 0.0.0(而非 0.0.1)。
- 排查本地网络限制(如企业防火墙)。
-
服务未启动:
# 重启服务(以Nginx为例) sudo systemctl restart nginx
通过以上步骤,您可安全地配置服务器端口访问权限。
