如何从vagrant guest machine访问主机上的端口

时间:2014-06-03 21:16:27

标签: postgresql ubuntu vagrant

我在我的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

1 个答案:

答案 0 :(得分:2)

您的PostgreSQL可能不会接受localhost127.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.confsource)。