VirtualBox 게스트에서 PostgreSQL에 연결할 수 없습니다

VirtualBox 게스트에서 PostgreSQL에 연결할 수 없습니다

호스트 시스템의 PostgreSQL 클라이언트에서 VirtualBox 게스트 시스템의 PostgreSQL 서버로 연결하려고 하면 "연결 시도 실패" 메시지가 나타납니다.

호스트 시스템은 Windows XP입니다. VirtualBox 3.1.2를 실행 중입니다. 게스트 시스템은 PostgreSQL 8.4가 설치된 Ubuntu 9.10 Karmic Koala입니다.

매뉴얼에 설명된 대로 VirtualBox에서 포트 5432를 전달했습니다.이 게시물. 을 실행하면 vboxmanage getextradata vmname enumerate다음 항목이 표시됩니다.

Key: VBoxInternal/Devices/e1000/0/LUN#0/Config/pgsql/GuestPort, Value: 5432
Key: VBoxInternal/Devices/e1000/0/LUN#0/Config/pgsql/HostPort, Value: 5432
Key: VBoxInternal/Devices/e1000/0/LUN#0/Config/pgsql/Protocol, Value: TCP

다음 항목을 사용하여 /etc/postgresql/8.4/main/pg_hba.conf에서 PostgreSQL 보안을 구성했습니다.

# IPv4 local connections:
host    all         all         127.0.0.1/32          md5
host    all         all         192.168.1.0/24        md5
host    all         all         10.0.2.2/32        md5

그런 다음 PostgreSQL을 sudo /etc/init.d/postgresql-8.4 reload.

진단 목적으로만 사용, Windows 방화벽과 Ubuntu 방화벽( )을 비활성화했습니다 sudo ufw disable.

내가 어떤 단계를 놓쳤는지 아는 사람 있나요?

답변1

알겠습니다. 덕분에 놓친 단계를 찾았습니다.이 게시물.

postgresql.conf에서 listening_addresses 설정을 지정하는 것을 잊어버렸습니다. 저는 이 값을 사용하고 있지만 더 제한적일 수 있습니다.

listen_addresses = '*'

명확히 하기 위해 호스트에서 PostgreSQL에 연결할 때 localhost를 서버로 사용하고 5432를 포트로 사용합니다. VirtualBox는 해당 포트를 게스트에게 전달합니다.

또한 일부 설정에서는 PostgreSQL을 다시 로드하는 대신 PostgreSQL을 다시 시작해야 한다는 것도 깨달았습니다. 명령은 다음과 같습니다:

sudo /etc/init.d/postgresql-8.4 restart

관련 정보