• iptables增加、删除、修改、查询、保存防火墙策略教程


    一.查看现有防火墙策略

    # iptables有filter、nat、mangle、raw四张表
    # filter表下默认有PREROUTING、INPUT、FORWARD、OUTPUT、POSTROUTING五条链
    # 默认查看filter表、所有链的策略
    iptables -L -n
    #
    --line-number参数会显示策略编号,该编号在删除策略时使用 iptables -L -n --line-number # 查看指定表的所有策略 iptables -t <table_name> -L -n # 查看指定链的策略 iptables -L <chain_name> -n

    二.增加防火墙策略(以22端口为例)

    iptables -A INPUT -s 192.168.220.0/24 -p TCP --dport 22 -j ACCEPT    #增加网段
    iptables -A INPUT -s 192.168.1.1 -p TCP --dport 22 -j ACCEPT         #增加单个IP
    iptables -A INPUT -p TCP --dport 22 -j DROP

    说明:

    1. -A代理在末尾追加,如果要在开头插入使用-I

    2.多IP使用逗号(半角)相隔,多端口添加-m multiport然后端口使用逗号(半角)相隔

    iptables -A INPUT -s 127.0.0.1,1192.168.1.1 -p tcp -m multiport --dport 22,23 -j ACCEPT
    iptables -A INPUT -p tcp -m multiport --dport 22,23 -m comment --comment "deny all 22,23" -j DROP

    3.对于连续IP合用--src-range

    iptables -I INPUT -m iprange --src-range 192.168.220.128-192.168.220.139 -p tcp -m multiport --dport 22,23 -m comment --comment "subnet:22,23" -j ACCEPT

    注意这个语句的结果中source会变成0.0.0.0/0,但不用担心他会对所有IP放行,后边有source IP range的描述那是起作用的IP:

    4. 如果原来没有策略或者不冲突的情况下,-A和-I的结果是一样的;但是在“远程添加防火墙”和“限制22端口”两个条件下,-I可能会让你陷入致命的麻烦:

    iptables -I INPUT -p TCP --dport 22 -j DROP
    iptables -I INPUT -s 192.168.1.1 -p TCP --dport 22 -j ACCEPT
    iptables -I INPUT -s 192.168.220.0/24 -p TCP --dport 22 -j ACCEPT

    看起来这三句和-A那三句结果是一样的,但防火墙策略是即时生效的也就是在“iptables -I INPUT -p TCP --dport 22 -j DROP”执行后,你的ssh就马上会断开了后边两句根本不会执行

    5.-A等参数后接的是链名,比如前面我们都是INPUT链;类似的,如果我们要操作自定义的规则链,只要将INPUT改成自己的链名即可。规则链创建删除命令如下:

    # 创建新规则链
    iptables -N <chain_name>
    # 删除规则链
    iptables -X <chain_name>

    三.修改防火墙策略

    iptables -R INPUT 2 -s 192.168.1.1 -p TCP --dport 22 -j DROP   #2是--line-nember查到的,所有参数都要写-R不是在原策略基础上修改而就是直接取化,所以这里的-s虽然原来就是192.168.1.1但还是要写,不然结果就是DROP掉所有ip对22端口的连接请求

    四.删除防火墙策略

    iptables -D INPUT 2   #2是--line-number查到的,此句会删除第2条策略
    
    iptables -F           #此句会清空所有防火墙规则,慎用

    五.保存防火墙规则

    上边对防火墙的修改只是临时的,并没有存入配置文件(/etc/sysconfig/iptables),防火墙服务重启之后策略会退回到之前保存的策略状态;要防火墙配置永久生效要进行保存

    service iptbales save
  • 相关阅读:
    C# 常用小点
    WebClient下载文件
    redis常见错误处理
    win2008R2环境配置
    C#程序员知识体系
    js中json的添加和指定位置的删除
    关于本博客的美化
    箭头函数中可改变this作用域,回调函数用箭头函数this指向page,自定义事件用箭头函数this指向undefined
    json_decode 和 json_encode 区别
    tp6中使用微信支付sdk
  • 原文地址:https://www.cnblogs.com/lsdb/p/7060251.html
Copyright © 2020-2023  润新知