[不再维护] 屏蔽任意一个国家所有IP的一键脚本
当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »
看到那个 lowendtalk 上的帖子,觉得挺好玩的就写成了一个脚本,说不定以后还能派上用场(大概并不会派上用场
Head Pic: 「ルーミア」/「みなみな」[pixiv]
Block IPs from countries
[button color="dark" icon="fa fa-github"]Tsuk1ko/Block-IPs-from-countries[/button]
是看到了 lowendtalk 上的这个帖子
https://www.lowendtalk.com/discussion/141800/blocking-attack-ips-ddos-ips-from-china
还行,那就做一个一键脚本玩玩
顺便把最近份的文章水了好腾出时间专心写实验
更新日志
2018-04-11
- 把 IP 数据源换成了 APNIC 的
- 国家代码不用再区分大小写
准备
安装 ipset
# Debian / Ubuntu
apt-get install -y ipset
# CentOS系统
yum install -y ipset
下载脚本
wget https://raw.githubusercontent.com/Tsuk1ko/Block-IPs-from-countries/master/block-ips.sh
使用
屏蔽某国IP
比如要屏蔽中国IP
- 添加中国IP到 ipset
添加的时候会自动下载一个IP段集delegated-apnic-latest.txt
,请不要删除它bash block-ips.sh -a cn
- 屏蔽中国IP
bash block-ips.sh -b cn
!> 如果真的要试的话就别屏蔽中国IP了啊,小心屏蔽完了 ssh 上不去(。
你可以尝试拿邻国友人jp
,kr
,sg
之类的开刀(x
i> 你可以到 http://doc.chacuo.net/iso-3166-1 或者 https://www.iso.org/obp/ui/ 查看可用的国家代码(二字母),使用的时候大小写无所谓
解除屏蔽
如果要解封中国IP
bash block-ips.sh -u cn
查看你已经屏蔽了哪些国家
bash block-ips.sh -l
更新IP列表
如果你需要更新IP列表,你需要先删除delegated-apnic-latest.txt
文件,然后再次使用-a
参数添加即可,脚本会自动先清空原 ipset 然后重新添加数据
rm delegated-apnic-latest.txt
bash block-ips.sh -a cn