天天看点

用Xtables-Addons不编译安装Iptables模块Geoip

通常增加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