Ceph Monitor iptablesルール奇妙な動作

Ceph Monitor iptablesルール奇妙な動作

iptablesCephクラスタを設定しようとしています。現在、監視サーバーの1つのルールを開発しています。

モニターデーモンのリスニングtcp/6789(公開アドレスなのでIPアドレスが削除されます):

# netstat -tunlp | grep ceph-mon
tcp        0      0 X.X.X.X:6789       0.0.0.0:*               LISTEN      2612/ceph-mon

tcp ポート 6789 への接続を許可し、他のすべてを削除すると、クラスターの残りの部分によってモニターがダウンしているとマークされます。

iptables -F INPUT
iptables -A INPUT -p tcp --dport 6789 -j ACCEPT
iptables -A INPUT -j DROP

混乱しても、TCP ポート 6789 へのすべての接続を削除しても、クラスターは引き続き実行されます。

iptables -F INPUT
iptbales -A INPUT -p tcp --dport 6789 -j DROP

私が許すなら源泉tcpポート6789を削除し、クラスタが実行されている他のすべてのエントリを削除します。

iptables -F INPUT
iptables -A INPUT -p tcp --sport 6789 -j ACCEPT
iptables -A INPUT -j DROP

デーモンがポート6789でリッスンしているため、tcpセグメントの宛先ポートは6789である必要があるため、これは私には理解できません。

送信元ポート 6789 で動作している場合は、tcpdump宛先ポート 56052 および送信元ポート 6789 に着信パケットを表示できます。モニター・サーバーのポート56052でリッスンしている項目がないため、これは私にとってははるかに理解できません。

ここで何か抜けましたか?私はSLES12とceph 12.2.7を使用していますが、FORWARDおよびOUTPUTチェーンにはルールがなく、すべてのチェーンのポリシーはACCEPTです。

答え1

接続トレースを有効にしていないため、モニターが他のモニターと通信しようとしたときにファイアウォールを介して応答を返すことはできません。問題を解決するために、次のルールを追加しました。

iptables -I INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

ありがとうABステートフルファイアウォールの推奨事項を確認してください。

関連情報