如何从vagrant客户机访问主机上的端口?

4
我在我的Mac(主机)上运行PostgreSQL。我有两个Ubuntu虚拟机。我希望这些虚拟机能够访问我Mac上的PostgreSQL。似乎Vagrant的端口转发只能单向工作,主机只能访问客户机资源,而不能反过来。
在我的Ubuntu客户机上,我可以看到主机的IP地址inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0,甚至可以ping通它。
但是,在客户机上尝试与主机上正在运行的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

类似问题:https://dev59.com/jmIj5IYBdhLWcg3wv3i2?rq=1 - Emyl
1个回答

2
您的PostgreSQL可能仅接受来自localhost127.0.0.1的连接。
根据文档(重点标注为我):

listen_addresses (string)

指定服务器用于在客户端应用程序中侦听连接的TCP/IP地址。该值采用主机名和/或数字IP地址的逗号分隔列表形式。 特别条目 * 对应于所有可用的IP接口。 条目0.0.0.0允许侦听所有IPv4地址,::允许侦听所有IPv6地址。 如果列表为空,则服务器不侦听任何IP接口,此时只能使用Unix域套接字连接到它。 默认值为localhost,这仅允许进行本地TCP/IP“回环”连接。 虽然客户端身份验证(第19章)允许对可以访问服务器的用户进行细粒度控制,但是listen_addresses控制接受连接尝试的接口,这可以帮助防止在不安全的网络接口上重复恶意连接请求。此参数只能在服务器启动时设置。

此配置文件最可能位于/var/pgsql/postgresql.conf中(来源)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接