通常增加Iptables模块需重新编译内核及Iptables,通过Xtables-Addons安装其支持的模块可免编译安装。

Xtables-Addons安装要求:

   iptables >= 1.4.3  
   kernel-source >= 2.6.29  

先禁用SELINUX,下载相关组件
   yum install gcc gcc-c++ make automake unzip zip xz kernel-devel-`uname -r` iptables-devel


rpm -ivh http://mirrors.ustc.edu.cn/fedora/epel/6/i386/epel-release-6-8.noarch.rpm 或者rpm -ivh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

   yum install perl-Text-CSV_XS

安装xtables-addons
   wget http://downloads.sourceforge.net/project/xtables-addons/Xtables-addons/1.41/xtables-addons-1.41.tar.xz  
   tar xvf xtables-addons-1.41.tar.xz  
   cd xtables-addons-1.41/
   ./configure
   make
   make install



下载Geoip数据库:

   cd geoip  
   ./xt_geoip_dl  
   ./xt_geoip_build GeoIPCountryWhois.csv  
   mkdir /usr/share/xt_geoip  
   \cp -r {BE,LE}  /usr/share/xt_geoip/  //前面的\是不用一直按y了

这样便安装好了,可以测试下 iptables -m geoip --help

   iptables -I INPUT -m geoip --src-cc JP -j DROP

禁止了日本的IP;

在./configure的时候有时会报错

make: *** /lib/modules/2.6.32-279.el6.x86_64/build: No such file or directory

解决办法是下载对应内核的kernel-devle-`uname -r`

如果有的版本低了的话,源里的可能已经没了,会报错

No package kernel-devle-2.6.32-279.el6.x86_64 available.
Error: Nothing to do

这个时候可以去网上下载对应的。这里提供两个地址:

32位:http://linuxsoft.cern.ch/cern/slc6X/i386/yum/updates/repoview/kernel-devel.html
64位:http://linuxsoft.cern.ch/cern/slc6X/x86_64/yum/updates/repoview/kernel-devel.html

安装好kernel-devle-`uname -r`再重新安装xtables-addons


还可以利用iprange模块操作连续的IP地址

如iptables -I INPUT -m iprange --src-range 64.233.160.0-64.233.191.255 -p tcp --dport 80 -j ACCEPT


遇到Can't locate Text/CSV_XS.pm

运行:/usr/bin/perl -MCPAN -e'install Text::CSV_XS'




Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again

在网上查了查,解决办法是编辑/etc/yum.repos.d/epel.repo,把基础的恢复,镜像的地址注释掉

#baseurl
mirrorlist

改成

baseurl
#mirrorlist