《openEuler2403 防火墙与 SELinux 配置:确保 PostgreSQL17 端口正常访问》
$ \text{配置成功标志:} \quad \boxed{\text{远程客户端可正常连接数据库服务}} $$
·
openEuler 2403 防火墙与 SELinux 配置:确保 PostgreSQL 17 端口正常访问
1. 确认 PostgreSQL 端口
- 查看配置文件确认端口号(默认
5432):grep '^port' /var/lib/pgsql/17/data/postgresql.conf - 检查运行状态:
ss -tulnp | grep postgres
2. 防火墙配置(firewalld)
- 开放默认端口
5432:firewall-cmd --permanent --add-port=5432/tcp firewall-cmd --reload - 验证规则:
firewall-cmd --list-ports | grep 5432
3. SELinux 配置
- 允许 PostgreSQL 网络访问:
setsebool -P httpd_can_network_connect_db 1 - 为自定义端口添加标签(如
5433):semanage port -a -t postgresql_port_t -p tcp 5433 - 验证端口标签:
semanage port -l | grep postgresql
4. 验证连接
- 本地测试:
psql -h 127.0.0.1 -U postgres - 远程测试(使用
telnet或nc):telnet <服务器IP> 5432
5. 故障排查
- 检查 SELinux 日志:
grep "AVC.*denied" /var/log/audit/audit.log | grep postgres - 临时禁用 SELinux 测试:
setenforce 0 # 测试后务必恢复: setenforce 1
6. 持久化配置
- 保存防火墙规则:
firewall-cmd --runtime-to-permanent - 确保 SELinux 布尔值永久生效:
semanage boolean -m httpd_can_network_connect_db --on
关键提示
- 若使用非默认端口,需同步修改防火墙和 SELinux 规则
- 生产环境建议保持 SELinux 为
enforcing模式- PostgreSQL 服务名可能为
postgresql-17.service,使用systemctl管理
$$ \text{配置成功标志:} \quad \boxed{\text{远程客户端可正常连接数据库服务}} $$
鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。
更多推荐



所有评论(0)