I have a vagrant box installed with a postgres server running on it on port 5432, and I added this to the Vagrantfile:
config.vm.network "private_network", ip: "192.168.33.33"
config.vm.network "forwarded_port", guest: 5432, host: 3333
But when I try to connect to the postgres server by connecting to 192.168.33.33:3333
I get this error:
Connection refused, this is the same error I'll get if I try to connect to any ports that aren't open. I ran a port scanner on 192.168.33.33 and didn't see any of the forwarded ports open. This is actually what I have in the Vagrantfile:
config.vm.network "forwarded_port", guest: 8000, host: 8001
config.vm.network "forwarded_port", guest: 3333, host: 3334
config.vm.network "forwarded_port", guest: 5555, host: 5556
config.vm.network "forwarded_port", guest: 5432, host: 3333
config.vm.network "forwarded_port", guest: 80, host: 8888,
auto_correct: true
and heres the results from the port scanner:
It didn't detect any ports above 995. How do I access the VMs postgres server?
UPDATE:
I found a way to connect via localhost (charlies suggestion), it seems that config.vm.network "forwarded_port" only forwards ports to localhost. Additionally, I followed this guide:
https://pseudoscripter.wordpress.com/2016/04/26/allow-remote-hosts-to-connect-to-postgresql-database-server-on-vagrant-box/
and edited postgresql.conf so that it listens to all IPs, by adding this line:
listen_addresses = '*' # what IP address(es) to listen on;
and edited pg_hba.conf to allow the guests IP address:
host all all 192.168.33.33/24 md5
^^ That step probably has nothing to do with why it works on localhost:3333. The steps from that guide didn't work connecting on 192.168.33.33:3333, but I can connect on localhost:3333.
SOLVED
Rather than trying to access the server on the guest IP via the forwarded ports, it can be accessed on the guests port, so I can access the server on 192.168.33.33:5432 now. This didn't work for me when I first tried, so the steps in UPDATE 1 were required to make it accessible.


localhost, so you should connect tolocalhost:3333