rc.test-iptables.txt スクリプトを使うと、各種チェーンの実験ができる。ただし、使う人の設定によっては、ip_fowarding をオンにしたり、マスカレード (masquerading) を設定するなどといった、多少のチューニングが必要となる場合もある。しかし、基本的な設定がきちんとしてあって、基本チェーンがカーネルにロードされていれば、たいてい誰のところでも動くだろう。このスクリプトが実際にやっているのは、ping の要求と応答をログに書き出す LOG ターゲットをいくつか設定しているだけだ。それによって、どのチェーンがどういう順番で巡回されるかが見られる。例えば、このスクリプト実行してから、下記を発行する:
ping -c 1 host.on.the.internet
このコマンドを打つとともに、tail -n 0 -f /var/log/messages する。このようにすれば、各種のチェーンが使われる様子と、その順序が見られる。ただし、訳あってログエントリの順番は多少前後する。
このスクリプトはテスト専用だ。言い換えると、1種類のパケットについてこのように多重的に何もかもログするようなルールを書くのは間違いだ。ログに使用しているパーティションはあっという間に満杯になってしまうだろう。まるで、効果抜群の DoS (Denial of Service) 攻撃だ。パーティションを使い切れば、ログを残すことなく DoS アタックができるので、本物の攻撃を招くおそれもある。 |