启用 PostgreSQL 远程访问 - 似乎没有任何效果

Enable PostgreSQL remote access- nothing seems to work

我已经尝试了所有我能找到的方法来远程访问 centos 服务器上的 postgresql 8.1 数据库。我正在尝试使用 pgAdmin 3 从我的 windows 10 PC 连接。我不断收到:

The server doesn't accept connections: the connection library reports could not connect to server: Connection timed out (0x0000274C/10060) Is the server running on host "server ip" and accepting TCP/IP connections on port 5432?

这是我所做的:
pg_hba.conf 已添加 -

host  all all  "my public IP address"/32  trust  

postgresql.conf -

listen_addresses='*'  

重新启动 PostgreSQL

将以下内容添加到 iptables

-A INPUT -p tcp -s 0/0 --sport 1024:65535 -d "my IP"  --dport 5432 -m state --state NEW,ESTABLISHED -j ACCEPT  
-A OUTPUT -p tcp -s "my ip" --sport 5432 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT  

重新启动 iptables

我已经验证了很多次,我的 IP 地址都是正确的。

任何人都可以帮助解决我可能遗漏的问题。

更新:
我停止了 iptables 服务并能够连接,所以这与我的 iptable 规则有关。

如果你真的想从其他机器启用无密码连接,在行

host  all all  "my public IP address"/32  trust

"my public IP address" 应该是您尝试连接的机器的 IP 地址。

别忘了 运行 pg_ctl reload 加载更改后的配置文件。

要混杂并允许来自任何地方的无密码连接,请使用

host  all all  0.0.0.0/0  trust

如果遇到问题,请在postgresql.conf中将log_connections设置为on并查阅日志文件。

我发现了 iptables 的错误。使用 CentOS 我需要添加
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5432 –s "my IP" -j ACCEPT
PostgreSQL 的一切都是正确的。只需要根据上述更改 iptable 规则。