Ubuntu怎么使用iptables控制来自某个国家的访问
短信预约 -IT技能 免费直播动态提醒
这篇“Ubuntu怎么使用iptables控制来自某个国家的访问”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Ubuntu怎么使用iptables控制来自某个国家的访问”文章吧。
第一步:安装xtables-addons
我们可以使用以下方式安装xtables-addons。
使用apt-get安装
sudo apt-get install xtables-addons-common
使用module-assistant安装
sudo apt-get install module-assistant xtables-addons-sourcesudo module-assistant --verbose --text-mode auto-install xtables-addons
源码安装
sudo apt-get install git bc libncurses5-dev libtext-csv-xs-perl autoconf automake libtool xutils-dev iptables-devgit clone git://git.code.sf.net/p/xtables-addons/xtables-addonscd xtables-addons./autogen.sh./configuremakesudo make install
第二步:创建国家数据库
sudo apt-get install libtext-csv-xs-perl unzipsudo mkdir /usr/share/xt_geoipsudo /usr/lib/xtables-addons/xt_geoip_dlsudo /usr/lib/xtables-addons/xt_geoip_build -D /usr/share/xt_geoip *.csvsudo rm GeoIPCountryCSV.zip GeoIPCountryWhois.csv GeoIPv6.csv
重启系统
reboot
检测模块的依赖性(只需要执行一次即可):
sudo depmod
第三步:创建iptables规则
阻止来自俄罗斯和韩国的流入请求:
sudo iptables -A INPUT -m geoip --class="lazy" data-src-cc RU,KR -j DROPsudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
在ens3接口允许来自秘鲁的对22端口的流入请求:
sudo iptables -A INPUT -i ens3 -p tcp -m tcp --dport 22 -m geoip --class="lazy" data-src-cc PE -j ACCEPT
只允许来自中国的对443端口的流入请求:
sudo iptables -A INPUT -p tcp -m tcp --dport 443 -m geoip --class="lazy" data-src-cc CN -j ACCEPT
第四步:定时更新数据库
创建定时更新脚本:
vi /etc/cron.monthly/geoip-updater
脚本内容如下:
#!/usr/bin/env bash# this script is intended to run with sudo privilegesecho 'Removing old database---------------------------------------------------'rm -rf /usr/share/xt_geoip/*mkdir -p /usr/share/xt_geoipecho 'Downloading country databases-------------------------------------------'mkdir /tmp/geoip-updatercd /tmp/geoip-updater/usr/lib/xtables-addons/xt_geoip_dlecho 'Building geoip database-------------------------------------------------'/usr/lib/xtables-addons/xt_geoip_build -D /usr/share/xt_geoip *.csvecho 'Removing temporary files------------------------------------------------'cd /tmprm -rf /tmp/geoip-updater
设置该脚本可被执行:
sudo chmod +x /etc/cron.monthly/geoip-updater
以上就是关于“Ubuntu怎么使用iptables控制来自某个国家的访问”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341