通常增加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
转载于:https://blog.51cto.com/cclinux/1163383