zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Java实现 LeetCode 400 第N个数字
    Java实现 LeetCode 400 第N个数字
    Java实现 LeetCode 399 除法求值
    Java实现 LeetCode 399 除法求值
    Java实现 LeetCode 399 除法求值
    Java实现 LeetCode 398 随机数索引
    Java实现 LeetCode 398 随机数索引
    Java实现 LeetCode 398 随机数索引
    linux中的cd ..和cd -命令有什么区别?
    GCC使用
  • 原文地址:https://www.cnblogs.com/vijayfly/p/7205559.html
Copyright © 2011-2022 走看看