1

我在我的 XP 机器上运行了 pgAdmin。网络上有一台运行 Postgres 服务器的 Centos 机器。Postgres 服务器pg_hba.conf文件有以下几行

TYPE      DATABASE    USER      CIDR-ADDRESS       METHOD
host      all         all       10.0.0.68/32       trust
local     mydb        myuser                       password
local     all         postgres                     ident
host      mydb        myuser    10.0.0.68/32       password
host      all         postgres  10.0.0.68/32       trust

我的postgresql.conf文件有以下行:

listen_address = 'localhost, 10.0.20.10'

nmap -sS 10.0.20.10显示:

PORT      STATE     SERVICE
5432/tcp  open      postgresql

我可以通过 ssh 进入服务器上的 bash shell,但无法连接到 pgAdmin。我得到以下信息:

无法连接到服务器:没有到主机的路由(0x00002751/10065)服务器是否在主机“10.0.20.10”上运行并接受端口 5432 上的 TCP/IP 连接?

我不知道问题是什么。

4

2 回答 2

2

@Aidan 自己找到了解决方案:

这是一个防火墙问题。

service iptables stop

启用连接。我会写一个规则来允许连接。

于 2012-05-07T00:36:23.470 回答
2

假设服务器的 IP 地址是,10.0.20.10那么您可以将这些 iptable 规则添加为评论中建议的@Dark Star1:

iptables -A INPUT -p tcp -s 0/0 --sport 1024:65535 -d 10.0.20.10 --dport 5432 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -s 10.0.20.10 --sport 5432 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
于 2014-09-16T11:23:22.763 回答