OpenBSD下基于CARP协议的负载均衡防火墙研究.docVIP

  • 5
  • 0
  • 约7.33千字
  • 约 6页
  • 2020-04-09 发布于广东
  • 举报

OpenBSD下基于CARP协议的负载均衡防火墙研究.doc

OpenBSD下基于CARP协议的负载均衡防火墙研究 董忠 尤良芳 (天水师范学院物理与信息科学学院,甘肃 天水741001) 摘 要:OpenBSD的安全性使其赢得了大量忠实的用户,尤其在网络路由、防火墙上的表现,被学 校大量作为防火墙(NAT)使用。木系统基T OpenBSD,利用CARP协议实现了防火墙之间的负载均衡,提 高了防火墙的可用性;在实验测试中运行良好、性能稳定。 关键字:CARP负载均衡防火墙OpenBSD 1引言 防火墙最基本的功能是确保网络流量的合法性,并在此前提下将网络的流量快速的从一 条链路转发到另外的链路上去;在内部网和外部网之间、专用网与公共网之I可的界血上构造 起保护屏障. 传统的单接入点防火墙因为数据包处理速度跟不上带宽的增长要求,己经成为网络发 展的瓶颈,为了防止其影响网络的性能,网络管理员通常只进行基本的过滤规则配置,远没 有达到必要的网络安全级别要求而具有高性能数据包处理能力的、釆用专用集成电路或 网络处理器实现的先进防火墙设备,英昂贵的价格很难被一般企事业单位接受.搭建基于开 源软件的防火墙集群可以显著提高网络数据处理能力,不仅能有效的解决防火墙瓶颈问题, 而且能降低运行成本,提高检测效率,并且具有良好的扩展性。⑴⑵ OpenBSD项目致力于开发一个免费,基于4.4BSD的多平台,与UNIX兼容的操作系 统。关注系统本身的可移植性,正确性,前瞻的安全性,标准化和完整的加密技术。随着 Internet的高速发展,安全问题日益突出,OpenBSD的安全性使其赢得了大量忠实的用户。 尤其在网络路由、防火墙上的表现,被学校大量作为防火墙(NAT)使用。本系统基于 OpenBSD,利用CARP协议实现了防火墙之间的负载均衡,提高了防火墙的可用性。在实 际应用屮性能良好。 2系统结构 图1:负载均衡防火墙系统结构图 如图1所示,作为负载均衡防火墙的主机1(简称fwl)和主机2(简称fw2)操作系统均为 OpenBSD4.9,防火墙软件使用系统自带的PF。每台主机含三块网卡,英中fwl:em0和 fw2:em0两块网卡共享地址00与外网相连;fwl:em2和fw2:em2两块网卡共享 作者简介潼忠(1967.2),男,夭水师范学院物理L信息学院副教授?从事网络安全及开源软件方面的研究 地址00与内网核心交换机相连,该ip为内网的网关地址;fwkeml和fw2:cml直 接用交叉线相连,ip地址分别为10.10.10」和用于两台主机实时交换PF状态表。 3关键技术和主要协议 PF PF(Packet Filter)是OpenBSD系统自带的功能完善的防火墙软件,用來过滤TCP/IP通 讯和进行网络地址转换。因其优异的包转发性能和流控方面的表现,已被移植到FreeBSD 系统屮;第一个将PF集成到基本系统中的版本是2004年11月发行的FreeBSD5.3o l3J pfsync pfsync是一个伪网络接口,用于反映pf状态表的实时变化,它可以向网络上的其它设 备发送或接收pf状态表的变化情况。 如果配置与物理接口同步,pfsync可完成以下两样工作: 将本机pf状态表的改变发送到该物理接口 ; 从该物理接口接收网络上其它系统发来对方pf状态改变信息,插入本机的的pf状态 表中; 默认情况下,pfsynx使用IP组播数据包将状态变化信息发送到同步化的接口上。这个 协议属于IP protocol 240,而使用的组播组是40。 配置pfsync,使用ifconfig命令,其格式如下: ifconfig pfsyncN syncdev syncdev [syncpeer syncpeer] 其中: pfsyncN , pfsync 接口的名。 syncdev ,用来发出pfsync更新的物理接口名。 syncpeer ,这个可选项指定了与Z交换pfsync更新的对方主机IP地址。默认情况下, 在本地网络上pfsync更新是组播。这个选项调整组播的行为,将其取代为用单播直接将更 新发送到指定的syncpeer。 CARP CARP(Common Address Redundancy Protocol)是一个实现系统冗余的协议,它主要的 功能有以下两条: 通过用多台计算机组成一个焜拟网络接口来实现系统冗余;即让一组主机(冗余组) 共享一个IP地址,在其中某台主机出现故障时,冗余组内的另一台主机可以马上接替它的 工作; 在系统间实现负载均衡,提高系统对网络数据的处理能力。 CARP数据包头定义在/sys/nctinct/ip_carp.h 111?其格式如下: struct carp_hcadcr { #if BYTE ORDER == LITTLE ENDIAN OBHB OHB u」nt carp_typc

文档评论(0)

1亿VIP精品文档

相关文档