防火墙相关概念

逻辑上讲。防火墙可以大体分为主机防火墙和网络防火墙。

主机防火墙:针对于单个主机进行防护。

网络防火墙:往往处于网络入口或边缘,针对于网络入口进行防护,服务于防火墙背后的本地局域网。

网络防火墙和主机防火墙并不冲突,可以理解为,网络防火墙主外(集体), 主机防火墙主内(个人)。

物理上讲,防火墙可以分为硬件防火墙和软件防火墙。

硬件防火墙:在硬件级别实现部分防火墙功能,另一部分功能基于软件实现,性能高,成本高。

软件防火墙:应用软件处理逻辑运行于通用硬件平台之上的防火墙,性能低,成本低。

iptables其实不是真正的防火墙,我们可以把它理解成一个客户端代理,用户通过iptables这个代理,将用户的安全设定执行到对应的"安全框架"中,这个"安全框架"才是真正的防火墙,这个框架的名字叫netfilter

netfilter才是防火墙真正的安全框架(framework),netfilter位于内核空间。

iptables为我们提供了如下""

filter表:负责过滤功能,防火墙;内核模块:iptables_filter

nat表:   network address translation,网络地址转换功能;内核模块:iptable_nat

mangle表:拆解报文,做出修改,并重新封装 的功能;iptable_mangle

raw表:   关闭nat表上启用的连接追踪机制iptable_raw

表链关系

PREROUTING      的规则可以存在于:raw表,mangle表,nat表。

INPUT           的规则可以存在于:mangle表,filter表,(centos7中还有nat表,centos6中没有)。

FORWARD         的规则可以存在于:mangle表,filter表。

OUTPUT          的规则可以存在于:raw表,mangle表,nat表,filter表。

POSTROUTING     的规则可以存在于:mangle表,nat表。

表(功能)<-->   链(钩子):

raw     表中的规则可以被哪些链使用:PREROUTING,OUTPUT

mangle  表中的规则可以被哪些链使用:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING

nat     表中的规则可以被哪些链使用:PREROUTING,OUTPUT,POSTROUTING(centos7中还有INPUT,centos6中没有)

filter  表中的规则可以被哪些链使用:INPUTFORWARDOUTPUT

iptables流程关系图

精简图:

详细图:

表链关系图:

处理动作

处理动作在iptables中被称为target(这样说并不准确,我们暂且这样称呼),动作也可以分为基本动作扩展动作

此处列出一些常用的动作,之后的文章会对它们进行详细的示例与总结:

ACCEPT:允许数据包通过。

DROP:直接丢弃数据包,不给任何回应信息,这时候客户端会感觉自己的请求泥牛入海了,过了超时时间才会有反应。

REJECT:拒绝数据包通过,必要时会给数据发送端一个响应的信息,客户端刚请求就会收到拒绝的信息。

SNAT:源地址转换,解决内网用户用同一个公网地址上网的问题。

MASQUERADE:是SNAT的一种特殊形式,适用于动态的、临时会变的ip上。

DNAT:目标地址转换。

REDIRECT:在本机做端口映射。

LOG:在/var/log/messages文件中记录日志信息,然后将数据包传递给下一条规则,也就是说除了记录以外不对数据包做任何其他操作,仍然让下一条规则去匹配。

最新文章

  1. Backbone.js
  2. 设计模式学习之桥接模式(Bridge,结构型模式)(15)
  3. C#设计模式——适配器模式(Adapter Pattern)
  4. 小白学Linux(五)--VI/VIM编辑器
  5. R函数是对A方法的封装
  6. java中用线程解决进出水问题
  7. Mysql安装过程(linux:2.6.18-194.el5,Mysql:)
  8. POJ 2886 Who Gets the Most Candies? 线段树。。还有方向感
  9. linux下编译安装mysql5.5以上版本
  10. Python 的方法重载
  11. 全网首创ISE入门级教程
  12. Android简介(一)
  13. Node.js 撸第一个Web应用
  14. 9.8、Libgdx的返回键和菜单键捕获
  15. 解决SVN Cleanup错误: Failed to run the WC DB work queue associated with
  16. (线性结构dp )POJ 1260 Pearls
  17. 第21月第6天 zhihu如何用3个月零基础入门机器学习
  18. 普通socket与netty服务端交互
  19. LFI/RFI总结
  20. Digital Square(hdu4394)搜索

热门文章

  1. nginx负载均衡简单实例
  2. 捷克200套UR51出货新版本FTP问题(FTP主动模式无法正常传输数据问题)
  3. Python 类和对象(2)
  4. nuxt入门
  5. 操作系统-chapter1
  6. pandas处理json脱坑(一)--JsonError: Expecting property name enclosed in double quotes
  7. C# LINQ标准查询操作符
  8. python自动华 (十六)
  9. currentTimeMillis与 nanoTime
  10. ueditor+word图片上传