屏蔽任意一个国家所有IP的一键脚本

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

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

Block IPs from countries

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

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

更新日志

2018-04-11

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

准备

安装 ipset

# Debian / Ubuntu
apt-get install -y ipset

# CentOS系统
yum install -y ipset

下载脚本

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

使用

屏蔽某国IP

比如要屏蔽中国IP

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

如果真的要试的话就别屏蔽中国IP了啊,小心屏蔽完了 ssh 上不去(。
你可以尝试拿邻国友人jp,kr,sg之类的开刀(x

你可以到 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

搬瓦工VPS,建站稳如狗,支持支付宝,循环出账94折优惠码BWH1ZBPVK
年付$28的双向CN2线路的VPS补货了,1核/512M内存/10G硬盘/500GB@1Gbps【点击购买

我的文章对您有帮助吗?
我很可爱 请给我钱
扫一扫拿红包 → 扫商家收款码 → 转账与红包相等的金额
即可免费赞赏,又可拿支付宝奖励金!
现在支付宝超抠门的,红包只给一两分钱了
Last modification:April 12th, 2018 at 04:16 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment

7 comments

  1. geek

    有用啊万一被dd...

    1. 神代綺凜
      @geek

      现在这个方法有一个很严重的问题就是无法应对那些ip乱分的商家,比如阿里云和微软的香港用的都不是香港ip,无法通过ipset test,apnic更新的也没这么及时……

  2. dundun

    前排围观大佬

    1. 神代綺凜
  3. Void

    日常踩踩

    1. 神代綺凜
      1. Void
        @神代綺凜

        |´・ω・)ノ