深入浅出Netfilter/iptables防火墙框架(基础篇)

发表于:2011-7-14 10:39

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

 作者:李洋    来源:51Testing软件测试网采编

  2、iptables基本原理

  通过向防火墙提供有关对来自某个源、到某个目的地或具有特定协议类型的信息包要做些什么的指令,规则控制信息包的过滤。通过使用Netfilter/iptables系统提供的特殊命令iptables,建立这些规则,并将其添加到内核空间的特定信息包过滤表内的链中。关于添加/除去/编辑规则的命令的一般语法如下:

iptables [-t table] command [match] [target]

  不难看出,一条iptables规则包含如下4个基本元素:

  ● 表

  ● 命令

  ● 匹配

  ● 目标

  1)表(table)

  [-t table]选项允许使用标准表之外的任何表。表是包含仅处理特定类型信息包的规则和链的信息包过滤表。有三种可用的表选项:filter、nat和mangle。该选项不是必需的,如果未指定,则filter用作默认表。filter表用于一般的信息包过滤,包含INPUT、OUTPUT和FORWAR链。nat表用于要转发的信息包,它包含PREROUTING、OUTPUT和POSTROUTING链。如果信息包及其头内进行了任何更改,则使用mangle表。该表包含一些规则来标记用于高级路由的信息包以及PREROUTING和OUTPUT链。

  2)命令(command)

  command部分是iptables命令的最重要部分,它告诉iptables命令要做什么,例如,插入规则、将规则添加到链的末尾或删除规则。主要有如表1所示的命令。

  表1 iptables常用命令

命    令

说    明

-A或--append

该命令将一条规则附加到链的末尾

-D或--delete

通过用-D指定要匹配的规则或者指定规则在链中的位置编号,该命令从链中删除该规则

-P或--policy

该命令设置链的默认目标,即策略。所有与链中任何规则都不匹配的信息包都将被强制使用此链的策略

-N或--new-chain

用命令中所指定的名称创建一个新链

-F或--flush

如果指定链名,该命令删除链中的所有规则,如果未指定链名,该命令删除所有链中的所有规则。此参数用于快速清除

-L或--list

列出指定链中的所有规则

-R或--replace

替换指定链中一条匹配的规则

-X或--delete-chain

删除指定用户的的定义链,若没有指定链,则删除所有的用户链

-C或--check

检查数据包是否与指定链的规则相匹配

-Z或--zero

将指定链中所有规则的byte计数器清零

32/3<123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号