読者です 読者をやめる 読者になる 読者になる

標準出力

新しいもの、変わらないこと 自分の頭を通して考えてみました (stdout)

基本

原則 /etc/sysconfig/iptables は直で編集せず iptables コマンドでルールを追加する


iptables commands  chain rule-specification target


[commands]

-A chain  chain にルールを追加する (Append)
-D chain rule-num chain rule-num 番のルールを削除する (Delete)
-L chain [--line-numbers] chain のルールを表示する (List) --line-numbersをつけるとルール番号も表示する

-I chain rule-num chain rule-num にルールを挿入する (Insert)



[chain]
INPUT OUTPUT FORWARDING PREROUTING POSTROUTING


[rule-specification]

-s  expression expressionの部分にホストのIPアドレスやネットワークアドレス(ex. 192.168.0.0/24)を記述して送信元(Source)を指定する。

-d expression -sと同様でこちらは、送信先(Destination)を指定する。

-i interface パケットが入ってくる(Input)インターフェースを指定する。

-o interface パケットが出て行く(Output)インターフェースを指定する。

-p protocol  protocol にはudp tcp icmp all 等が指定できる

-j target target を参照



--dport port(s) 送信先のポートやポート番号を指定する。(Destination Port)
--sport port(s) 送信元のポートやポート番号を指定する。(Source Port)

-TCP拡張-
-p tcpが指定された場合の拡張

--tcp-flags mask comp maskに評価されるフラグ、compに指定されたフラグが立っているパケットにマッチする。 --tcp-flags SYN,ACK,FIN,RST SYN ならばSYNフラグが立っていて、ACK,FIN,RSTフラグが立っていないパケットにマッチする。

--syn SYNフラグのみが立っている(ACK,RST,FINフラグが立っていない)パケットにマッチ。このオプションは、外からのTCP接続要求を拒否したい場合に使える。

-ICMP拡張-
-p icmp が指定された場合に

--icmp-type type

として対象とするICMPパケットを指定できる。typeにはecho-request等を指定する。
詳細は、iptables -p icmp -h として確認。


[target]

ACCEPT パケットを受け入れる
DROP    パケットを破棄する
REJECT パケット受け入れを拒否する(この場合は、DROPと違いICMPエラーを送信元ホストに返す。よって送信元アプリケーションは、タイムアウトにならずエラーとなる。)





[ルールの保存]
コマンドを実行しただけだと再起動後に設定が消えてしまう。保存したい場合は、

/etc/init.d/iptables save

[設定変更の反映]
/etc/init.d/iptables restart

[ブロックしたパケットの情報]
iptables -L --verbose

[ルールの一覧]
iptables -L --line-numbers

[ルールの削除]
iptables -D INPUT,OUTPUT,FORWARD rule-number


[オプション一覧]

-i 着信インターフェースを指定する
-o 送信インターフェースを指定する


参照元http://www.turbolinux.co.jp/products/server/11s/user_guide/iptablescmd.html