尝试使用 pgAdmin3 从我的 Mac 连接到我的 CentOS VM 上的 PSQL 数据库。出现以下错误:
Access to database denied
The server doesn't grant access to the database: the server reports
FATAL: no pg_hba.conf entry for host "172.16.30.1", user "gpadmin", database "postgres", SSL off
VM 的 IP 地址是 172.16.30.139,因此我将其用作主机。我已将以下内容添加到我的 pg_hba.conf 文件中:
local all gpadmin ident
#host all gpadmin 127.0.0.1/28 trust
#host all gpadmin 192.168.249.131/32 trust
local gpperfmon gpmon md5
host all all 192.168.2.109 md5
192.168.2.109
我的 Mac 内部 IP 地址在哪里。
任何帮助,将不胜感激。
编辑:
我还运行了 tcpdump,然后尝试连接并查看以下日志(但我不知道如何读取它们):
11:00:03.740455 IP 172.16.30.1.58043 > 172.16.30.139.postgres: S 3397342885:3397342885(0) win 65535 <mss 1460,nop,wscale 3,nop,nop,timestamp 837321186 0,sackOK,eol>
11:00:03.740500 IP 172.16.30.139.postgres > 172.16.30.1.58043: S 3408844558:3408844558(0) ack 3397342886 win 5792 <mss 1460,sackOK,timestamp 74855527 837321186,nop,wscale 7>
11:00:03.740630 IP 172.16.30.1.58043 > 172.16.30.139.postgres: . ack 1 win 65535 <nop,nop,timestamp 837321186 74855527>
11:00:03.740650 IP 172.16.30.1.58043 > 172.16.30.139.postgres: P 1:9(8) ack 1 win 65535 <nop,nop,timestamp 837321186 74855527>
11:00:03.740660 IP 172.16.30.139.postgres > 172.16.30.1.58043: . ack 9 win 46 <nop,nop,timestamp 74855527 837321186>
11:00:03.744513 IP 172.16.30.139.postgres > 172.16.30.1.58043: P 1:2(1) ack 9 win 46 <nop,nop,timestamp 74855531 837321186>
11:00:03.744740 IP 172.16.30.1.58043 > 172.16.30.139.postgres: . ack 2 win 65535 <nop,nop,timestamp 837321190 74855531>
11:00:03.744816 IP 172.16.30.1.58043 > 172.16.30.139.postgres: P 9:88(79) ack 2 win 65535 <nop,nop,timestamp 837321190 74855531>
11:00:03.746083 IP 172.16.30.139.postgres > 172.16.30.1.58043: P 2:148(146) ack 88 win 46 <nop,nop,timestamp 74855533 837321190>
11:00:03.746318 IP 172.16.30.1.58043 > 172.16.30.139.postgres: . ack 148 win 65535 <nop,nop,timestamp 837321191 74855533>
11:00:03.749231 IP 172.16.30.139.postgres > 172.16.30.1.58043: F 148:148(0) ack 88 win 46 <nop,nop,timestamp 74855536 837321191>
11:00:03.749471 IP 172.16.30.1.58043 > 172.16.30.139.postgres: . ack 149 win 65535 <nop,nop,timestamp 837321194 74855536>
答案1
192.168.2.109
可能是你的mac在内网的地址,但是172.16.30.1
是它与虚拟机通讯时使用的虚拟网络上的mac地址,而这个地址就是你需要在 中配置的地址pg_hba.conf
。