无法从远程地址连接到 Postgres

无法从远程地址连接到 Postgres

我无法从我的机器连接到运行 Postgres 的服务器。我认为我已经正确配置了一切。服务器上没有防火墙。

我在 Ubuntu 12.04 LTS 上运行 Postgres 9.1.9

这是来自 /etc/postgresql/9.1/main/pg_hba.conf

local   all             postgres                                peer

# TYPE  DATABASE        USER            ADDRESS                 METHOD

local   all             all                                     peer
host    all             all             0.0.0.0/0               md5
host    all             all             ::1/128                 md5

我有listen_addresses = '*'/etc/postgresql/9.1/main/postgresql.conf

我已多次停止并启动该服务。

netstat -tulnp

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:27017           0.0.0.0:*               LISTEN      19312/mongod    
tcp        0      0 0.0.0.0:28017           0.0.0.0:*               LISTEN      19312/mongod    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      978/sshd        
tcp        0      0 0.0.0.0:5432            0.0.0.0:*               LISTEN      30239/postgres  
tcp6       0      0 :::22                   :::*                    LISTEN      978/sshd        
tcp6       0      0 :::5432                 :::*                    LISTEN      30239/postgres 

我的 iptable 是空的。

当我尝试使用

psql -U postgres -h <MY_IP>

我得到:

psql: could not connect to server: Operation timed out
Is the server running on host "<MY_IP>" and accepting
TCP/IP connections on port 5432?

有啥帮助吗?谢谢

端口 5432 上的 tcpdump:

16:33:10.548507 7c:c3:a1:a2:d9:27 (oui Unknown) > 00:00:5e:00:01:01 (oui Unknown), ethertype IPv4 (0x0800), length 78: <MY_MAC> > <MY_SERVER>.postgresql: Flags [S], seq 95915852, win 65535, options [mss 1460,nop,wscale 4,nop,nop,TS val 1189142453 ecr 0,sackOK,eol], length 0

我可以连接到服务器上的 postgres ( psql -U postgres -h localhost) 但是我无法从我的机器上通过 5432 进行 telnet。

答案1

请记住,运行客户端的机器可能还设置了 iptables 规则来阻止连接的传出或入站部分。

答案2

似乎有防火墙阻止了您的网络流量。您的消息中没有关于网络(客户端和 postgres 服务器)的信息,但似乎有一些防火墙规则阻止了客户端和服务器之间的流量。

答案3

您使用的是 ipv4 还是 ipv6。

因为您的 tcpdump 示例显示 ipv6 连接,而您没有在 pg_hba.conf 上启用 ipv6 连接

::1/128 --------> 环回

相关内容