O adaptador de rede da sua VM é, por padrão, no modo NAT. Isso significa que você não pode ssh / telnet / etc para sua VM fora dela. Mude para Bridged nas configurações da VM e isso deve funcionar.
Eu configurei o Postgres para aceitar conexões de rede de qualquer lugar:
No pg_hga.conf:
host all all 0.0.0.0/0 md5
No postgresql.conf:
listen_addresses = '*'
Eu posso ver o servidor escutando
vagrant@vagrant-ubuntu-trusty-64:~$ sudo netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
<snip>
tcp 0 0 0.0.0.0:5433 0.0.0.0:* LISTEN 1570/postgres
Eu configurei o iptables para permitir conexões TCP de entrada para 5433
vagrant@vagrant-ubuntu-trusty-64:~$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:5433
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
De uma sessão ssh na VM, posso executar telnet 10.0.2.15 5433
e funciona. Eu também posso conectar com o cliente psql completo. Do meu host, se eu executar o mesmo comando telnet ou o mesmo comando psql, não consigo me conectar.
O que pode estar errado e o que posso verificar?