加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 教程 > 正文

Centos6下iptables配置XtablesAddons及GeoIP屏蔽某个国家ip

发布时间:2022-06-19 17:35:26 所属栏目:教程 来源:互联网
导读:今天服务器上流量猛增,ip都来自于中国,而且是非正常访问的ip,导致php-fpm耗CPU 100%,网站打开非常慢,本来已经使用iptables限制连接数,但由于同一ip的连接数达不到,所以没办法进行限制,只能采用屏蔽某个地区ip的方法了,Xtables-Addons就是这样的模块,只需要编
  今天服务器上流量猛增,ip都来自于中国,而且是非正常访问的ip,导致php-fpm耗CPU 100%,网站打开非常慢,本来已经使用iptables限制连接数,但由于同一ip的连接数达不到,所以没办法进行限制,只能采用屏蔽某个地区ip的方法了,Xtables-Addons就是这样的模块,只需要编译此模块,而不必编译系统内核,就可以和iptables一起工作,达到过滤某个地区的ip.
 
  第一步:检查系统iptables版本,Xtables-Addons要与iptables版本一致,例如iptables是1.4.7,就需要对应在的Xtables-Addons 1.47.
 
  # uname -r
  2.6.32-358.18.1.el6.x86_64
  # iptables -V
  iptables v1.4.7
  那么就要下载Xtables-Addons 1.47了,另外需要关闭selinux,编辑/etc/selinux/config,修改为disabled,并使其生效:echo 0 > /selinux/enforce.
 
  第二步:安装perl-Text-CSV_XS依赖包
 
  # yum install gcc gcc-c++ make automake unzip zip xz kernel-devel-`uname -r` iptables-devel
  # rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
  # yum -y install perl-Text-CSV_XS
 
      第三步:下载和安装GeoIP模块,你可以到http://geolite.maxmind.com/download/geoip/database/下载CSV版本,也可以使用xtables-addons目录下geoip目录下的脚本xt_geoip_dl来下载:
 
  # cd geoip/
 
  # ./xt_geoip_dl
 
  将会下载GeoIPv6.csv.gz和GeoIPCountryCSV.zip,并解压缩,得到ip库文件GeoIPv6.csv和GeoIPCountryWhois.csv,接下来就是使用xt_geoip_build编译数据库:
 
  # mkdir -p /usr/share/xt_geoip/  #创建数据库文件默认存放位置
 
  # ./xt_geoip_build -D /usr/share/xt_geoip *.csv    #编译数据库文件
 
  完成后,将会生成两个目录BE和LE,目录下保存的文件分别有.iv6和.iv4.
Centos6下iptables配置XtablesAddons及GeoIP屏蔽某个国家ip
     第四步:下载和编译xtables-addons模块
 
  # wget http://sourceforge.net/projects/xtables-addons/files/Xtables-addons/1.47/xtables-addons-1.47.tar.xz/download
  # tar xf xtables-addons-1.47.tar.xz
  # cd xtables-addons-1.47
  # ./configure
  # make
  # make install
  假如在./configure时遇到错误,configure: error: Package requirements (xtables >= 1.4.5) were not met:No package 'xtables' found:
 
  checking for a BSD-compatible install... /usr/bin/install -c
  checking whether build environment is sane... yes
  checking for a thread-safe mkdir -p... /bin/mkdir -p
  checking for gawk... gawk
  checking whether make sets $(MAKE)... yes

  请安装iptables开发包iptables-devel:# yum -y install iptables-devel
 
  第五步:添加过滤规则,屏蔽中国地区ip:
 
  # iptables -I INPUT -m geoip --src-cc CN -j DROP   #注意,这将屏蔽所有端口访问
 
  # iptables -I INPUT -p tcp -m tcp --dport 80 -m geoip --src-cc CN -j DROP  
 
  #只屏蔽80端口访问
 
  此时,中国地区已经无法访问网站了,可以保存了:service iptables save。
 
 

(编辑:衡阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读