服务器 频道

OpenBSD高性能防火墙系统配置攻略

    【IT168 专稿】与其它BSD 和大多数Unix的特点不同,OpenBSD安装了一切功能, 但是禁用了绝对重要的服务。习惯于在Linux安装之后就拥有NFS、Telnet、Finger、FTP和其它功能的用户会发现,必须要具体地启用而不是禁用OpenBSD中的这些服务。OpenBSD采取的这种设计是防止这些功能被意外打开,从而造成潜在的安全突破。

    因为 OpenBSD 很小并且很安全,所以 OpenBSD 实现的最常见目标之一是用作防火墙。防火墙从底层对大多数安全单元进行操作,并且 OpenBSD 的包过滤实现是非常优秀的。Packet Filter (PF),OpenBSD 开发社区设计的开放源代码解决方案,它是 OpenBSD 所选择的方法。与 OpenBSD 软件的其他许多部分一样,这种方法非常成功,以至于其他的 BSD 变种纷纷将其移植到自己的分发版中。OpenBSD 配置为缺省安全,所以在设置坚如磐石的防火墙时,您无需关闭过多的服务。您需要启用第二个 Ethernet 接口,并根据需要配置 PF。

一、相关知识点

    1. pf
    pf是packet filter的缩写,中文翻译为包过滤(以下简称pf),它是openbsd系统上进行tcp/ 流量过滤和网络地址转换(nat)的软件系统。pf同样也能提供tcp/ip流量的整形和控制, 并且提供带宽控制和数据包优先级控制。硬件防火墙能完成的功能它几乎都能胜任,虽然一般只是用它来做nat,但绝不仅仅只能做nat。

    2 chap
    common access redundancy protocol, 或简称 carp 能够使多台主机共享同一 ip 地址。 在某些配置中,这样做可以提高可用性, 或实现负载均衡。carp 的作用之一是改善服务的可用性。将为三台主机提供故障转移服务,这三台服务器各自有独立的 ip 地址, 并提供完全一样的 web 内容。 三台机器以 dns 轮询的方式提供服务。用于故障转移的机器有两个 carp 接口,分别配置另外两台服务器的 ip 地址。当有服务器发生故障时, 这台机器会自动得到故障机的 ip 地址。 这样以来, 用户就完全感觉不到发生了故障。 故障转移的服务器提供的内容和服务,应与其为之提供热备份的服务器一致。Chap配置典型如下:
# sysctl -w net.inet.carp.allow=1 # ifconfig carp1 create # ifconfig carp1 vhid 1 pass mekmitasdigoat carpdev em0 \ advskew 100 10.0.0.1 netmask 255.255.255.0
     3 pysync
     两台防火墙之间通过pfsync协议来交换信息,一台防火墙以组播方式发送状态改变报文,对方接收到之后更新自己的状态表。配置典型如下:
    # ifconfig pfsync0 syncdev em1

    本文要实现的防火墙网络拓扑如图1 。


    图1 本文要实现的防火墙网络拓扑
0
相关文章