Skip to content

Latest commit

 

History

History
62 lines (46 loc) · 2.93 KB

简介.md

File metadata and controls

62 lines (46 loc) · 2.93 KB

iptables 简介

防火墙相关概念
  • 此处先描述一些相关概念
    从逻辑上讲,防火墙可以大体分为主机防火墙和网络防火墙
    主机防火墙:针对于单个主机进行防护
    网络防火墙:往往处于网络入口或边缘,针对于网络入口进行防护,服务于防火墙背后的本地局域网
    网络防火墙和主机防火墙并不冲突,可以理解为,网络防火墙主外(集体),主机防火墙主内(个人)
    从物理上讲,防火墙可以分为硬件防火墙和软件防火墙
    硬件防火墙:在硬件级别实现部分防火墙功能,另一部分功能基于软件实现,性能高,成本高
    软件防火墙:应用软件处理逻辑运行于通用硬件平台之上的防火墙,性能低,成本低
linux的iptables
  • iptables其实不是真正的防火墙,我们可以把它理解成一个客户端代理,用户通过iptables这个代理,将用户的安全设定执行到对应的“安全框架”中,这个“安全框架”才是真正的防火墙,这个框架的名字叫netfilter

  • netfilter才是防火墙真正的安全框架(framework),netfilter位于内核空间 iptables其实是一个命令行工具,位于用户空间,我们用这个工具操作真正的框架

  • netfilter/iptables (下文中简称为iptables) 组成linux平台下的包过滤防火墙,与大多数linux软件一样,这个包过滤防火墙是免费的,它可以替代昂贵的商业防火墙方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能

  • netfilter是linux操作系统核心层内部的一个数据包处理模块,它具有如下功能:

    • 网络地址转换(Network Address Translate)
    • 数据包内容修改
    • 以及数据包过滤的防火墙功能
  • 所以说,虽然我们使用systemctl start iptables 启动iptables服务,但是其实准确的来说,iptables并没有一个守护进程,而应该算是内核提供的功能

#iptables简单介绍

  • iptables是表(tables)的容器
  • iptables的表(tables)又是链(chains)的容器
  • 链(chains)规则(Policy)的容器

####表名包括

  • filter:包过滤,用于防火墙规则
  • nat:地址转换,用于网关路由
  • mangle:数据包修改,用于实现服务质量
  • raw:高级功能,如:网址过滤

####规则链名包括

注意:规则链名称全部大写

  • INPUT链:处理输入的数据包
  • OUTPUT链:处理输出的数据包
  • PORWARD链:处理转发的数据包
  • PREROUTING链:用于目标地址装换
  • POSTROUTING链:用于源地址装换

####处理行为 注意:处理行为名称全部大写

  • ACCEPT:允许流量通过
  • REJECT:拒绝流量通过,拒绝后再回复一条“您的信息我已收到,但被扔掉了”
  • DROP:拒绝流量通过
  • LOG:记录日志信息