このチュートリアルを使用したい: http://www.jsimmons.co.uk/2010/06/08/using-ipset-with-iptables-in-ubuntu-lts-1004-to-block- large-ip-ranges /
Ubuntu 12.04では、パッケージipset-sourceがリポジトリから削除されます。そのため、次のようにインストールしようとするとエラーが発生するだけです。
apt-get install module-assistant ipset
m-a a-i ipset
Ubuntuでそれを正確に行うにはどうすればよいですか?
私はあなたが何か間違ったことをしていると思います。その記事は約10.04LTSであるため、最新ではありません。今、あなたはただ発行することができます
Sudo apt-get install ipset
12.04にipsetを問題なくインストールしました。インストールログを見てください https://Gist.github.com/3720382
これが jsimmonsのこのチュートリアル Ubuntu12.04でどのように機能するかです:
Sudo apt-get install ipset
# enter the countrycode that you dont want to block here (for example de for Germay):
DONTBLOCK=de
# download the zonefiles into /tmp/zones/
cd /tmp
wget http://www.ipdeny.com/ipblocks/data/countries/all-zones.tar.gz
mkdir zones
cd zones
tar -xzvf ../all-zones.tar.gz
# remove the zone you want to keep:
rm /tmp/zones/$DONTBLOCK.zone
FOLDER=/etc/zoneipblock/
mkdir $FOLDER
BLOCKLIST=$FOLDER"non_$DONTBLOCK.zone_blocklist"
cat /tmp/zones/*.zone > $BLOCKLIST
#if you want to block only the biggest blocks, use the short list:
BLOCKLIST_SHORT="$BLOCKLIST"_short
cat $BLOCKLIST |grep /8>$BLOCKLIST_SHORT
cat $BLOCKLIST |grep /9>>$BLOCKLIST_SHORT
cat $BLOCKLIST |grep /10>>$BLOCKLIST_SHORT
cat $BLOCKLIST |grep /11>>$BLOCKLIST_SHORT
cat $BLOCKLIST |grep /12>>$BLOCKLIST_SHORT
IPS=$(cat $BLOCKLIST_SHORT)
exit
#TODO: create the list with the right command
#ipset create feckof ...
ipset --create feckoff bitmap:ip range [fromip-toip|ip/cidr]
for i in $IPS; do
ipset add feckof $i
done
iptables -A INPUT -m set –set feckoff src -j DROP
これでスクリプトはほぼ完成しました。feckofリストのcreateステートメントのみが欠落しています。
誰かがこれをコメントに追加できますか?
最悪のシナリオでは、ソースを Ipset からダウンロードし、手動でコンパイルします。
wget http://ipset.netfilter.org/ipset-6.13.tar.bz2
tar xvfj ipset-6.13.tar.bz2
cd ipset-6.13
./configure
make
make check
make install
詳細については、README
またはINSTALL
を確認するか、./configure --help
を実行していくつかのエキゾチックオプションを確認してください。