前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CentOS 7上基于国别阻断网络流量

CentOS 7上基于国别阻断网络流量

作者头像
用户1456517
发布2019-03-05 16:01:43
2.2K0
发布2019-03-05 16:01:43
举报
文章被收录于专栏:芝麻实验室
xtables-addons是什么

xtables-addons是一款基于国家GeoIP信息来识别网络流量,用于netfilter/iptables的过滤器扩展。其采用了模块化设计理念,并通过内部的xt_geoip模块实现信息过滤。 在你的Linux系统上,可以很方便的自行编译或通过RPM包安装的方式来构建xtables-addons,而无需重新编译内核或是iptables,构建完成后即可立即使用而无需重启服务或系统。

为什么要安装xtables-addons

  • 基于模块化设计;
  • 适用于针对特定国家或地区作批量化访问控制;
  • 应用无关性;
    • xtables-addons基于iptables和GeoIP作过滤,而这两者都是与应用无关的(相反,TCP Wrappers过滤则要求应用的构建方式须符合其设计理念)。

如何安装和使用

  • 安装lux仓库(该仓库包含xtables-addons所需的依赖环境) # wget http://repo.iotti.biz/CentOS/7/noarch/lux-release-7-1.noarch.rpm # rpm -ivh lux-release-7-1.noarch.rpm
  • 安装xtables-addons。注意:必须先安装kmod-xtables-addons,再安装xtables-addons,因为后者依赖于前者。 # yum -y install kmod-xtables-addons # yum -y install xtables-addons
  • 安装GeoIP数据库。目前,主要由2种获取GeoIP数据库的方式:
代码语言:javascript
复制
- 利用xtables-addons源码包中的下载脚本
    - 获取xtables-addons源码包

代码语言:javascript
复制
# wget -O /usr/src/xtables-addons-2.14.tar.xz https://sourceforge.net/projects/xtables-addons/files/latest/download?source=files

代码语言:javascript
复制
    - 获取GeoIP数据库

代码语言:javascript
复制
# cd /usr/src/
# yum -y install xz unzip tree #如果是最小化安装的CentOS,需手动安装xz和unzip,通过脚本下载的数据库为zip格式,需借助unzip解压缩
# tar Jxf xtables-addons-2.14.tar.xz
# cd xtables-addons-2.14/geoip/
# tree
.
├── Makefile.am
├── Makefile.in
├── xt_geoip_build
├── xt_geoip_build.1
├── xt_geoip_dl
└── xt_geoip_dl.1

0 directories, 6 files
# ./xt_geoip_dl #下载GeoIP数据库
# tree
.
├── GeoIPCountryCSV.zip
├── GeoIPCountryWhois.csv
├── GeoIPv6.csv
├── Makefile.am
├── Makefile.in
├── xt_geoip_build
├── xt_geoip_build.1
├── xt_geoip_dl
└── xt_geoip_dl.1

0 directories, 9 files

代码语言:javascript
复制
    - 将数据库转换成xtables-addons所能识别的格式

代码语言:javascript
复制
# yum -y install perl-Text-CSV_XS #安装CSV格式转换器
# mkdir -pv /usr/share/xt_geoip #创建数据库文件默认存储目录。使用RPM方式安装xtables-addons。必须将GeoIP数据存储在该路径下
# ./xt_geoip_build -D /usr/share/xt_geoip *.csv #进行格式转换
# tree /usr/share/xt_geoip/ -L 1 #生成两个目录BE和LE,目录下保存的文件分别有.iv6和.iv4
/usr/share/xt_geoip/
├── BE
└── LE

2 directories, 0 files

  • 定义过滤规则,阻断特定来源/流向的网络流量。附:国家简码
    • 使用iptables # iptables -I INPUT -m geoip --src-cc JP,CU -j DROP #阻断来自日本和古巴的网络流量 # iptables -I OUTPUT -m geoip --dst-cc CA -j DROP #阻断流向加拿大的流量
    • 使用firewall-cmd。使用firewalld的直接选项可以使服务和应用程序能够增加规则 firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -m geoip --src-cc JP,CU -j DROP firewall-cmd --direct --add-rule ipv4 filter OUTPUT 0 -m geoip --dst-cc CA -j DROP

写在最后

  • 虽然通过xtables-addons可以对特定国家/地区的流量作限制,但通过V**等工具仍可绕过;同时,使用GeoIP数据库意味着你需要经常去更新数据库,并可能存在一定数量的信息准确度问题(至少免费版是这样的),因此我的建议是,在使用xtables-addons前在团队内部确定可行性和必要性。
  • 希望这篇文章对你有帮助 :)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018/03/05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • xtables-addons是什么
  • 为什么要安装xtables-addons
  • 如何安装和使用
  • 写在最后
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档