Linux iptables:规则原理和基础

发表于:2015-6-15 10:55

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:全栈工程狮    来源:51Testing软件测试网采编

  什么是iptables?
  iptables是Linux下功能强大的应用层防火墙工具,但了解其规则原理和基础后,配置起来也非常简单。
  什么是Netfilter?
  说到iptables必然提到Netfilter,iptables是应用层的,其实质是一个定义规则的配置工具,而核心的数据包拦截和转发是Netfiler。
  Netfilter是Linux操作系统核心层内部的一个数据包处理模块。
  iptables和Netfilter关系图:
  在这张图可以看出,Netfilter作用于网络层,数据包通过网络层会经过Netfilter的五个挂载点(Hook point):PRE_ROUTING、INPUT、OUTPUT、FORWARD、POST_ROUTING。
  任何一个数据包,只要经过本机,必将经过这五个挂载点的其中一个。
  iptables规则原理
  iptables的规则组成,又被称为四表五链:
  四张表 + 五个挂载点 + 规则<br><br>四张表:filter表、nat表、mangle表、raw表<br><br>五个挂载点:PRE_ROUTING、INPUT、OUTPUT、FORWARD、POST_ROUTING
  具体来说,就是iptables每一条允许/拒绝或转发等规则必须选择一个挂载点,关联一张表。
  规则代表了对数据包的具体操作,挂载点代表了操作的位置,表代表了作用的目的。
  iptables的四张表
  现在用的比较多的表是前两个:
  1、filter 用于过滤;
  2、nat 用于地址转换;
  3、mangle 修改数据包;
  4、raw 一般是为了不再让iptables做数据包的链接跟踪处理,跳过其他表,提高性能;
  数据包在规则表、挂载点的匹配流程图
  以下这张图是数据包经过挂载点的流程图,在每个挂载点可以看到有哪些表可以用于定义规则:
  对于filter表一般只能做在3个链上:INPUT、FORWARD、OUTPUT;
  对于nat表一般也只能做在3个链上:PREROUTING、OUTPUT、POSTROUTING。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号