2017-07-25 67 views
0

我嘗試了一切,我可以找到啓用遠程訪問一個centos服務器上的postgresql 8.1數據庫。我想從我的窗戶使用pgAdmin的3.我不斷收到10 PC連接:啓用PostgreSQL遠程訪問 - 似乎沒有任何工作

服務器不接受連接:連接庫報道 無法連接到服務器:連接超時(0x0000274C/10060 )服務器是否在主機「server ip」上運行並接受端口5432上的TCP/IP連接?

這是我做了什麼:
pg_hba.conf的加入 -

host all all "my public IP address"/32 trust 

的postgresql.conf -

listen_addresses='*' 

重啓PostgreSQL的

添加以下的iptables來

-A INPUT -p tcp -s 0/0 --sport 1024:65535 -d "my IP" --dport 5432 -m state --state NEW,ESTABLISHED -j ACCEPT 
-A OUTPUT -p tcp -s "my ip" --sport 5432 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT 

重啓的iptables的

我已經驗證了很多次,我有正確的IP地址,無處不在。

任何人都可以幫助我可能會失蹤。

更新:
我停止了iptables服務,並能夠連接,所以它是我的iptable規則的東西。

+0

你配置了Postgres來監聽端口5432嗎?你爲什麼使用這樣一個過時的Postgres版本? –

+0

感謝您清理我的文章。仍然試圖編制編輯。是的,它正在監聽端口5432.我們正在轉換/更新一個非常舊的系統。我正嘗試連接到舊服務器,以便我們可以將數據轉換爲新系統的結構。然後再過時的PostgreSQL版本。 – ZeroGravity

+0

從服務器上運行的phpPgAdmin的頂部複製此內容。 PostgreSQL 8.1。23在localhost上運行:5432 – ZeroGravity

回答

0

我發現iptables的錯誤。使用CentOS我需要添加
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5432 –s "my IP" -j ACCEPT
所有PostgreSQL都是正確的。只需要改變上面的iptable規則。

0

如果你真的想使不從其他機器密碼的連接,在該行

host all all "my public IP address"/32 trust 

"my public IP address"應該從你試圖連接的計算機的IP地址。

不要忘記運行pg_ctl reload來加載更改的配置文件。

要混雜,讓來自世界各地的密碼連接,使用

host all all 0.0.0.0/0 trust 

如果遇到問題,在postgresql.conf設置log_connectionson和諮詢的日誌文件。

+0

我的本地網絡使用'192.168.5.xxx',我的公網IP是'107.xxx.xxx.xxx'。我已經在'pg_hba.conf'中使用了這兩個,但沒有取得任何成功。每次更改後我都會運行'postgresql restart'。我認爲這將和'pg_ctl reload'一樣。我會嘗試混雜和開放一切,看看它是否有效,然後縮小範圍。 – ZeroGravity