iptables に、特定のIPアドレスからのアクセスを拒否する設定を追加する手順を、簡単にまとめておきます。
iptables の設定ファイル/etc/sysyconfig/iptables を直接編集する方法ではなく、ここでは iptablesコマンドを使います。
特定のIPアドレスからのアクセスですので、TCPもUDPなどプロトコルを限定しないで、すべて拒否しますので、プロトコルは指定しません。
また、ユーザ定義のチェイン RH-Firewall-1-INPUT が、次のように設定されていることを前提とします。
[root ~]# vim /etc/sysconfig/iptables ~略~ *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -j RH-Firewall-1-INPUT ~略~
それでは、特定のIPアドレスからのアクセスを拒否する設定を追加してみます。
[root ~]# iptables -A RH-Firewall-1-INPUT -s 123.145.167.189 -j DROP
この時点で、iptables の動作に動的に反映されますので、実行には十分な注意を払う必要があります。コマンド内容を丁寧に確認してから、実行してください。
コマンドを実行後に、設定内容を確認します。
[root ~]# iptables -L ~略~ Chain RH-Firewall-1-INPUT (2 references) target prot opt source destination DROP all -- 123.145.167.189 anywhere ~略~
これで大丈夫だと判断できたら、この設定を恒久的なものにするために /etc/sysconfig/iptables に書き込みます。
[root ~]# service iptables save ファイアウォールのルールを /etc/sysconfig/iptables に保存中[ OK ]
こうすることで、iptables サービスを再起動しても、このコマンドの設定が反映されるようになります。
最後に iptables を再起動します。
[root ~]# service iptables restart ファイアウォールルールを適用中: [ OK ] チェインポリシーを ACCEPT に設定中nat mangle filter [ OK ] iptables モジュールを取り外し中 [ OK ] iptables ファイアウォールルールを適用中: [ OK ]
これで終了です。