如何启用对PostgreSQL的远程访问

时间:2015-01-14 18:32:50

标签: postgresql iptables

我必须在本地网络中使用centos服务器

  • 服务器1:192.168.0.200
  • 服务器2:192.168.0.201

在服务器1上,我有一个PostgreSQL数据库

我需要从服务器2访问该数据库

在postgresql.conf上我改变了listen_addresses = 'localhost,192.168.0.201'pg_hba.conf我添加了所有192.168.0.0/24信任

的主机

对于Iptables,我添加了以下内容:

iptables -A INPUT -p tcp -s 192.168.0.201 --sport 1024:65535 -d 192.168.0.200  --dport 5432 -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -p tcp -s 192.168.0.200 --sport 5432 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

知道我做错了什么...... 所有这些我都研究过互联网,因为我是一个Linux新手

欢迎任何帮助:)

-----更新---- 改变了listen_addresses =' *' 但还是不行...... 我也试过另一台服务器:nc -z -w5 192.168.0.200 5432;回声$? 我得到一个结果,所以没有连接...... 我想问题是iptables ..任何想法?

-----更新---- 发现它..这个系统是Centos 7,所以它似乎没有使用iptables ......我添加了

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

firewall-cmd --reload

这解决了我的问题

1 个答案:

答案 0 :(得分:1)

您有listen_addresses错误。它是数据库服务器上接口的地址,而不是您要连接的计算机的地址。对所有接口使用192.168.0.200或'*'。