パソコン鳥のブログ

アクセスカウンタ

zoom RSS iptables ルール追加・挿入・削除・置き換え

<<   作成日時 : 2017/01/18 23:40   >>

トラックバック 0 / コメント 0

Linux での iptables ルールの追加・挿入・削除・置き換えです。

ルール番号確認


ルールを一覧表示する際に、左端に番号も表示します。
番号はチェイン毎です。

iptables -L --line-numbers


ここで表示されたルール番号は、ルールの削除や挿入、置き換えの際に指定します。

この記事で説明した iptablesのサンプルでは、次のように表示されます。


# iptables -L --line-numbers
Chain INPUT (policy DROP)
num target prot opt source destination
1 ACCEPT all -- anywhere anywhere
2 DROP tcp -- anywhere anywhere tcp flags:!FIN,SYN,RST,ACK/SYN state NEW
3 REJECT tcp -- anywhere anywhere tcp flags:SYN,ACK/SYN,ACK state NEW reject-with tcp-reset
4 ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
5 ACCEPT icmp -- anywhere anywhere icmp destination-unreachable
6 ACCEPT icmp -- anywhere anywhere icmp source-quench
7 ACCEPT icmp -- anywhere anywhere icmp redirect
8 ACCEPT icmp -- anywhere anywhere icmp time-exceeded
9 ACCEPT icmp -- anywhere anywhere icmp parameter-problem
10 ACCEPT_FILTER icmp -- anywhere anywhere icmp echo-request
11 sshguard tcp -- anywhere anywhere
12 REJECT tcp -- anywhere anywhere tcp dpt:auth reject-with tcp-reset
13 ACCEPT_FILTER tcp -- anywhere anywhere tcp dpt:ssh state NEW

Chain FORWARD (policy DROP)
num target prot opt source destination

Chain OUTPUT (policy DROP)
num target prot opt source destination
1 ACCEPT all -- anywhere anywhere
2 ACCEPT all -- anywhere anywhere state NEW,ESTABLISHED

Chain ACCEPT_FILTER (2 references)
num target prot opt source destination
1 ACCEPT all -- anywhere anywhere

Chain sshguard (1 references)
num target prot opt source destination




ルール削除


下記書式で実行します。

iptables -D チェイン ルール番号


実行例です。

まず、ルール番号を確認します。
# iptables -L --line-numbers
Chain INPUT (policy DROP)
num target prot opt source destination
1 ACCEPT all -- anywhere anywhere
2 DROP tcp -- anywhere anywhere tcp flags:!FIN,SYN,RST,ACK/SYN state NEW
3 REJECT tcp -- anywhere anywhere tcp flags:SYN,ACK/SYN,ACK state NEW reject-with tcp-reset
:
:

ルール1番を削除します。
# iptables -D INPUT 1

ルールを一覧表示させます。
# iptables -L --line-numbers
Chain INPUT (policy DROP)
num target prot opt source destination
1 DROP tcp -- anywhere anywhere tcp flags:!FIN,SYN,RST,ACK/SYN state NEW
2 REJECT tcp -- anywhere anywhere tcp flags:SYN,ACK/SYN,ACK state NEW reject-with tcp-reset
:
:

1番のルールが削除され、2番以降が繰り上がっています。




ルール追加


末尾に追加する場合


下記書式で実行します。


iptables -A チェイン ルール


この末尾へ追加は、下記記事で多用していますね。

iptablesサンプル パソコン鳥のブログ/ウェブリブログ


先頭に追加する場合


下記書式で実行します。

iptables -I チェイン ルール
または
iptables -I チェイン 1 ルール


実行例です。

iptables -I INPUT -p tcp --dport 25 -m state --state NEW -j ACCEPT



挿入する場合


下記書式で実行します。

iptables -I チェイン ルール番号 ルール


ルール番号の個所に挿入され、以降のルールが繰り下がります。
実行例です。

まず、ルール番号を確認します。
# iptables -L --line-numbers
Chain INPUT (policy DROP)
num target prot opt source destination
1 ACCEPT all -- anywhere anywhere
2 DROP tcp -- anywhere anywhere tcp flags:!FIN,SYN,RST,ACK/SYN state NEW
3 REJECT tcp -- anywhere anywhere tcp flags:SYN,ACK/SYN,ACK state NEW reject-with tcp-reset
4 ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
5 ACCEPT icmp -- anywhere anywhere icmp destination-unreachable
:
:

ルール5番の個所に挿入します。
# iptables -I INPUT 5 -p tcp --dport 25 -m state --state NEW -j ACCEPT

ルールを一覧表示させます。
# iptables -L --line-numbers
Chain INPUT (policy DROP)
num target prot opt source destination
1 ACCEPT all -- anywhere anywhere
2 DROP tcp -- anywhere anywhere tcp flags:!FIN,SYN,RST,ACK/SYN state NEW
3 REJECT tcp -- anywhere anywhere tcp flags:SYN,ACK/SYN,ACK state NEW reject-with tcp-reset
4 ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
5 ACCEPT tcp -- anywhere anywhere tcp dpt:smtp state NEW
6 ACCEPT icmp -- anywhere anywhere icmp destination-unreachable
:
:

5番の個所にルールが挿入され、元5番以降が繰り下がっています。




ルール置き換え


下記書式で実行します。

iptables -R チェイン ルール番号 ルール


指定されたチェインのルール番号のルールを置き換えます。

実行例です。

まず、ルール番号を確認します。
# iptables -L --line-numbers
Chain INPUT (policy DROP)
num target prot opt source destination
1 ACCEPT all -- anywhere anywhere
2 DROP tcp -- anywhere anywhere tcp flags:!FIN,SYN,RST,ACK/SYN state NEW
3 REJECT tcp -- anywhere anywhere tcp flags:SYN,ACK/SYN,ACK state NEW reject-with tcp-reset
4 ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
5 ACCEPT tcp -- anywhere anywhere tcp dpt:smtp state NEW
6 ACCEPT icmp -- anywhere anywhere icmp destination-unreachable
:
:

ルール5番を置き換えます。
# iptables -R INPUT 5 -p tcp --dport 22 -m state --state NEW -j ACCEPT

ルールを一覧表示させます。
# iptables -L --line-numbers
Chain INPUT (policy DROP)
num target prot opt source destination
1 ACCEPT all -- anywhere anywhere
2 DROP tcp -- anywhere anywhere tcp flags:!FIN,SYN,RST,ACK/SYN state NEW
3 REJECT tcp -- anywhere anywhere tcp flags:SYN,ACK/SYN,ACK state NEW reject-with tcp-reset
4 ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
5 ACCEPT tcp -- anywhere anywhere tcp dpt:ssh state NEW
6 ACCEPT icmp -- anywhere anywhere icmp destination-unreachable
:
:

5番のルールが変更されました。





参考


Man page of IPTABLES
iptablesによるパケットフィルタリング
iptablesのルールをひとつ削除 | 俺のひとり言


テーマ

関連テーマ 一覧


月別リンク

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
iptables ルール追加・挿入・削除・置き換え パソコン鳥のブログ/BIGLOBEウェブリブログ
文字サイズ:       閉じる