PostgreSQLにリモートでアクセスできません。

PostgreSQLにリモートでアクセスできません。

PostgreSQL 9.2はDebianで利用可能です。私の/etc/postgresql/9.2/main/postgresql.confファイルには以下が含まれます。

listen_addresses = '127.0.0.0, 212.49.109.137'
password_encryption = on

「212.49.109.137」はPostgreSQLを実行しているコンピュータのIPです。

/etc/postgresql/9.2/main/pg_hba.conf含む:

host    all         all        85.12.201.202         255.255.255.0  md5

85.12.201.202 は、接続を試みるクライアントの IP アドレスです。以下を使用して接続を試みます。

psql -h 212.49.109.137 -U postgres -d postgis_template

エラーが発生しました。

psql: could not connect to server: Timeout
Is the server running on host "212.49.109.137" and accepting
TCP/IP connections on port 5432?

netstat -pln私が見るに:

tcp        0      0 127.0.0.0:5432          0.0.0.0:*               LISTEN      5127/postgres   

答え1

チェックリスト:

  • 構成を変更した後、サーバーを再ロード/再起動しますか?
  • クライアントがTCPポート5432を転送するようにファイアウォールが構成されていますか?
  • PostgreSQLは実際にそのポートで実行されていますか?netstat -tnlp | grep :5432学ぶために使用してください。 (プログラム名を取得するにはrootとして実行してください)
  • アクセスをブロックする他のルールはありませんかpg_hba.conf
  • エラーログにエラーがありますか?

今、あなたの特定の設定を見て、サブネットマスクを間違った方法で指定したようです。この試み:

host    all     all     85.12.201.202/32    md5

255.255.255.0 マスクとは異なります。このマスクを使用すると、85.12.201.ネットワーク上の誰もが接続できるためです。

関連情報