科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道基于Linux系统的包过滤防火墙(14)

基于Linux系统的包过滤防火墙(14)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

包过滤防火墙是用一个软件查看所流经的数据包的包头(header),由此决定整个包的命运。它可能会决定丢弃(DROP)这个包,可能会接受(ACCEPT)这个包,也可能执行其它更复杂的动作。

作者:51CTO.COM 2007年11月9日

关键字: 包过滤 防火墙 iptables Linux

  • 评论
  • 分享微博
  • 分享邮件

  →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: -m state-state ESTABLES -j ACCEPT

  #iptables -A OUTPUT -p tcp-sport 1024: --dport 1024: -m state-state ESTABLISHED,RELATED -j ACCEPT

  2)主动ftp连接模式。

  #iptables -A INPUT -p tcp-sport 20 -m state-state ESTABLISHED,RELATED -j ACCEPT -m state-state ESTABLISHED -j ACCEPT

  (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链进行。语法如下:

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章