云网
    • 版块
    • 最新
    • 标签
    • 热门
    • 世界
    • 用户
    • 群组
    • 登录

    Linux/VPS屏蔽国外IP(ipv4)

    已定时 已固定 已锁定 已移动 网络技术
    1 帖子 1 发布者 43 浏览
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • N 在线
      node-ccccc
      最后由 node-ccccc 编辑

      前言
      ipset 是 iptables 的扩展,它允许你创建匹配整个 IP 地址集合的规则。可以快速的让我们屏蔽某个 IP 段。这里分享一个屏蔽指定国家的 IP 访问的方法和一个屏蔽国外 IP 访问(仅允许国内 IP 访问)的方法,当我们遇到 CC 攻击,可以尝试选择和使用能有所缓解。

      屏蔽指定国家的IP
      首先需要得到国家 IP 段,下载地址:http://www.ipdeny.com/ipblocks/。这里以我们国家为例。

      1、安装 ipset

      #Debian/Ubuntu系统

      apt-get -y install ipset
      

      #CentOS系统

      yum -y install ipset
      

      2、创建规则

      #创建一个名为cnip的规则

      ipset -N cnip hash:net
      

      #下载国家IP段

      wget -P . http://www.ipdeny.com/ipblocks/data/countries/cn.zone
      

      #将IP段添加到cnip规则中

      for i in $(cat /root/cn.zone ); do ipset -A cnip $i; done
      

      3、开始屏蔽

      iptables -I INPUT -p tcp -m set --match-set cnip src -j DROP
      

      4、解除屏蔽

      #-D为删除规则

      iptables -D INPUT -p tcp -m set --match-set cnip src -j DROP
      
      1 条回复 最后回复 回复 引用 0
      • 第一个帖子
        最后一个帖子