MySQL マスター間レプリケーションではどのポートを開く必要がありますか?

MySQL マスター間レプリケーションではどのポートを開く必要がありますか?

私は php5-fpm を実行する 2 台のサーバーと nginx を実行する 1 台のロード バランサーを持っています。3 台のサーバーは nfs を使用して /var/www/drupal を共有しています。nfs は正常に動作しています。2 台のサーバーのデータベースを、mysql マスター マスター レプリケーションを使用してレプリケートしました。iptables ルールを追加するまではすべて正常に動作していました。iptables スクリプトでは、最初にすべてのチェーンをドロップしてから、必要なチェーンを受け入れます。それ以外にドロップ ステートメントはありません。次のように、mysql レプリケーション用にポート 3306 を開きました (ルールは両方のサーバーにあります)

iptables -A INPUT  -p tcp -s $ip_Of_Other_Server  --dport  3306 -j ACCEPT
iptables -A OUTPUT -p tcp -d $ip_Of_Other_Server  --sport  3306 -j ACCEPT

問題は、両方のサーバーを実行していて、drupal の自分のアカウントを使用してログインしようとすると、drupal ログにログイン試行の成功が記録されているにもかかわらず、ログインできないことです。サーバーを 1 つだけ実行すると、正常にログインできます。iptables ルールですべてを許可すると、正常に動作します。レプリケーションが正しく機能するには、iptables を使用して開く必要があるポートがいくつかあると思いますが、どのポートを開くべきかわかりません。

答え1

送信接続を開くだけで済みました:

iptables -A OUTPUT  -p tcp -d $ip_Of_Other_Server  --dport  3306 -j ACCEPT
iptables -A INPUT   -p tcp -s $ip_Of_Other_Server  --sport  3306 -j ACCEPT

関連情報