基于Linux系统的包过滤防火墙(6)
来源:asp之家 发布时间:2009-09-19 20:21:00
即每分钟所允许的最大包数量为限制速率(本例为3)加上当前的触发阀值burst数。在任何情况下,都可以保证3个包通过,触发阀值burst相当于是允许额外的包数量。
(4)基于状态的匹配扩展(连接跟踪)。
每个网络连接包括以下信息:源地址、目的地址、源端口、目的湍口,称为套接字对(socketpairs);协议类型、连接状态(TCP协议)和超时时间等。防火墙把这些信息称为状态(stateful),能够检测每个连接状态的防火墙叫作状态包过滤防火墙。它除了能够完成简单包过滤防火墙的包过滤工作外,还在自己的内存中维护一个跟踪连接状态的表,比简单包过滤防火墙具有更大的安全性。iptables与ipchains的不同之处在于iptables可以使用连接状态信息,创建基于包的状态的规则匹配。
基于状态匹配创建规则的命令格式如下:
iptables -m state-state [!]state [,state,state,state]
其中,state表是一个用逗号分割的列表,用来指定的连接状态可以是如下的4种:
→NEW:该包想要开始一个连接(重新连接或将连接重定向)。
→RELATED:该包是属于某个已经建立连接所建立的新连接。例如:FTP的数据传输连接和控制连接之间就是RELATED关系。
→ESTABLISHED:该包属于某个已经建立的连接。
→INVALID:该包不匹配于任何连接,通常这些包会被DROP。
例如:
1)在INPUT链添加一条规则,匹配已经建立的连接或由已经建立的连接所建立的新连接。即匹配所有的TCP回应包。
#iptables -A INPUT -m state-state RELATED,ESTABLISHED
2)在INPUTP链添加一条规则,匹配所有从非eth0接口来的连接请求包。
#iptables -A INPUT -m state-state NEW -i ! eth0
又如,对于ftp连接可以使用下面的连接跟踪:1)被动ftp连接模式。
#iptables -A INPUT -p tcp-sport 1024: --dport 1024: -mstate-stateESTABLES -j ACCEPT
#iptables -A OUTPUT -p tcp-sport 1024: --dport 1024:-mstate-state ESTABLISHED,RELATED -j ACCEPT
2)主动ftp连接模式。
#iptables -A INPUT -p tcp-sport 20 -mstate-stateESTABLISHED,RELATED -j ACCEPT -m state-state ESTABLISHED-jACCEPT
(5)TOS匹配扩展。
所有数据包的首部都有一个称为服务类型的专用字段。该字段用于当数据包经过路由器时区分优先顺序。
使用ToS字段,可以使用某种类型的数据包优先于其它的数据包。有标记的数据包在路由器中进行不同的处理。设置ToS字段的工作是在网络层进行的。有关ToS的具体工作过程请参专考RFC1349。
在数据包中设置ToS字段的主要原因是:对不同类型的数据包加以区分,从而在流量较高的网络上减少网络拥塞。
数据包的ToS字段用一个字节表示。此字节的高3位舍弃不用,最低位使用固定值0,因此,有效位共有4个。有效位分别用来控制数据包的最小延时,最大吞吐量,最大可靠度和最小成本。其中,
→最小延时:用于减少数据包从路由到达主机的时间。
→最大吞吐量:用于提高数据传输量。适用于FTP数据端口,HTTP大文件传输和大量的POP3传输。
→最大可靠度:用来试图减少数据重传。
→最小成本:通常只在商业产品中使用。
要创建与ToS字段匹配的规则,可以使用下面的语法:
iptables [-t table]CMD[chain]-m tos tos_value [-j target]
其中tos_value可以是0x02、0x04、0x06、0x08、0x10。
例如:
#iptables -A INPUT -p tcp -m tos 0x08
表示匹配在ToS字段中设置了最大吞吐量的包。
2.3.4 设置目标扩展
要获得目标的简要说明,可以使用如下的命令:
#iptables -j name_of_TARGET-help
目标扩展由内核模块组成,而且iptables的一个可选扩展提供了新的命令行选项。在几个扩展是包含在默认netfilter发布中的。
(1)设置包的ToS值。为了设置数据包的ToS值,需要使用ToS目标扩展。设置ToS的值,只能对FORWARD、OUTPUT和PREROUTING链进行。语法如下:
iptables [-t table]CMD[chain][rule-matcher]-jTOS-set-tostos_value
其中tos_value可以是0x02、0x04、0x06、0x08、0x10。
下面是使用ToS目标扩展设置ToS值的一些例子:
#iptables -A OUTPUT -p tcp -m tcp-dport 21 -j TOS-set-tos0x10
#iptables -A OUTPUT -p tcp -m tcp-dport 22 -j TOS-set-tos0x10
#iptables -A OUTPUT -p tcp -m tcp-dport 110 -jTOS-set-tos0x08
(2)日志记录。iptables使用新的目标扩展LOG来实现日志记录。LOG目标用syslogd记录此包并继续传播。LOG目标扩展还可以使用如下的一些参数:
→ --log-level
跟踪一个级别名称或数字。合适的名字是"debug"、"info"、"notice"、"warning"、"err"、"crit"、"alert"和"emerg",相当于数字7到0。参考syslog.conf的手册可获取这些级别的说明。默认是"warning"。
→ --log-prefix
跟踪一个最多29个字符的字符串,它被写入到log信息的开始处,这样可以方便地使用grep对日志进行过滤。
另外,在使用LOG目标扩展的同时,还可以使用limit match,这样可以使记录有用日志的同时确保日志记录不会变得冗长。
下面是使用LOG目标扩展的一些例子:
#iptables -A FORWARD -m tcp -p tcp -j LOG
#iptables -A FORWARD -m icmp -p icmp-sport echo-reply -j LOG
#iptables -A INPUT -m limit-limit 3/m-limit-burst 3-jLOG-log-prefix "INPUT packet died:"
第3章、包过滤防火墙配置举例
3.1 建立包过滤防火墙
3.1.1网络结构
本节为一个的网络结构建立一个包过滤防火墙。
这个网络结构假设内部网有有效的Internet地址。为了将内部网段198.168.80.0/24与Internet隔离,在内部网络和Internet之间使用了包过滤防火墙。防火墙的网接口是eth1(198.168.80.254),防火墙的Internet接口是eth0(198.199.37.254)。加外,内网中有3台服务器对外提供服务。分别为:


猜你喜欢
- 美图秀秀软件的欢迎首页大家不陌生吧?可是如图2所示这张个性十足的欢迎首页你见过吗?看看它与图1的原默认欢迎首页的对比你就知道了。这可是经过&
- 在“ * ”事件发生后,阿娇在发表了道歉声明之后,阿娇的一句“很傻很天真”迅速成为网络流行语。继上次恶搞“很黄很暴力”后又一句网络流行语。阿
- 百度知道在9月25日发公告表示,部分“分类管理员”开始试用转移问题分类权限。今天,我们找到了两张转移
- 我们可能因为一些特殊需求网站服务器使用 Windows Server 系统来跑,没有采用Linux环境。而Webp格式的图像越来越多的网站采
- 参加了由重庆市电子商务协会网站分会(重庆网站联盟)主办的重庆市互联网2007年新年SHOW会,共有200多位站长及圈内人士参加。回来后,脑子
- 安装前将所有的软件包上传到系统的/opt路径,所有的操作都在/opt目录下一、解压文件tar -xzvf docker-19.03.0.tg
- 现在,很多人都拥有自己的电脑,并且通过固定的IP连接到互联网。于是,他们开始在自己的电脑上架设服务器。在自己的电脑上架设服务器,无论你使用L
- 百度终于对外承认早已启动进军IM的步伐。上周五,百度首次对外宣布对最新开发的即时通讯(IM)产品进行内测。该产品被定名为“百度Hi”。不过,
- 背景因为最近一直在折腾Kubernetes集群版本升级、Docker版本升级,所以不停的把测试环境安装、还原、升级、降级,简直乱的不行。终于
- 首先,当然是去下载Linux的JDK咯。先看你Linux的系统多少位:getconf LONG_BIT然后去下载对应的JDK位数 版本.—自
- 首先,我门要明白什么是SEO,什么是SEM,什么是网络营销。SEO:搜索引擎最佳化(Search Engine Optimization),
- 1.如何快速安装游戏服务器: 发布目录所有游戏添加之后,在游戏发布目录会生成一个gamelist.ini,里面就是记录这个发布目
- Google PR是现在搜索引擎技术的基石之一,其他搜索引擎不一定叫PR,但肯定也在使用相同的技术。PR值在搜索引擎排名的各个阶段都可能用到
- 本文重点阐述如何停止或启动处理网络负载平衡群集通讯、如何挂起或继续网络负载平衡,以及如何禁用对特定端口的新的网络负载平衡通讯处理等问题。A、
- 今天我们来介绍Godaddy主机用户怎样使用Hosting Control Center的File Manager从托管帐户删除某个文档?
- 在做站的过程中,有时会出现:UCenter后台 => 应用管理,不小心删除了某个应用的问题。本篇教程,笔者就以Discuz!应用为例来
- 通过论坛、留言板和讨论组来将你的AdSense收入最大化!在第8章,我们讨论了如何通过博客来创造收入,不过博客当然不是互联网上唯一的内容,也
- 你的服务器上是否存有一些不能随意公开的重要数据呢?当然有吧?而最近,偏偏服务器遭受的风险又特别大,越来越多的病毒、心怀不轨的黑客,以及那些商
- Lighttpd Apache Apache还是Lighttpd?Lighttpd (也称Lighty),用于高性能
- 百度与站长的斗争个人站长对于百度的SEO,方法有无穷种,单纯靠技术,百度一点办法都没有。于是百度增加了人工干预,打击了不少网站,作弊的,非作