iptables介绍
来源:互联网 发布:太原淘宝电动三轮价 编辑:程序博客网 时间:2024/06/08 16:05
iptables
iptables是一个用户空间应用程序,允许系统管理员配置由Linux内核防火墙(实现为不同的Netfilter模块)及其存储的链和规则提供的表。不同的内核模块和程序目前用于不同的协议; iptables适用于IPv4,ip6tables到IPv6,arptables到ARP,ebtables适用于以太网帧。
iptables需要提升的权限才能运行,并且必须由用户root执行,否则无法运行。在大多数Linux系统上,iptables安装为/ usr / sbin / iptables并在其手册页中记录,可以在安装man iptables
时打开它。它也可能在/ sbin / iptables中找到,但由于iptables更像是一个服务而不是“必需的二进制”,所以首选的位置仍然是/ usr / sbin。
术语iptables也常用于包含内核级组件。x_tables是承载所有四个模块所使用的共享代码部分的内核模块的名称,它们还提供用于扩展的API; 随后,Xtables或多或少被用来指代整个防火墙(v4,v6,arp和eb)架构。
iptables的继承者是nftables,它被合并到内核版本3.13 的Linux内核主干线,该版本于2014年1月19日发布。
内容
[ 隐藏 ]- 1概述
- 2用户空间实用程序
- 2.1前端
- 2.2其他工具(按字母顺序)
- 3另见
- 4参考文献
- 5文学
- 6外部链接
概述
Xtables允许系统管理员定义包含用于处理数据包的规则链的表。每个表与不同类型的数据包处理相关联。通过顺序遍历链中的规则来处理数据包。链中的规则可以导致goto或跳转到另一个链,并且可以重复任何级别的嵌套。(跳转就像一个“呼叫”,即跳出的点被记住。)从计算机到达或离开的每个网络数据包遍历至少一个链。
分组的来源决定了它最初遍历哪个链。有五个预定义的链(映射到五个可用的Netfilter钩子),尽管一个表可能没有所有链。预定义链具有策略,例如DROP,如果到达链的末尾,则应用于该分组。系统管理员可以根据需要创建任意数量的其他链。这些连锁店没有政策; 如果一个数据包到达链的末尾,它将返回到被称为链的链。链可能是空的。
PREROUTING
:在进行路由决策之前,数据包将进入该链。INPUT
:数据包将被本地传送。它与具有打开的套接字的进程无关; 本地交货由“本地交货”路由表控制:ip route show table local
。FORWARD
:已经路由并且不用于本地传递的所有数据包将遍历此链。OUTPUT
:从机器本身发送的数据包将访问此链。POSTROUTING
:已经做出路由决定。数据包在将它们交给硬件之前进入该链。
链中的每个规则包含与哪个数据包匹配的规范。它还可能包含目标(用于扩展)或判定(其中一个内置决策)。当一个数据包穿过一个链时,每个规则依次被检查。如果规则与数据包不匹配,则数据包将被传递到下一个规则。如果规则与数据包匹配,则规则将采用目标/判定指示的操作,这可能导致数据包被允许沿着链路继续运行,也可能不会。匹配构成规则集的大部分,因为它们包含测试条件的条件。这些可能发生在OSI模型中的任何层,例如--mac-source
和-p tcp --dport
参数,还有与协议无关的匹配,例如-m time
。
分组继续遍历链,直到任一个
- 规则中的数据包匹配,并通过调用的一个决定该分组的最终命运,例如
ACCEPT
或DROP
,或模块返回这样的最终命运; 要么 - 一个规则称之为
RETURN
判决,在这种情况下处理返回到呼叫链; 要么 - 链条的末端到达; 遍历还是在父链中继续(就好像
RETURN
被使用)一样,或者使用作为终极命运的基本链策略。
目标也会返回一个判断结果ACCEPT
(NAT
模块将执行此操作)或DROP
(例如REJECT
模块),但也可能意味着CONTINUE
(例如,LOG
模块; CONTINUE
是内部名称)继续下一个规则,就好像没有指定目标/判定一样。
用户空间的实用程序
前端
iptables有许多第三方软件应用程序可以方便设置规则。文本或图形方式的前端允许用户点击生成简单的规则集; 脚本通常是指借助一个简单的配置文件,使用一组预定义规则或从模板扩展的规则来调用iptables或(更快)的shell脚本(但是其他脚本语言也是可能的)iptables-restore
。Linux发行版通常采用后一种使用模板的方案。这种基于模板的方法实际上是规则生成器的有限形式,并且这样的生成器也以独立的方式存在,例如作为PHP网页。
这样的前端,生成器和脚本通常受到其内置模板系统的限制,模板为用户定义的规则提供替代点。此外,生成的规则通常不针对用户希望的特定防火墙效果进行优化,因为这样做可能会增加开发人员的维护成本。建议合理理解iptables并希望优化其规则集的用户构建自己的规则集。
其他工具(按字母顺序)
- abyle-firewall一个基于python / xml的iptables包装
- FireHOL是一个外壳脚本,包含易于理解的纯文本配置文件的iptables。
- IPFire是基于Linux的防火墙分发,具有用于配置防火墙规则的基于Web的用户界面,可以生成一组iptables规则,而无需使用命令行。
- NuFW,Netfilter的验证防火墙扩展
- Shorewall网关/防火墙配置工具使得可以使用更简单的规则,并承担将其翻译成iptables语言并维护它的负担。
- iptables介绍
- iptables介绍
- iptables介绍
- iptables介绍
- iptables 介绍
- iptables介绍
- iptables介绍
- IPTABLES配置方法介绍
- iptables介绍文章
- IPTABLES配置方法介绍
- 9.1 iptables防火墙介绍
- iptables和netfilter介绍
- netfilter/iptables详细介绍
- Iptables 详细介绍
- IPtables之一:基本概念介绍
- netfilter/iptables 命令介绍
- iptables 命令介绍
- iptables 命令介绍
- 浅谈树状数组
- HTTP要点概述:十一,HTTP状态码
- 设计模式之组合模式
- SpringMVC Restful风格的CURD
- Flume NG 简介及配置实战
- iptables介绍
- UML类图几种关系的总结
- [机器学习]机器学习笔记整理04-术语概念解释
- Codeforces Round #406 (Div. 1) B. Legacy(线段树优化建图)
- 网络安全
- org.apache.catalina.loader.DevLoader overrides final method start.()V
- php
- 二叉树笔试面试常见算法题
- Reverse String II