Ubuntu 12.04クラウドサーバーのデフォルトポート5432で実行されるpostgres 9.1サーバーがあります。
リモートクエリを実行できるようにポートを開きたいが、プロトコルを指定する必要があるIPテーブルでポートを開く必要があります。この文書TCP/UDPなどへの言及はありません。
IPテーブルでどのプロトコルを許可する必要がありますか?
答え1
プロトコルは通常のTCP / IPです。
posgresqlドキュメントから「フロントエンド」および「バックエンド」プロトコル:
PostgreSQLはメッセージベースのプロトコルを使用して、フロントエンドとバックエンド(クライアントとサーバー)間の通信を実行します。このプロトコルは以下をサポートします。TCP/IPまた、Unixドメインソケットを介しても可能です。ポート番号 5432このプロトコルをサポートすることで、IANAに登録されているサーバーの慣例的なTCPポート番号ですが、実際には許可されていないすべてのポート番号を使用できます。
だから薬iptablestcp
Unixドメインソケットはネットワーキングには適していないため、このプロトコルを使用してください。
iptables例:
iptables <other_options> -p tcp -dport 5432 -j ACCEPT
ノート:
〜のようにラーケンシュタインこのネットワーク接続を介してSSLを有効にすることを検討することは特に賢明です(postgresqlのドキュメントを参照)。SSLによるTCPの使用)。これiptablesこの場合、ルールは変更されません:同じポート(5432)、同じプロトコル(tcp)。
答え2
デフォルトでは、PostgreSQLtはTCPポート5432でリッスンします。着信クライアント要求を許可するには、次のiptablesルールを使用します(ポート5432を開く)。
-A INPUT -p tcp --dport 5432 -s xxx.xxx.xxx.xxx -j ACCEPT
ここで、xxx.xxx.xxx.xxxは接続しているサーバーのIPなので、Postgresを外部の世界に開くことはありません。
答え3
-A INPUT -p tcp --dport 5432 -s xxx.xxx.xxx.xxx -j ACCEPT
このコマンドはpg_hbaを変更しますか?