论文部分内容阅读
摘要:随着社会信息化程度的不断提高,计算机网络给社会带来了巨大的经济和社会效益,但是网络安全问题也不得不引起人们的高度重视。防火墙作为一种最有效的网络安全工具,成了信息安全最重要的一环,也得到了广大用户的广泛应用。本文对Linux操作系统推出的Netfi1ter包过滤防火墙架构和其内核原理做了概述,并对Linux防火墙的发展作了简要介绍。
关键词:Linux内核;防火墙;原理;应用
中图分类号:TP393.08 文献标识码:A文章编号:1007-9599 (2011)05-0000-01
Linux Kernel Firewall Netfi1ter's Principle and Application Analysis
Sun Wenqian
(Hechi Network Center,Hechi546300,China)
Abstract:With the improvement of social informatization, computer network brings to the society enormous economic and social benefits, but the problem of network security also had to arouse people's attention. Firewall as one of the most effective network security tools, became one of the most important information security rings, also obtained usercommunities' widely used. This paper introduced to Linux operating system Netfi1ter packets filtrating firewall architecture and its core principles do summarized, the development of Linux firewall briefly.
Keywords:Linux kernel;Firewall;Principle;Application
一、基于netfilter的Linux防火墙
随着Linux操作系统的逐渐壮大,其防火墙架构也在不断的发展,Linux2.4内核中,Netfi1ter作为一个管理内核包过滤的工具,已经能够更好地重新构造其模块结构,并实现了诸如完整的动态NAT、基于MAC地址过滤等新的功能。Netfi1ter核心部分提供了一个分析和处置数据包的架构,但是Netfilter核心部分代码并不具体的去分析和处置数据包的设计思想,而是生成一个使之能够容易扩展模块结构,这样当新的特性加入到内核中时就不需要重新启动内核了,直接通过简单构造一个内核模块来处理网络新特性中扩展的部分,使更多从事网络底层研发人员能够集中精力处理方案中新的网络特性,为底层网络特性扩展带来了极大便利。
二、配置Netfi1ter防火墙
Netfi1ter是Linux2.4.x和2.6.x版本内核提供的防火墙框架,是由一个新型的分析和处理特定协议的数据包框架组成,它主要包含三部分内容:(一)Netfi1ter为每种网络协议定义了能够在当数据包流过协议栈的几个关键点时调用Netfi1ter框架一套钩子函数。(二)内核的任何模块可以通过对每种协议的若干个钩子函数进行注册进而实现它们之间的挂接,之后当某个数据包被传递给Netfilter框架时,内核便能检测模块对该协议和钩子函数是否进行注册,若注册,则调用该模块注册时使用的回调函数。(三)排队的数据包被传递给用户空间并进一步进行处理。一个用户进程不仅能检查数据包,而且可以将该数据包通过内核的一个钩子函数注入到内核中。
三、Linux防火墙的发展
从Linux防火墙的发展开始,每一个主要的版本中都有不同的防火墙软件, Linux的1.1版本系统就已经具有包过滤功能了,随着Linux内核版本的不断升级,Linux下的包过滤系统经历了如下三个阶段:
(一)在2.0内核中,采用ipfwadm来操作内核的包过滤,它提供包过滤、地址伪装、透明代理等基本功能。
(二)在2.2的内核中,采用ipchains来控制内核包过滤规则,但是随着技术的不断进步,它的缺陷也逐渐暴露了出来:a.处理数据包的方式复杂,不能够区分数据包是以该主机为目的地还是通过该主机中转;b.不能提供传递数据包到用户空间的接口,处理数据包的代码都必须在复杂的内核中进行;c.它的系统没有开放性结构,用户不能直接扩展它的功能。
(三)针对ipfwadm和ipchains中存在的缺陷,在2.4内核中,采用一个全新、抽象、通用化的内核包过滤管理工具Netfi1ter。它使用户可以完全控制防火墙配置和数据包过滤,根据自己特定的需求来配置防火墙。另外,Netfi1ter功能和性能上都要比以前任何版本的Linux内核防火墙系统完善、高效、灵活,因为Netfi1ter和IP报文的处理是结合在一起的,但是由于他们的结构又相对独立,故在需要的时候可以完全剥离。实际上,用Netfi1ter建立防火墙就是用户通过Iptables,设置自己的规则对进出计算机的数据包进行过滤,做出访问控制,进而来把守自己的计算机网络。
参考文献:
[1]李健,王玲,李俊.基于Linux内核Netfi1te框架的P2P管理[J].计算机工程,2007,33(12):71-75
[2]熊忠阳,张逢贵,张玉芳.Linux下基于Netfi1ter个人内核防火墙的设计与实现[J].计算机应用,2009,29:95-99
[3]博嘉科技.Linux防火墙技术探秘[M].北京:国防工业出版社,2002
[4]王宏健,邵佩英,张籍.基于L~内核防火墙Netfi1ter的安全应用的设计方法[J].小型微型计算机系统,2001,22(12):15-17
[作者简介]孙文乾(1966.11-)男;汉族;广西凤山人;研究方向:计算机网络技术。
关键词:Linux内核;防火墙;原理;应用
中图分类号:TP393.08 文献标识码:A文章编号:1007-9599 (2011)05-0000-01
Linux Kernel Firewall Netfi1ter's Principle and Application Analysis
Sun Wenqian
(Hechi Network Center,Hechi546300,China)
Abstract:With the improvement of social informatization, computer network brings to the society enormous economic and social benefits, but the problem of network security also had to arouse people's attention. Firewall as one of the most effective network security tools, became one of the most important information security rings, also obtained usercommunities' widely used. This paper introduced to Linux operating system Netfi1ter packets filtrating firewall architecture and its core principles do summarized, the development of Linux firewall briefly.
Keywords:Linux kernel;Firewall;Principle;Application
一、基于netfilter的Linux防火墙
随着Linux操作系统的逐渐壮大,其防火墙架构也在不断的发展,Linux2.4内核中,Netfi1ter作为一个管理内核包过滤的工具,已经能够更好地重新构造其模块结构,并实现了诸如完整的动态NAT、基于MAC地址过滤等新的功能。Netfi1ter核心部分提供了一个分析和处置数据包的架构,但是Netfilter核心部分代码并不具体的去分析和处置数据包的设计思想,而是生成一个使之能够容易扩展模块结构,这样当新的特性加入到内核中时就不需要重新启动内核了,直接通过简单构造一个内核模块来处理网络新特性中扩展的部分,使更多从事网络底层研发人员能够集中精力处理方案中新的网络特性,为底层网络特性扩展带来了极大便利。
二、配置Netfi1ter防火墙
Netfi1ter是Linux2.4.x和2.6.x版本内核提供的防火墙框架,是由一个新型的分析和处理特定协议的数据包框架组成,它主要包含三部分内容:(一)Netfi1ter为每种网络协议定义了能够在当数据包流过协议栈的几个关键点时调用Netfi1ter框架一套钩子函数。(二)内核的任何模块可以通过对每种协议的若干个钩子函数进行注册进而实现它们之间的挂接,之后当某个数据包被传递给Netfilter框架时,内核便能检测模块对该协议和钩子函数是否进行注册,若注册,则调用该模块注册时使用的回调函数。(三)排队的数据包被传递给用户空间并进一步进行处理。一个用户进程不仅能检查数据包,而且可以将该数据包通过内核的一个钩子函数注入到内核中。
三、Linux防火墙的发展
从Linux防火墙的发展开始,每一个主要的版本中都有不同的防火墙软件, Linux的1.1版本系统就已经具有包过滤功能了,随着Linux内核版本的不断升级,Linux下的包过滤系统经历了如下三个阶段:
(一)在2.0内核中,采用ipfwadm来操作内核的包过滤,它提供包过滤、地址伪装、透明代理等基本功能。
(二)在2.2的内核中,采用ipchains来控制内核包过滤规则,但是随着技术的不断进步,它的缺陷也逐渐暴露了出来:a.处理数据包的方式复杂,不能够区分数据包是以该主机为目的地还是通过该主机中转;b.不能提供传递数据包到用户空间的接口,处理数据包的代码都必须在复杂的内核中进行;c.它的系统没有开放性结构,用户不能直接扩展它的功能。
(三)针对ipfwadm和ipchains中存在的缺陷,在2.4内核中,采用一个全新、抽象、通用化的内核包过滤管理工具Netfi1ter。它使用户可以完全控制防火墙配置和数据包过滤,根据自己特定的需求来配置防火墙。另外,Netfi1ter功能和性能上都要比以前任何版本的Linux内核防火墙系统完善、高效、灵活,因为Netfi1ter和IP报文的处理是结合在一起的,但是由于他们的结构又相对独立,故在需要的时候可以完全剥离。实际上,用Netfi1ter建立防火墙就是用户通过Iptables,设置自己的规则对进出计算机的数据包进行过滤,做出访问控制,进而来把守自己的计算机网络。
参考文献:
[1]李健,王玲,李俊.基于Linux内核Netfi1te框架的P2P管理[J].计算机工程,2007,33(12):71-75
[2]熊忠阳,张逢贵,张玉芳.Linux下基于Netfi1ter个人内核防火墙的设计与实现[J].计算机应用,2009,29:95-99
[3]博嘉科技.Linux防火墙技术探秘[M].北京:国防工业出版社,2002
[4]王宏健,邵佩英,张籍.基于L~内核防火墙Netfi1ter的安全应用的设计方法[J].小型微型计算机系统,2001,22(12):15-17
[作者简介]孙文乾(1966.11-)男;汉族;广西凤山人;研究方向:计算机网络技术。