Ubuntu
無法連接到 VirtualBox 來賓上的 PostgreSQL
當我嘗試從主機系統上的 PostgreSQL 客戶端連接到 VirtualBox 來賓系統上的 PostgreSQL 伺服器時,我收到“連接嘗試失敗”消息。
主機系統是 Windows XP。我正在執行 VirtualBox 3.1.2。來賓系統是 Ubuntu 9.10 Karmic Koala 和 PostgreSQL 8.4。
我已經按照手冊和這篇文章中的描述在 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
然後我用
sudo /etc/init.d/postgresql-8.4 reload
.僅出於診斷目的,我禁用了我的 Windows 防火牆和我的 Ubuntu 防火牆 (
sudo ufw disable
)。有人知道我錯過了哪些步驟嗎?
好的,感謝這篇文章,我找到了遺漏的步驟。
我忘記在 postgresql.conf 中設置 listen_addresses 設置。我正在使用這個值,但它可能會受到更多限制:
listen_addresses = '*'
澄清一下,當您從主機連接到 PostgreSQL 時,使用 localhost 作為伺服器,使用 5432 作為埠。VirtualBox 會將該埠轉發給來賓。
我還意識到某些設置要求您重新啟動 PostgreSQL,而不僅僅是重新載入它。命令是:
sudo /etc/init.d/postgresql-8.4 restart