web-dev-qa-db-ja.com

UbuntuでIPアドレスをブロックするにはどうすればよいですか?

Ubuntuマシンをルーターとして構成しました。 [〜#〜] nat [〜#〜]構成の手順を以下に示します。

        #iptables -F
        #iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
        #iptables-save > /etc/network/iptables

次に、このファイルの場所をrc.localに保持しました

#vi /etc/rc.local

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.  
#  
/sbin/iptables-restore < /etc/network/iptables 
# In order to enable or disable this script just change the execution  
# bits.  
#  
# By default this script does nothing.
exit 0

#reboot

それは動作します、今私はIPアドレスをブロックしたいと思います。これを行うために、次のコマンドを実行しました。

#iptables -A INPUT -s   69.171.229.11 -j DROP    
#iptables-save >  /etc/network/iptables    
#reboot

しかし、それは機能しません。

vi /etc/network/iptablesこれで次のようになります:

 # Generated by iptables-save v1.4.4 on Tue Feb 14 11:21:16 2012
*nat
:PREROUTING ACCEPT [870:97719]
:POSTROUTING ACCEPT [283:23151]
:OUTPUT ACCEPT [461:28753]
-A POSTROUTING -o eth0 -j MASQUERADE   COMMIT
 # Completed on Tue Feb 14 11:21:16 2012
 # Generated by iptables-save v1.4.4 on Tue Feb 14 11:21:16 2012
*filter
:INPUT ACCEPT [4914:3254723]
:FORWARD ACCEPT [2382:1222521]
:OUTPUT ACCEPT [4010:410041]
-A INPUT -s 98.137.149.56/32 -j DROP 
COMMIT
 # Completed on Tue Feb 14 11:21:16 2012

IPアドレスをブロックするために何が欠けていますか?

2
Jerry

IPがMASQUERADEルールを使用するのをブロックする場合は、そのルールをFORWARDチェーンではなくINPUTチェーンに配置する必要があります。

iptables -I FORWARD -s 69.171.229.11 -j DROP
5
Patrick

iptables-saveはnotでiptablesルールを永続化するため、再起動後に失われます。代わりに、現在のiptables構成をSTDOUTに出力します( iptables-saveのマンページ を参照)。したがって、再起動後、iptablesは空になります。

再起動後に、そのファイルからルールを復元することをお勧めします。これを行うには、

iptables-restore < /etc/network/iptables

これについては iptables-restoreのマンページ を参照してください。


パトリックが述べたように、ルール

iptables -A INPUT -s 69.171.229.11 -j DROP

パケットがルーター自体に送信されるのを防ぐだけです。正しくアドレス指定されていれば、パケットは転送されます。これを防ぐには、ルールを追加します

iptables -A FORWARD -s 69.171.229.11 -j DROP

FORWARDはルーターが転送したいパケットに適用され、INPUTはルーター自体にアドレス指定されたパケットに適用されます。

0
G. Bach

順序が正しくないと思います。

あなたがappendでしていることは、それをチェーンの一番下に置くことです。 IPtablesは最初の一致後に停止します。したがって、ブロックルールにヒットする直前にルールが一致する可能性があります。ブロッキングルールが一番上にあることを確認してください。 -Iオプションを使用して、チェーンの特定の場所に挿入できます。

0
Lucas Kauffman