Назад | Перейти на главную страницу

Как использовать upset и iptables в Ubuntu 12.04 для блокировки большого количества IP-адресов

Я хотел бы использовать этот учебник: 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 точно?

Вот как этот учебник на jsimmons работает на Ubuntu 12.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

Это сценарий, почти закончен, отсутствует только оператор create для списка feckof.

может кто-нибудь добавить это в комментарий, пожалуйста?

Я думаю, вы что-то не так делаете. Эта статья устарела, потому что она посвящена 10.04 LTS. Теперь вы можете просто оформить

sudo apt-get install ipset

Я только что без проблем установил ipset на свой 12.04. Взгляните на мой журнал установки https://gist.github.com/3720382

В худшем случае просто скачайте исходный код из Ипсет и скомпилируйте его вручную.

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 для каких-то экзотических вариантов.