[不再维护] 屏蔽任意一个国家所有IP的一键脚本

372 字
2 分钟
[不再维护] 屏蔽任意一个国家所有IP的一键脚本
[不再维护] 屏蔽任意一个国家所有IP的一键脚本

看到那个 lowendtalk 上的帖子,觉得挺好玩的就写成了一个脚本,说不定以后还能派上用场(大概并不会派上用场

Head Pic: 「ルーミア」/「みなみな」[pixiv]


Tsuk1ko
/
Block-IPs-from-countries
A linux bash script help you block or unblock IPs from countries
—
—
no-license
Shell

是看到了 lowendtalk 上的这个帖子 https://www.lowendtalk.com/discussion/141800/blocking-attack-ips-ddos-ips-from-china

还行,那就做一个一键脚本玩玩 顺便把最近份的文章水了好腾出时间专心写实验

更新日志#

2018-04-11

  1. 把 IP 数据源换成了 APNIC 的
  2. 国家代码不用再区分大小写

准备#

安装 ipset#

Terminal window
# Debian / Ubuntu
apt-get install -y ipset
# CentOS系统
yum install -y ipset

下载脚本#

Terminal window
wget https://raw.githubusercontent.com/Tsuk1ko/Block-IPs-from-countries/master/block-ips.sh

使用#

屏蔽某国IP#

比如要屏蔽中国IP

  1. 添加中国IP到 ipset 添加的时候会自动下载一个IP段集delegated-apnic-latest.txt,请不要删除它
Terminal window
bash block-ips.sh -a cn
  1. 屏蔽中国IP
Terminal window
bash block-ips.sh -b cn
Warning

如果真的要试的话就别屏蔽中国IP了啊,小心屏蔽完了 ssh 上不去(。

你可以尝试拿邻国友人jp,kr,sg之类的开刀(x

Note

你可以到 http://doc.chacuo.net/iso-3166-1 或者 https://www.iso.org/obp/ui/ 查看可用的国家代码(二字母),使用的时候大小写无所谓

解除屏蔽#

如果要解封中国IP

Terminal window
bash block-ips.sh -u cn

查看你已经屏蔽了哪些国家#

Terminal window
bash block-ips.sh -l

更新IP列表#

如果你需要更新IP列表,你需要先删除delegated-apnic-latest.txt文件,然后再次使用-a参数添加即可,脚本会自动先清空原 ipset 然后重新添加数据

Terminal window
rm delegated-apnic-latest.txt
bash block-ips.sh -a cn

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

[不再维护] 屏蔽任意一个国家所有IP的一键脚本
https://moe.best/posts/block-countries-ips/
作者
神代綺凛
发布于
2018-04-10
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
神代綺凛
专业咕咕
分类
标签
站点统计
文章
107
分类
15
标签
269
总字数
140,468
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
EdgeOne Pages
博客版本
Firefly v6.16.8
文章许可
CC BY-NC-SA 4.0
文章目录