zoukankan      html  css  js  c++  java
  • linux防火墙(一)—— iptables架构介绍

    一、防火墙的分类

      一般宏观来说,防火墙分为主机型防火墙,例如我们为了防止个人电脑被攻击,而开启的防火墙,还分为网关型防火墙,一般部署在企业的网关,用于过滤和转发,保证整个企业的网络环境安全性。

      按照物理状态又分为:软件防火墙和硬件防火墙

      按照功能分:包过滤型、状态检测型和代理性

    二、iptables介绍

      iptables防火墙属于包过滤型,工作在网络层,针对IP数据包,体现在对包内的IP地址和端口等信息的处理上(源IP、端口和目标IP、端口)。

      iptables防火墙由netfilter和iptables组成,netfilter指的是linux内核中实现包过滤防火墙的内部结构、不以程序或文件形式存在,属于“内核态”,iptables指用来管理linux防火墙的命令程序,通常位于/sbin/iptables目录下,是“用户态”。

    三、iptables结构

      iptables由4表、5链和用户在链内写入的各种规则所组成。

      1、表:容纳各种规则链;表是按照功能分的类,具体功能如下:

      (1)raw表:用来决定是否对数据包进行状态跟踪。(不常用)

      (2)mangle表:为数据包设置标记,有ACK、SYN、FIN、RST、PSH、URG等标记。(不常用)

      (3)nat表:修改数据包的IP地址、端口等信息。(网关型防火墙常用)

      (4)filter表:确定是否放行数据包。(常用)

      2、链:容纳各种防火墙规则;链是按照时机分的类。

      (1)input:处理入站请求包

      (2)output:处理出站包(就是响应、应答包)

      (3)forward:处理转发数据包,实现不同网段间的通信

      (4)prerouting:在包做路由选择之前应用此链的规则

      (5)postrouting:在数据包做路由选择之后应用此链的规则

    表链结构图

    注:初学者很难把表和链的关系联系起来,首先大家要牢记,表是按照功能分类,链是按照时机分类,这里给大家举个例子,比如第三条意思是:只有在路由前和路由后还有出站的时候才能修改数据包的IP地址和端口信息。

    四、数据包过滤的匹配流程

    1、规则表之间的顺序:raw→mangle→nat→filter

    2、规则链之间的顺序:

      (1)入站数据流向:prerouting→input

      (2)出站数据流向:output→postrouting

      (3)转发数据流向:prerouting→forward→postrouting

    注:(1)和(2)多用于主机型防火墙,(3)多用于网络型防火墙

    3、规则链内的匹配顺序:

      按照顺序依次检查,匹配即停止(log策略例外);若找不到相匹配的规则,按该链的默认策略处理。

    匹配流程示意图:

    五、防火墙的路由功能

      防火墙可作为路由器起转发作用,具体操作如下:

      (1)永久生效方法

      vim etc/sysctl.conf

      修改

      forward = 1

      sysctl -p(立即生效)

      (2)临时生效方法

      echo 1 > /proc/sys/net/ipv4/ipforward

      或者 sysctl -w net.ipv4.ip_forward=1

  • 相关阅读:
    每日学习
    每日学习——iframe标签伪造ajax
    每日总结
    LA 3667 Ruler
    hdu 2066 一个人的旅行 (dij+heap)
    LA 3507 Keep the Customer Satisfied (Greedy)
    hdu 2527 Safe Or Unsafe
    LA 4636 Cubist Artwork
    hdu 4514 湫湫系列故事——设计风景线(树DP)
    LA 4328 Priest John's Busiest Day (Greedy)
  • 原文地址:https://www.cnblogs.com/mangood/p/5998208.html
Copyright © 2011-2022 走看看