• iptables黑/白名单设置(使用ipset 工具)


    ipset介绍

    ipset是iptables的扩展,它允许你创建 匹配整个地址集合的规则。而不像普通的iptables链只能单IP匹配, ip集合存储在带索引的数据结构中,这种结构即时集合比较大也可以进行高效的查找,除了一些常用的情况,比如阻止一些危险主机访问本机,从而减少系统资源占用或网络拥塞,IPsets也具备一些新防火墙设计方法,并简化了配置.官网:http://ipset.netfilter.org/

    1.ipset安装

    yum安装: yum install ipset

    2.创建一个ipset

    ipset create xxx hash:net (也可以是hash:ip ,这指的是单个ip,xxx是ipset名称)

    ipset默认可以存储65536个元素,使用maxelem指定数量

    ipset create blacklist hash:net maxelem 1000000    #黑名单
    ipset create whitelist hash:net maxelem 1000000    #白名单

    查看已创建的ipset

    ipset list

    3.加入一个名单ip

    ipset add blacklist 10.60.10.xx

    4.去除名单ip

    ipset del blacklist 10.60.10.xx

    5.创建防火墙规则,与此同时,allset这个IP集里的ip都无法访问80端口(如:CC攻击可用)

    iptables -I INPUT -m set --match-set blacklist src -p tcp -j DROP
    iptables -I INPUT -m set --match-set whitelist src -p tcp -j DROP
    service iptables save
    iptables -I INPUT -m set --match-set setname src -p tcp --destination-port 80 -j DROP

    6.将ipset规则保存到文件

    ipset save blacklist -f blacklist.txt
    ipset save whitelist -f whitelist.txt

    7.删除ipset

    ipset destroy blacklist
    ipset destroy whitelist

    8.导入ipset规则

    ipset restore -f blacklist.txt
    ipset restore -f whitelist.txt

    ipset的一个优势是集合可以动态的修改,即使ipset的iptables规则目前已经启动,新加的入ipset的ip也生效

     转自:http://www.cnblogs.com/harlanzhang/p/6190674.html

  • 相关阅读:
    Python流程控制
    Python 迭代器和列表解析
    Python 文件对象
    TF-IDF介绍
    hexo博客更换主题
    学习笔记—MapReduce
    Mac下Anaconda的安装和使用
    Flume的介绍和简单操作
    hexo+github搭建个人博客
    Hbase的安装和基本使用
  • 原文地址:https://www.cnblogs.com/vijayfly/p/7205559.html
Copyright © 2020-2023  润新知