Я пытаюсь подключиться к базе данных PostgreSQL, размещенной на гостевом компьютере Win7, с узла Win7.
Я настроил безопасность в pg_hba.conf
host all all 127.0.0.1/32 md5
host all all 10.0.2.15/32 md5
host all all 192.168.1.6/32 md5
и установите для параметра listen_addresses в postgresql.conf значение '*'.
Я думаю, что правильно настроил переадресацию портов, поскольку вижу:
Key: VBoxInternal/Devices/e1000/0/LUN#0/Config/win7_vm1/GuestPort, Value: 5432
Key: VBoxInternal/Devices/e1000/0/LUN#0/Config/win7_vm1/HostPort, Value: 5432
Key: VBoxInternal/Devices/e1000/0/LUN#0/Config/win7_vm1/Protocol, Value: TCP
когда я вызываю getextradata.
Это похоже на Не удается подключиться к PostgreSQL в гостевой системе VirtualBox но я не уверен, что делаю не так.
В файле vbox.log я вижу:
00: 00: 01.019 NAT: установить перенаправление TCP-порт хоста 5432 => гостевой порт 5432 @ 10.0.2.15 00: 00: 01.033 NAT: не удалось перенаправить TCP 5432 => 5432
но я не знаю, как это исправить. Любые идеи? Спасибо.
Мой первый вопрос: можете ли вы проверить, можете ли вы подключиться к PostgreSQL в гостевой системе из гостевой системы?
Что касается проблемы с ошибкой переадресации порта, это обычно является результатом того, что VirtualBox не может создать сокет, прослушивающий соединения на хосте, и наиболее распространенной причиной этого является то, что что-то еще уже прослушивает этот порт. Есть ли у вас на хосте также PostgreSQL?
Взгляните на инструмент TCPView от группы SysInternals в Microsoft. Он может показать вам активные конечные точки TCP и процесс владения ими. Это должно помочь вам определить, захватил ли что-то TCP 5432 и что это такое. Запустите его на хосте и в гостевой системе, если вы хотите убедиться, что PostgreSQL работает и прослушивает соединения.
TCPView: http://technet.microsoft.com/en-us/sysinternals/bb897437
Если база данных размещена на хосте, переадресация портов не требуется, просто укажите гостю на хост NAT (идентифицированный через ipconfig).