运维

运维

Products

当前位置:首页 > 运维 >

如何设置CentOS防火墙以允许PostgreSQL访问?

96SEO 2025-10-30 22:01 0


概述

在CentOS系统中配置防火墙以允许PostgreSQL访问,是确保数据库服务平安运行的重要步骤。

CentOS上如何配置PostgreSQL的防火墙

检查PostgreSQL的监听地址和端口

先说说您需要确认PostgreSQL服务正在监听正确的地址和端口。默认情况下PostgreSQL使用TCP端口5432。

listen_addresses = '*'
port = 5432

配置firewalld防火墙

1. 开启防火墙

确保firewalld服务已经开启:

sudo systemctl start firewalld

2. 添加端口规则

使用以下命令添加规则以允许5432端口通过firewalld:

sudo firewall-cmd --permanent --zone=public --add-port=5432/tcp

这个命令将在“public”区域永久添加一个规则,允许TCP协议的5432端口流量。

3. 重新加载防火墙规则

添加新规则后 需要重新加载防火墙配置以使更改生效:

sudo firewall-cmd --reload

4. 验证端口开放情况

使用以下命令验证端口是否已经开放:

sudo firewall-cmd --list-all

在输出的信息中,你应该能看到类似“5432/tcp”的条目,表示端口已经开放。

配置SELinux策略

如果你的系统启用了SELinux,你可能还需要配置SELinux策略来允许PostgreSQL的网络连接。

1. 安装policycoreutils-python

sudo yum install -y policycoreutils-python

2. 添加SELinux规则

使用以下命令添加规则:

sudo semanage port -a -t postgresql_port_t -p tcp 5432

这个命令会将TCP端口5432添加到SELinux的postgresql_port_t类型中。

重启PostgreSQL服务

为了确保所有的配置更改都已生效, 建议重启PostgreSQL服务:

sudo systemctl restart postgresql

通过上述步骤,您已经成功只开放必要的端口,并尽可能限制访问来源,以提高平安性。


标签: CentOS

提交需求或反馈

Demand feedback