我在我的mac(主机)上运行了postgresql。我有2个ubuntu VM。我希望这些VM能够在我的mac上访问postgresql。似乎vagrant的端口转发仅在一个方向上工作,主机只能访问客户资源,但不能相反。
在我的ubuntu客户端,我可以看到主机
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
甚至可以ping它。
但尝试在guest虚拟机上建立从guest虚拟机到postgresql运行实例的连接失败。
telnet 10.0.2.15 5432
如何让我的访客ubuntu机器在我的主机上访问postgresql?
更新: 来自客人的主机nmap:
nmap scan report for 10.0.2.15
Host is up (0.00026s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
22/tcp open ssh
111/tcp open rpcbind
答案 0 :(得分:2)
您的PostgreSQL可能不会接受localhost
或127.0.0.1
以外的其他关联。
来自documentation(强调我的):
listen_addresses (string)
指定服务器要侦听来自客户端应用程序的连接的TCP / IP地址。该值采用逗号分隔的主机名和/或数字IP地址列表的形式。 特殊条目*对应于所有可用的IP接口。条目0.0.0.0允许侦听所有IPv4地址,并且::允许侦听所有IPv6地址。如果列表为空,则服务器根本不监听任何IP接口,在这种情况下,只能使用Unix域套接字连接到它。默认值为localhost,它只允许本地TCP / IP" loopback"要进行连接。虽然客户端身份验证(第19章)允许对谁可以访问服务器进行细粒度控制,但listen_addresses控制哪些接口接受连接尝试,这有助于防止在不安全的网络接口上重复恶意连接请求。此参数只能在服务器启动时设置。
此配置文件很可能位于/var/pgsql/postgresql.conf
(source)。