Dans de nombreux cas, vous devrez peut-être bloquer les adresses IP sous Linux. Par exemple, en tant qu'utilisateur final, vous souhaiterez peut-être être protégé contre les logiciels espions ou le suivi IP. Si vous êtes un administrateur système, vous souhaiterez peut-être interdire aux adresses IP de spam d'accéder au serveur de messagerie de votre entreprise. Ou vous souhaitez interdire à certains pays d'accéder à votre service Web pour une raison quelconque. Cependant, dans de nombreux cas, votre liste de blocage d’adresses IP peut rapidement atteindre des dizaines de milliers d’adresses IP. Comment gérer cela ?
Solution : ipset + iblocklist2ipset
Site officiel : http://ipset.netfilter.org/install.html
La méthode la plus simple est l'installation de yum, mais la version de cette méthode est relativement basse et manque de certains paramètres de module utilisés, etc., elle n'est donc pas recommandée
yum install ipset -y
yum install libmnl libmnl-devel kernel-devel libtool-devel -y
(Remarque : si vous installez uniquement libmnl, l'erreur suivante apparaîtra :
checking for libmnl... configure: error: Package requirements (libmnl >= 1) were not met: No package 'libmnl' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables libmnl_CFLAGS and libmnl_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. )
ln -sb /usr/src/kernels/2.6.32-573.3.1.el6.x86_64 /lib/modules/2.6.32-431.el6.x86_64/build
wget -P /usr/local/src http://ipset.netfilter.org/ipset-6.26.tar.bz2 cd /usr/local/src && tar xjf ipset-6.26.tar.bz2 && cd ipset-6.26 ./autogen.sh ./configure make make modules make install make modules_install
wget -P /usr/local/src http://ipset.netfilter.org/ipset-4.5.tar.bz2 cd /usr/local/src && tar xf ipset-4.5.tar.bz2 && cd ipset-4.5 make KERNEL_DIR=http://img.xue163.com/lib/modules/$(shell uname -r)/build #$(shell uname -r)使用shell命令获取 make KERNEL_DIR=http://img.xue163.com/lib/modules/$(shell uname -r)/build install
ipset list 查看ip集列表信息 ipset create pythontab hash:ip maxelem 1000000 创建一个IP集pythontab,指定类型为hash:ip,设置ip集最多存储IP数为1000000 ipset add pythontab X.X.X.X 增加一个ip地址到IP集pythontab中去 ipset add pythontab X.X.X.X/24 增加一个网段到IP集pythontab中去 ipset dell pythontab X.X.X.X 删除IP集中指定的IP地址 ipset list 查看当前所有list ipset save pythontab -f pythontab.txt 将IP集pythontab中的信息保存到当前文件目录下面的文件pythontab.txt中 ipset destroy pythontab 删除指定的IP集pythontab ipset restore -f pythontab.txt 将保存的pythontab.txt文件中的IP集信息重新导入到ipset中 其他命令参考 ipset --help iptable命令参考: iptables -I INPUT -m set --match-set pythontab src -p tcp --destination-port 80 -j DROP #拒绝ipset IP集pythontab中的地址访问服务器的80端口 service iptables save service iptables restart
Dans certaines distributions telles que Fedora, vous devrez peut-être exécuter :
$ pip install iblocklist2ipset
Allez maintenant sur iblocklist.com et récupérez l'URL de n'importe quelle liste P2P (comme le " liste niveau1").
$ python-pip install iblocklist2ipset
Après avoir exécuté la commande ci-dessus, vous obtiendrez un fichier nommé pythontab.txt. Si vous affichez son contenu, vous verrez quelque chose comme ceci :
$ iblocklist2ipset generate --ipset pythontab "http://www.pythontab.com/ipset/pythontab.txt" > pythontab.txt
Vous pouvez charger ce fichier avec la commande ipset suivante :
create pythontab hash:net family inet hashsize 131072 maxelem 237302 add pythontab 1.2.4.0/24 add pythontab 1.2.8.0/24 add pythontab 1.9.75.8/32 add pythontab 1.9.96.105/32 add pythontab 1.9.102.251/32 add pythontab 1.9.189.65/32
Vous pouvez maintenant afficher les IP créées automatiquement Set :
$ ipset restore -f pythontab.txt
Cela vous évite les problèmes de gestion manuelle.
$ ipset list pythontab
Notez que la version installée avec yum sous centos n'est pas la dernière version. Elle peut ne pas prendre en charge le paramètre -f et importer le fichier de liste noire, il est donc recommandé d'utiliser le package de code source pour l'installer. la dernière version
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!