web-dev-qa-db-ja.com

iptablesを使用してAPPENDではなくルールをPREPENDする方法

かなり基本的な質問:APPENDではなくIPTABLESでルールをPREPENDする方法?

ルールの最後にDROPステートメントがあります。新しいルールを追加するソフトウェアがありますが、DROPステートメントの後にルールを追加するのはよくありません。新しいルールを追加するたびに、テーブルをフラッシュする必要があります(これは非効率的です)。

ルールを追加する方法はありますか?つまり、ルールをテーブルの下部ではなく上部に追加しますか?

どうもありがとう。

65
ale

使用 -Iスイッチ:

Sudo iptables -I INPUT 1 -i lo -j ACCEPT

これにより、INPUTチェーンの1番目の位置にルールが挿入されます。

84
Yanick Girouard

-Iが挿入されます。おそらく-Aを使用して追加しています。

iptables -I chain rulenumを実行して、チェーン "chain"に番号 "rulenum"としてルールを挿入することもできます。 -R chain rulenumを使用すると、チェーン "chain"の番号 "rulenum"にある特定のルールを置き換えることができます。 iptables -L -n --line-numbersは、左端の列にルール番号を表示します。

19
cjc

新しいルールを追加する行番号を決定するのに役立つように、iptables-saveを使用して既存のルールをコンソールに出力します。

初心者の場合は、ルールを管理するwebminを使用してチートカードを提案することもできます。とてもフレンドリーで、リスト内のルールを手動で簡単に並べ替えることができます。また、iptablesのredhatベースとdebianベースの実装における「わずかな」バリエーションも処理します。

2
AngryWombat

IptableのルールをOSサービスとして永続化するiptables-persistentというプログラムがあります。このサービスには、iptables-saveエクスポートとして構成ファイルが含まれています。

したがって、構成ファイルの行を並べ替えて、サービスを再起動できます。

Sudo service iptables-persistent restart

とても簡単!!!!!

2
shgnInc