家庭网关中网关路由部分的实现

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

家庭网关中路由功能的软件实现技术研究与实现

Research and Implementation of the Routing

Software in Home Gateway

中山大学时瑞

摘要

家庭网关研发中的网关路由功能实现,存在多种技术选择。对于大型路由服务器,目前技术领域内流行的包括openwrt、ebox、zentyal等,但这些方案用在数字家庭领域有其不足之处。本文中采用基于Netfilter的Iptables架构,并在Netfilter基础上开发数字家庭应用程序模块和脚本语言程序,来完成网关路由的转发、防火墙设置等功能;同时,借助第三方的软件rp-pppoe来实现的外网接口的pppoe拨号上网功能,采用dhcp-serve实现对内网设备的DHCP动态分配地址功能;通过搭建Apache服务器,以及启用CGI机制,来实现通过网页对应用进程进行配置的功能,实现网页化的管理。

关键词:网关路由功能、Netfilter框架、CGI应用、管理界面

Abstract:

There are a variety of technology options to achieve the routing in the research and implementation of home gateway. For the large routing server, the current technology includes many popular softwares such as openwrt, ebox, zentyal and so on. But these softwares used in the field of digital home have a little inadequateness. This paper is discussed based on the Iptables of the Netfilter framework, and develop digital home application program modules and script programs with the Netfilter framework to complete the gateway route forwarding, firewall settings and other functions. And the same time, achieve the external network interface pppoe dial-up Internet access with third-party softwares such as rp-pppoe, and use dhcp-serve to achieve DHCP dynamic allocation address of the

Intranet. It will build web server, and be enable CGI mechanisms to achieve the application process management through the web page of configure.

Keywords: Routing, Netfilter,CGI Application,Web Management.

1引言

数字家庭网关中的路由功能,要求实现其将内网地址nat转换到外部网络并可以最终实现内部共享外部提供的网络接入口资源的功能。这种设备通过NAT 地址转换路由协议实现数据在接入网络和家庭网络不同网段的交换。

实现家庭路由种功能的设备有很多,而且技术上也已经相当成熟了,像华为、TP-Link、D-Link等厂商的产品市面上屡见不鲜,其大多使用的是openwrt系统或是其他ROS。但是,要使网关路由的软件模块集成于标准linux系统中,是本文要研究的内容。

2研究背景

标准型网关是一个三网融合的产品,是将有线电视、电话以及INTERNET中的数据信号全部调制到家庭局域以太网络上进行资源共享和数据交换。因此,网关路由模块的数据交换则必须适应于有线电视和电话的开发的基础操作系统。由于二者开发于linux操作系统下,因此,网关路由模块的功能则要实现于linux 开发环境下。

目前,这种带有网关路由功能以及其拓展功能的系统也有不少,常用的有ebox、zentyal等。

Ebox是一个基于ubuntu的小型Linux服务器,非常适合中小型企业作为网络服务器使用。操作界面简单,使用浏览器进行相关的设置。但是zentyal对于本网关路由并不十分合适,首先,其配置界面相比商业小型路由器来说,要复杂许多,虽然其功能是可模块化挂接的,但是,每个模块的设计都是按照企业级服务器的需求和性能来设计的,并不适合这种小型的家庭用户。如果,还要为其他两个服务预留管理接口的话,只有自定义的网关路由才能满足之一需求。

Zentyal是Ebox的一个升级版本,经过多次的实验配置,zentyal比ebox 更加复杂,功能更加强大,当然体积也就更加庞大。这就更不适合我们开发需求。

因此,我们提出借助于linux系统本身的框架或结构,来重新实现整个网关路由功能以及Web管理界面。

3技术基础

3.1 Netfilter架构

对于linux来说,netfilter架构是用于提供内核级网络数据包收发以及过滤处理的接口架构。基于netfilter架构上直接开发的防火墙或nat程序都是内核级的程序。上面所说的ebox以及zentyal其实在相关功能的实现上也都是直接或间接使用netfilter架构。

通俗的说,netfilter的架构就是在整个网络流程的若干位置放置了一些检测点(HOOK),而在每个检测点上登记了一些处理函数进行处理(如包过滤,NAT 等,甚至可以是用户自定义的功能)。IP层的五个HOOK点的位置如下图(图3.1)所示:

相关文档
最新文档