iptables戻りコード4?

iptables戻りコード4?

サーバーと複数のVPSがあるため、iptablesを使用してポートをリダイレクトし、スクリプトを介してそれらを自動化します。

サーバーの再起動後にルールを挿入するには約500個のiptablesコマンドが必要ですが、時にはいくつかのコマンドしか実行されず、残りは失敗し、iptablesコマンドは終了値4を返します。これが何を意味するのかはどこにも見つかりませんでした。

for-eachループに500のルールを挿入するので、デフォルトでは同時に多くのルールを挿入します。これが問題になる可能性がありますか?

ベストアンサー1

~からソースナビゲーション我々はinclude/xtables.h発見する

enum xtables_exittype {
        OTHER_PROBLEM = 1,
        PARAMETER_PROBLEM,
        VERSION_PROBLEM,
        RESOURCE_PROBLEM,   // number 4 because that's how enum count

フォローしているコードブランチについていくつかの大まかな仮定をすると(印刷エラーはありませんかiptables?)、ロックの問題のように見えることを検討iptables/iptables.cできます。exit(RESOURCE_PROBLEM)これはiptablesコマンドの緊密なループの説明に適しています(stderrにはいくつかのエラーがあるはずですが、印刷結果はどうですか?)。iptables-restoreアトミック手段を使用して、必要な変更を一度に挿入したり、ループ速度を遅くしたり、このコードを確認したりできます。間違ったパスがトリガーされます)。

おすすめ記事