Hatena::ブログ(Diary)

Hidde’s Tips このページをアンテナに追加 RSSフィード

2008-07-16

iptables で特定IPからのアクセスを拒否

iptables は、firewall の役目を果たします。設定を間違えると、自分すらログインできなくなってしまう可能性がありますので、作業は十分注意してください。

まずは、現在の設定状況を一覧で確認

[root@localhost ~]# iptables -L

Chain INPUT (policy ACCEPT)
target     prot opt source		 destination  

Chain FORWARD (policy ACCEPT)
target     prot opt source		 destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source		 destination

拒否したいIPを設定

[root@localhost ~]# iptables -I INPUT -s 123.123.123.123 -j DROP

[root@localhost ~]# iptables -L

Chain INPUT (policy ACCEPT)
target     prot opt source		 destination
DROP       all  --  123-123-123-123.xxxxxx.com  anywhere

Chain FORWARD (policy ACCEPT)
target     prot opt source		 destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source		 destination

ゾーンで拒否したい場合

▽69.0.*.*を全て拒否(69.0.0.0〜69.0.255.255)

[root@localhost ~]# iptables -I INPUT -s 69.1.0.0/16 -j DROP

もしくは iptables に下記を追加
 -A INPUT -s 69.0.0.0/255.255.0.0 -j DROP

▽69.0.0.*を全て拒否(69.0.0.0〜69.0.0.255)

[root@localhost ~]# iptables -I INPUT -s 69.0.0.0/24 -j DROP

もしくは iptables に下記を追加
 -A INPUT -s 69.0.0.0/255.255.255.0 -j DROP

▽69.0.0.0 〜 69.15.255.255 の場合

[root@localhost ~]# iptables -I INPUT -s 69.0.0.0/12 -j DROP

もしくは iptables に下記を追加
 -A INPUT -s 69.0.0.0/255.240.0.0 -j DROP

▽69.0.0.0 〜 69.7.255.255 の場合

[root@localhost ~]# iptables -I INPUT -s 69.0.0.0/13 -j DROP

もしくは iptables に下記を追加
 -A INPUT -s 69.0.0.0/255.248.0.0 -j DROP

▽69.0.0.0 〜 69.3.255.255 の場合

[root@localhost ~]# iptables -I INPUT -s 69.0.0.0/14 -j DROP

もしくは iptables に下記を追加
 -A INPUT -s 69.0.0.0/255.252.0.0 -j DROP

▽69.0.0.0 〜 69.1.255.255 の場合

[root@localhost ~]# iptables -I INPUT -s 69.0.0.0/15 -j DROP

もしくは iptables に下記を追加
 -A INPUT -s 69.0.0.0/255.254.0.0 -j DROP

設定を保存。/etc/sysconfig/iptables に保存されます。(直接 iptables を編集した場合は実行しないでください)

[root@localhost ~]# /etc/rc.d/init.d/iptables save

保存前なら iptables の再起動で設定前の状態に戻ります。

[root@localhost ~]# /etc/rc.d/init.d/iptables restart

ルールを削除したい場合は、iptables -L の一覧で表示された順番を下記コマンドで指定します。

[root@localhost ~]# iptables -D INPUT 1