科技行者

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

知识库

知识库 安全导航

至顶网网络频道实现Linux网络防火墙(4)

实现Linux网络防火墙(4)

  • 扫一扫
    分享文章到微信

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

本文主要介绍Linux提供的IPFW、Ipchains、Iptables这三种非常实用的防火墙和具体实现。

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

关键字: 网络 防火墙 ipfw iptables ipchains Linux

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

  通过适当的设置,IP伪装可以在某个网段、某台主机、某个接口、某个协议甚至是某个协议的某些端口上实现,非常灵活。IP伪装可以将内部网络的细节对外部网络屏蔽掉,因此,IP伪装提供了很好的安全性。

  一般来说,安装相应版本的Linux系统时,系统会自动将Ipchains安装上。如果系统没有安装IP链软件包,可以通过光盘或从网上下载软件包来安装。

  如果是rpm包,使用如下命令安装:

  #rpm -ivh *.rpm

  如果是.tar.gz包,则先需要将压缩包解压:

  #tar xvfz *.tar.gz

  然后再到解压后所在目录执行如下命令完成安装:

  #./configure

  #make

  #make install

  这样就将IP链防火墙成功安装在系统中。成功安装Ipchains后,接下来就是启动并配置包过滤规则。启用Ipchains需要完成如下操作:

  ◆ 手工修改/proc/sys/net/ipv4/ipforward文件,将其内容置为1。

  ◆ 在/etc/rc.d/目录下用touch命令建立rc.ipfwadm文件。

  ◆ 在/etc/rc.d目录下的rc.local文件中加上下面这段代码:

  if [-f /etc/rc.ipfwadm];then /etc/rc.d/rc.ipfwadm;fi;

  这使得以后所有Ipchains的配置命令都将在rc.ipfwadm文件里修改。

  和IPFW一样,Ipchains也是基于配置策略进行包过滤的。使用的策略方式也是两种:

  (1)首先允许所有的包都可通过,然后禁止有危险的包;

  (2)首先禁止所有的包,然后再根据所需要的服务允许特定的包通过。

  Iptables

  Iptables是一个管理内核包过滤的工具,可以加入、插入或删除核心包过滤表格中的规则。实际上真正来执行这些过滤规则的是Netfilter 。Netfilter是Linux核心中一个通用架构,它提供一系列的表(tables),每个表由若干链(chains)组成,而每条链中可以由一条或数条规则(rule)组成。

  

  

  

  图 Netfilter的总体结构

  相对于2.2内核提供的IP链来说,2.4内核提供了更好的灵活性和可扩展性。2.4内核中的防火墙并不是2.2内核的简单增强,而是一次完全的重新实现,2.4内核提供的防火墙软件包在结构上发生了非常大的变化。与IP链相比,2.4内核提供的Iptables的检测点变成了5个,并在每个检测点上登记需要处理的函数,登记通过nf-register-hook()函数保存在全局变量nf-hook中来实现。当包到达此检测点时,实现登记的函数按照事先定义好的优先级别来执行。相对于2.2内核提供的IP链来说,Iptables实现的不仅仅是包过滤功能,而是通过Netfilter实现一整套框架结构,在这个框架之上实现包过滤、NAT等模块功能,从而提供更好的可扩展性和灵活性。

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

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

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