You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firewalld如何将端口开放给所有IP?PostgreSQL端口配置求助

解决firewalld开放PostgreSQL端口给所有IP的问题

错误原因

你执行的--add-source= *命令出错,是因为shell会把*解析成当前目录下的所有文件名,导致命令被错误地附加了额外参数(比如mysql80-community-release-el9-1.noarch.rpm),firewalld无法识别这些参数。

正确配置方法

要允许所有IP访问PostgreSQL,不需要用通配符*,而是用CIDR地址段表示所有IP:

1. 允许所有IPv4地址访问

执行以下命令:

sudo firewall-cmd --permanent --zone=postgresqlrule --add-source=0.0.0.0/0

2. (可选)允许所有IPv6地址访问

如果需要支持IPv6,补充执行:

sudo firewall-cmd --permanent --zone=postgresqlrule --add-source=::/0

3. 重新加载firewalld配置

执行命令使配置生效:

sudo firewall-cmd --reload

额外注意事项

仅开放防火墙还不够,需要同时修改PostgreSQL的配置,允许外部连接:

  • 编辑postgresql.conf,将listen_addresses设置为'*'
  • 编辑pg_hba.conf,添加一行:host all all 0.0.0.0/0 scram-sha-256(根据你的认证方式调整,比如旧版本可使用md5)
  • 重启PostgreSQL服务使配置生效:sudo systemctl restart postgresql

内容的提问来源于stack exchange,提问作者joepaji

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 02:35:35