iptables防火墙

慈云数据 2024-05-28 技术支持 21 0

        前言:防火墙有两大类型

  •                 硬件防火墙:有专门的设备做为网关层 可以实现地址转换,流量清洗......作为第一道防御
  •                 软件防火墙:针对木马,病毒防护 ......作为第二道防御    两种一起配合才能保证更加安全

    一、iptables概述

    •                 Linux系统级别的防火墙 ,它实际上有两个组件组成 分别是 netfilter 和 iptables
    •                 iptables主要工作在网络层 针对ip数据包做过滤
    •                 netfilter属于内核模块 由一些数据包过滤表组层

      组成部分:

      iptables 和 netfilter 统一称作 iptables

              iptables其中有四个表和五个链组成分别为:(3和4比较重要 用得多)

      •         1、raw:        是对数据包进行动态跟踪        包含两个规则链:OUTPUT、PREROUTING
      •         2、mangle:修改数据内容、用来做流量整形,给数据包做标记的        包含五个规则链:OUTPUT、PREROUTING、INPUT、FORWARD、POSTROUTING
      •         3、nat:负责网络地址转换,用来修改数据包的源、目标ip地址或者端口        包含三个规则链:OUTPUT、FORWARD、POSTROUTING
      •         4、filter:负责过滤数据包,确定是否放行数据包         包含三个规则链:INPUT、FORWARD、OUTPUT

                四表五链:

                        规则表的作用:容纳各种规则链

                        规则链的作用:容纳各种防火墙规则

                        一环套一环的  表里面有链  链里面有规则

        •                 1、INPUT:处理入站的数据包、匹配目标ip为本机的数据包
        •                 2、OUTPUT:处理出战的数据包,一般不在此链上做配置
        •                 3、FORWARD:处理转发的数据包,匹配流经本机的数据包
        •                 4、PREROUTING:在进行路由器选择前处理数据包、用来修改目的地址,用来做DNAT,相当于把内网服务器的ip和端口映射到路由器的外网ip和端口上
        •                 5、POSTROUTING:在进行路由器选择后处理数据包,用来修改源地址,用来做SNAT,相当于内网通过路由器NAT转换功能实现内网主机通过一个公网ip上网

                  表之间的优先级是:raw > mangel > nat > filter

                  规则链内的匹配顺序是:自上向下按顺序依次匹配  匹配到规则即停止继续,要是找不到规则 就会按照默认的策略处理

          用我自己理解的方式 大白话 简单了说  就是 一个数据 先进入到我这个电脑  然后出去  转发给某某某     在进入我的电脑之前  我首先得处理这个数据(PREROUTING)然后在进入(INPUT) 然后出站了 首先我得出去  (OUTPUT)然后我得处理出站得数据(POSTROUTING)  然后数据在转发得时候 得要先处理进来之前得数据( PREROUTING ) 然后转发( FORWARD)我得处理完这个数据( POSTROUTING )

          匹配的数据流程:

                  二、iptables用法

                          在centos7之前用的是iptables   在centos7之后用得都是filewalld防火墙  所以我们得先安装一下iptables 安装之前先关闭filewalld

                         

          systemctl  stop firewalld           #关闭防火墙
          systemctl disable  --now firewalld        #开机自动关闭
          yum install -y iptables iptable-services    #下载两个一个是应用程序  一个是服务管理工具
          systemctl start iptables-services            #开启服务

                  iptables 有两种配置方式

                          1、使用iptables 命令行

                          2、使用system-config-firewalld(图形化界面,一般不适用  机房一般没有电脑不方便)

                  iptables 命令行配置方法:

                          命令格式

                          ipitables  [-t  表名]  管理格式 [链名]  [匹配得条件]  [ -j  控制类型]

                          注意  不指定表名时候 默认指定filter表

                                    不指定链名时候 默认指定表内得所有链

                                          除非设置链得默认策略 否则必须指定匹配条件

                                                  控制类型  和  链名 使用大写字母  其余为小写

          常用得控制类型:

          ACCEPT允许数据包通过
          DROP直接丢弃数据包,不会有任何提示
          REJECT拒绝数据包通过,会给数据发送端一个响应
          SNAT修改数据包得源地址
          DNAT修改数据包得目的地址
          REDIRECT重定向百变目的端口,将接收得包转发至本机得不同端口
          MASQUERADE伪装成一个非固定得IP地址
          LOG在/var/log/messages文件中记录日志信息

          常用得管理选项:

                  查看 filter表 

          如果查看其他表  把 filter换成其他表

                  

                       添加   -

                   删除   -F

                  修改   -P

          白名单设置:

          增删改查

          三、隐含匹配

                  

微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon