美文网首页
使用IPtables+IPset屏蔽禁止国外IP访问-与脚本小子

使用IPtables+IPset屏蔽禁止国外IP访问-与脚本小子

作者: Raymond_Zhou | 来源:发表于2019-07-14 18:12 被阅读0次

作者博客上的地址:点击此处

前言

近期笔者在东南沿海某数据中心托管的服务器上经常出现ssh爆破登陆警告,Nginx日志中也出现不少脚本小子的试探痕迹。虽然不对安全构成太大的威胁,但看起来实在难受。与托管方联系,对方称今年6月后不再提供路由保护 ::aru:unhappy::

无奈只能自己动手,丰衣足食。

屏蔽思想

从APNIC处获取全球IPv4数据,使用IPtables添加CN部分IP到ACCEPT规则中,其余DROP。因为逐条添加和加载文件会造成IPtables规则数过多,影响大并发性能,故转为使用IPset构建IP集合。

具体操作(以CentOS6为例)

安装IPset

直接使用yum install ipset安装即可

使用IPSet创建IP集合

ipset create mainland hash:net maxelem 65536
其中mainland是自己定义的IP集合名称,可修改成你自己的名称

编写脚本自动执行更新APNIC数据到IP集合

脚本内容如下

#!/usr/bin/env bash
wget --no-check-certificate -O- 'http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest' | awk -F\| '/CN\|ipv4/ { printf("%s/%d\n", $4, 32-log($5)/log(2)) }' > /home/mainland.txt
ipset flush mainland
while read ip; do
    ipset add mainland $ip
done < /home/mainland.txt
ipset save chnroute > /home/mainland.conf

假设脚本保存在/home/mainland.sh
给可执行权限chmod +x /home/mainland.sh

设置Crontab定时每天零点更新一次IP集合

crontab -e
添加一行
0 0 * * * /home/mainland.sh

配置IPtables限制访问

假设需要放通8888端口的TCP和UDP大陆访问

iptables -A INPUT -m set --match-set mainland src -p tcp --dport 8888 -j ACCEPT
iptables -A INPUT -m set --match-set mainland src -p udp --dport 8888 -j ACCEPT
iptables -A INPUT -p tcp --dport 8888 -j DROP
iptables -A INPUT -p udp --dport 8888 -j DROP

相关文章

  • 使用IPtables+IPset屏蔽禁止国外IP访问-与脚本小子

    作者博客上的地址:点击此处 前言 近期笔者在东南沿海某数据中心托管的服务器上经常出现ssh爆破登陆警告,Nginx...

  • 彻底禁止某IP访问Linux

    彻底禁止某IP访问: #屏蔽单个IP的命令是 iptables-IINPUT-s123.45.6.7-jDROP ...

  • nginx限制地址访问ip限制

    屏蔽单个ip访问 允许单个ip访问 屏蔽所有ip访问 允许所有ip访问 屏蔽ip段访问 允许ip段访问 配置说明新...

  • nginx禁止国外ip访问

    在conf.d中加入如下配置文件并重启 allowip.conf 注意: 1.启动的时候有warn,可以忽略 2....

  • wordpress 禁止国外ip访问

    一般做国内站,国外ip都是来攻击或撞库的,没有国外用户的需求,就可以在进入网站时进行ip检查,如果是国外ip就禁止...

  • 配置nginx禁止国外IP访问

    1、拉取geoip2模块编译到nginx 。 查看nginx编译参数,添加geoip2模块重新编译。 备份旧的ng...

  • nginx禁止使用IP访问

    一台服务器部署多个网站的时候,为了确保用户访问特定的网站,就要求用户使用域名访问,不能使用IP;另外,也可以防止一...

  • nginx配置

    server下设置通过域名访问,禁止ip访问 参考

  • nginx 限制ip访问规则

    nginx 限制ip访问规则 禁止/允许 单个IPdeny/allow IP 禁止/允许 所有IPdeny/all...

  • 计算机网络知识汇总(4)

    1.在防火墙上设置了端口禁止访问之后,在本机上通过ip访问时访问不了的(通过ip就要过防火墙),但是使用环回地址(...

网友评论

      本文标题:使用IPtables+IPset屏蔽禁止国外IP访问-与脚本小子

      本文链接:https://www.haomeiwen.com/subject/hcjikctx.html