如何用老式奔腾机和Linux构建防火墙(组图)
时间:2018-05-08 20:49 来源:网络整理 作者:墨客科技 点击:次
老奔腾机完全可以胜任小型商业或家庭办公室的网络防火墙工作。ipchains 是Linux下的防火墙软件,其源码可以免费获得,并能够在老式奔腾机的 T-1 连网环境下工作。 老式奔腾机并不只是堵门搁脚的垃圾,它们仍可用来计算!实际上,一个装有 32MB 内存和200-400MB硬盘的的小机器就可以胜任小型办公网络防火墙的任务。Linux的紧凑版本只含有重要的系统应用程序,而没有图形用户接口和用户应用程序。安装了紧凑版本的Linux之后,您就可以漂亮地把老机器变成防火墙了。 完成这些只需要一个叫 ipchains 的公开源码的软件包,它是由 Paul "Rusty"Russell提供的。这个软件具备了许多商业防火墙产品的特征:允许自定义网络通信量的流向,及哪些访问者可以获准进出。 早期的 ipfwadm (IP Firewall Administration) 可以运行在 2.0.X 及更低的版本的Linux上。后来 ipchains 取代了 ipfwadm,且能工作在所有 2.1.x 和 2.2.x 版本的Linux下。随着内核升级,它还将升级到 2.3.x 下的netfilter或其他更高版本。这么频繁更新的原因在于,防火墙的数据包过滤是基于内核本身的,因此防火墙软件就必须亦步亦趋地紧随内核变动。本文讨论了ipchains是什么,它能做什么以及如何应用于不同场合。 Ipchains 和防火墙 ipchains 本质上是包过滤器。它检查到达网络接口的 IP 包,根据事先定义好的规则进行修改,然后再转发给其它接口。 每个 IP 包都含有报头(header),里面含有该包的目的地、及如何处理等控制信息(参见下图)。需要传送的数据则放在有效段(或称为包体)中。通常情况下,有效段可以包含更高一级的包。例如,一个TCP包就总是包含于 IP 包的有效段中,该 TCP 包拥有自己的报头和有效段。我们将会看到,ipchains 软件可以改变IP报头、TCP 报头、UDP 报头(未显示)和 ICMP 报头内的一些域值. 最简单的情况下,ipchains 只执行三种策略:接受、和拒绝。它能接受来自指定IP地址或网络的所有包,否决策略丢弃来自特定地方的所有包。拒绝策略则丢弃来自指定源头的包,并且通知该源头其请求的连接被拒绝. 有三类基本的链: 输入链、 正向链和输出链。输入和输出链分别处理对应于进入和流出接口的包的执行策略。正向链直接将通信量传送给另一机器(在其执行了输入链后)。这里的"另一"机器多数情况下是路由器。ipchains本身并不希望成为完全的路由引擎,所以它把包转交给本机上的真正的软件路由器或者另一节点上的硬件路由器。完整的ipchains引擎处理流程图如下所示: 防火墙是可以那些能够操纵输入数据流和选择可流出数据流的设备的通称。在执行过程中,它可能会改变输入或输入数据流的状态,以此隐藏机器的具体信息或防止非法入侵。 ipchains有两种运行方式:代理服务器和网络地址转换器。前者接收来自受防火墙保护的网络内部机器的数据流,使用用户定义的规则对其进行过滤处理,然后发送给外部网络。总之,内部哪些机器可以访问外部网络是由代理服务器控制的,反之亦然。 当您没有足够的网络地址,或者不愿对您的内部网络使用公共因特网址时,可以采用网络地址转换器 (NAT) 或是 IP屏蔽(Masqing)的方法。它能把内部私有的地址转换成合法的公共地址,即将多个内部地址映射成唯一的外部地址。这样就不能从外部网络上直接访问到内部网络的某个机器,从而达到保护内部机器的目的。 安装防火墙 把一台 linux 机器配置成防火墙不是那么容易的。您应该重新安装稳定的 Linux版本(即并非最新最强大的版本,可以试试2.2.12),而不是转变已有的Linux机器。在安装过程中,最好只安装那些最基本的系统组件。除非不得已的情况,一般不要安装网络服务器、NFS服务器或者编译程序等其他组件,甚至不能运行Telnet服务器。如果您必须通过网络登录到本机,那就安装"SSHSecureShell" (ssh) 远程登录系统吧。总之需要记住,防火墙永远不应该执行除了处理包和网络安全之外的任务。 您使用的 Linux 中可能附带着ipchains软件。如果您是偏执狂,可以在确认主要的Linux提供商已经认证其合格后,才使用该版本。 (责任编辑:admin) |