使用ipchains进行Linux防火墙
您可以使用Linux内核的ipchains实用程序来设置经济高效的防火墙,它可以根据需要简单或复杂。
几乎每个人都知道Linux是出色的防火墙。无论将它与服务网页或FTP站点一起使用,还是作为内部LAN的独立前端使用,Linux都提供了构建防火墙以满足特定需求所必需的工具。
ipchains内置在Linux内核中,ipchains是拒绝,接受和路由系统中的数据包所需的基本防火墙实用程序。由于此实用程序和操作系统固有的低成本,Linux为LAN或Internet连接的公司提供了一种经济高效的防火墙选择。
防火墙类别
Linux内核为防火墙流量指定了三类过滤器。不同的规则适用于每种类型的流量,从而产生了一种用途极为广泛的防火墙。这些基本类别如下:
您还可以指定自己的规则(也称为 链条),这是对三个基本防火墙规则的扩展。
防火墙政策
这三个规则类别(以及您定义的任何其他规则)都具有默认策略。这些默认策略控制系统对到达防火墙的任何特定数据包的反应方式。您可以将标准策略用于任何给定的规则,也可以跳到另一个用户定义的规则以进行进一步处理。标准策略是:
构建规则链
ipchains实用程序以非常简单且非常灵活的方式构造规则链。对于任何链,您都可以指定多个必须匹配的选项才能处理链。这些选项包括:还可以使用其他选项来指定不同类型的传输控制协议(TCP)数据包的优先级。例如,给FTP数据包提供比Internet中继聊天(IRC)数据包更高的优先级;提供某些链的日志记录;并设置更详细的选项,详细说明数据包类型,大小等。
由于ipchains的多功能性和可用选项的数量,根据您的需求,构建防火墙可能非常简单,也可能非常复杂。一个简单的防火墙可以包含四个或五个ipchains命令。复杂的防火墙可以由数百个ipchains命令组成,这些命令可以锁定所有内容并根据需要打开特定的端口和服务。
由于构建良好的防火墙的复杂性,我强烈建议访问Linux防火墙设计工具包,网址为: www.linux-firewall-tools.com/linux/firewall。它提供了一个干净而全面的Web接口,您可以使用它在线设计防火墙,而不必知道如何使用ipchains。它还输出可以保存和使用的防火墙脚本。
样本防火墙脚本
一个非常简单的防火墙脚本可能看起来像这样:ipchains -A input -i eth0 -s 192.168.0.0/16 -j 拒绝 ipchains -A input -d 192.168.1.5 25 -j 接受 ipchains -A input -d 192.168.1.5.110 -j 接受 ipchains -A input -d 192.168.0.0/16 -syn -j 拒绝 |
该脚本只是将规则附加到输入规则链中。第一条规则说,任何冒充来自我们内部网络(192.168)的源地址到达外部接口的数据包都应该被丢弃,因为有人试图欺骗我们。接下来的两个规则说,任何发送到192.168.1.5的流量(我们的邮件服务器,提供SMTP(端口25)和POP3(端口110)服务)都应被接受。最终规则拒绝所有其他具有SYN位置1的入站TCP连接(这意味着它们正在尝试启动连接)。
结论
如您所见,无论是将ipchains用作Linux服务器的防火墙还是内部LAN的防火墙/路由器,ipchains都为Linux系统提供了强大的过滤功能。正确配置的防火墙可以为您的公司提供保护,这是非常宝贵的。 Linux提供了任何想设置防火墙的人都需要的灵活性和力量-只有Linux解决方案才具有成本效益。 //
文森特·丹恩 是一位来自加拿大埃德蒙顿的自雇Linux顾问和自由作家。自1997年中以来,他一直仅使用Linux。 Vincent坚定地相信Linux“革命”背后的哲学,并试图从他的著作中尽可能多地为Linux事业做出贡献。 Freezer Burn网站 为Linux Mandrake项目构建自定义RPM。