[英]Opening port for Postgresql
我一直在嘗試通過網絡使Postgres可用,但到目前為止還無法實現。
根據netstat的說法,postgres正在正確的端口上監聽:
#netstat -anltp | grep 5432
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 2385/postgres
但是,當我嘗試從另一台設備進行nmap時,該端口似乎已關閉。
#nmap -p 5432 marvin
Starting Nmap 6.40 ( http://nmap.org ) at 2014-10-31 10:31 CET
Nmap scan report for marvin (*.*.*.*)
Host is up (0.00048s latency).
rDNS record for *.*.*.*: marvin.*.*
PORT STATE SERVICE
5432/tcp closed postgresql
我的猜測是,它與我使用主機名而不是IP有關,但是由於IP經常在這里更改,因此我寧願使用主機名。
我已經設置了listen_addresses ='*',這是我在這里發現的另一個類似問題的解決方案,但無濟於事。 我還在pg_hba.conf中嘗試了不同的設置,但是端口保持關閉狀態。
host all all .jarvis trust
host all all jarvis trust
host all all 0.0.0.0/24 trust
我還使用了一些為iptables找到的示例,但也沒有運氣。
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:postgresqlflags: FIN,SYN,RST,ACK/SYN
ACCEPT tcp -- anywhere Marvin tcp spts:1024:65535 dpt:postgresql state NEW,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp dpt:postgresql
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- Marvin anywhere tcp spt:postgresql dpts:1024:65535 state ESTABLISHED
最后,我嘗試通過telnet連接,也沒有運氣
telnet marvin 5432
Trying *.*.*.*...
telnet: Unable to connect to remote host: Connection refusedo connect to the port
但是,22號沒有問題。
telnet marvin 22
Trying *.*.*.*...
Connected to marvin.*.*.
Escape character is '^]'.
SSH-2.0-OpenSSH_6.0p1 Debian-3ubuntu1
誰能告訴我是否有人誤解了某個設置,或者它與使用主機名有關?
再次查看您的netstat輸出。 您僅在本地主機(127.0.0.1)上偵聽。 檢查您的配置文件,然后重新啟動PostgreSQL。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.