• iptables防火墙


    netfilter/iptables框架可以实现数据包过滤,网络地址转换以及数据包管理功能,linux防火墙系统中包括netfilet/iptables这两部分。netfilet是linux内核的一部分。

             iptables默认的规则表有 fileter表(过滤表),nat表(地址转换规则表),mangle(修改数据标识记位表),raw(跟踪数据表规则表)。每个规则表中包含多个数据链,如下图所示,防火墙的规则需要写入到这些具体的数据链中。

    123.jpg

     1.iptables防火墙语法格式

         用法 iptales [-t 表名] {-A|-D|-I|-D|-F|-L|-Z|-P} 链名:rule-specification 

         ps: -t 不加表名,默认为filter表。

          -A 追加防火墙规则

          -D 输出防火墙规则

         -i 插入防火墙规则

         -F清空防火墙规则

         -L 列出防火墙规则

         -R 替换防火墙规则

         -Z 清空防火墙缓存

         -p 设置链默认规则

         匹配参数:

         [!]-p  匹配协议 ,!表示取反

         [!]-s   匹配源地址

         [!]-d  匹配目标地址

         [!]-i   匹配入站网卡

         [!]-o  匹配出站网卡

         [!]--sport  匹配源端口

         [!]--dpor  匹配目标端口

         [!]--src-rangr  匹配源地址范围

         [!]--dst-range  匹配目标地址范围

         [!]--limit  匹配数据表速率

         [!]- -mac-source 匹配mac地址

         [!]--sports  匹配源端口

         [!]--dports  匹配目标端口

         [!]--state    匹配状态

         [!]--string  匹配应用层字串

       

         触发动作

         ACCEPT 允许数据包通过

           DROP 丢去数据包

         REJECT 禁止数据包通过

         LOG 将数据包信息记录在日志

         DNAT 目标地址转换

         SNAT 源地址转换

           MASQUERADE 地址欺骗

         REDIRECT 重定向

      2.防火墙应用案例

           案例1:允许任意客户访问(http,https,ssh,dns,ntp,stmp,pop3)

             [root@centos6 ~]# iptables -A INPUT -P tcp --dport 22-j ACCEPT  #ssh端口为22

             [root@centos6 ~]# iptables -A INPUT -P udp --dport 25-j ACCEPT  #邮件服务器SMTP端口

             [root@centos6 ~]# iptables -A INPUT -P tcp --dport 53-j ACCEPT    #dns端口 

             [root@centos6 ~]# iptables -A INPUT -P udp --dport 53-j ACCEPT   #dns端口 

             [root@centos6 ~]# iptables -A INPUT -P tcp --dport 80-j ACCEPT    #http默认端口

             [root@centos6 ~]# iptables -A INPUT -P tcp --dport 110-j ACCEPT  #邮件服务pop3端口

             [root@centos6 ~]# iptables -A INPUT -P tcp --dport 143-j ACCEPT  #邮件服务端口

             [root@centos6 ~]# iptables -A INPUT -P tcp --dport 123-j ACCEPT  #系统的时间服务

          案例2:在互联网上各种攻击手段层出不穷,很多攻击会采用发送大量的数据包给服务器,导致服务器无法响应,iptables提供一个limit提供扩展的功能,可以现在单位时间内的数据包个数。这里设置500个数据包每秒。

             [root@centos6~]#iptables -I INPUT -m limit --limit 500/src -j ACCEPT

             [root@centos6~] #iptables -P INPUT DROP 

    转载:https://aisky.cc/linuxBasics/60.html

  • 相关阅读:
    多线程
    Java命令行传参
    IO流
    集合
    Java基础语法
    常见的数据结构
    泛型
    java 集合重要概念 (Set 的存储内存解析)
    java 集合重要概念 (== 和 equals 解读)
    java 集合重要概念 (实现一个简单的斗地主)
  • 原文地址:https://www.cnblogs.com/chaolinux/p/5566068.html
Copyright © 2020-2023  润新知