Назад | Перейти на главную страницу

Перенаправление портов VirtualBox для подключения к базе данных PostgreSQL

Я пытаюсь подключиться к базе данных 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).