在 Ubuntu 12.04 中,软件包 ipset-source 已从存储库中删除,我猜这就是为什么我尝试像这样安装它时才会收到错误:
apt-get install module-assistant ipset
m-a a-i ipset
我该如何在 Ubuntu 中精确地做到这一点?
答案1
我认为你做错了。那篇文章不是最新的,因为它是关于 10.04 LTS 的。现在你可以直接发出
sudo apt-get install ipset
我刚刚在 12.04 上安装了 ipset,没有任何问题。查看我的安装日志https://gist.github.com/3720382
答案2
这就是本教程来自 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
这就是脚本,几乎完成了,只缺少 feckof 列表的创建语句。
有人可以在评论中添加此内容吗?
答案3
最坏的情况是,只需从以下位置下载源代码伊普塞特并手动编译它。
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
一些奇特的选项。