将iptables配置导入防火墙生成器
作者:Mike Horn <mike [at] netcitadel [dot] com>
http://www.fwbuilder.org
防火墙构建器是防火墙配置和管理GUI,支持从单个应用程序配置各种防火墙。 支持的防火墙包括Linux iptables,BSD pf,Cisco ASA / PIX,Cisco路由器访问列表等等。 支持的平台的完整列表以及可下载的二进制软件包和软件代码可以在http://www.fwbuilder.org找到。
在最近发布的Firewall Builder V4.2中,导入现有iptables配置大大提高。 对象重复数据删除和扩展规则识别等功能使得使用Firewall Builder来管理iptables配置变得更加容易。
对于本教程,我们将从防火墙导入与下图所示相匹配的非常基本的iptables配置。
Firewall Builder以iptables-save格式导入iptables配置。 脚本iptables-save是标准iptables安装的一部分,应该存在于所有Linux发行版中。 通常这个脚本安装在/ sbin /中 。
当您运行此脚本时,它会将当前的iptables配置转储到stdout。 它直接从内核读取iptables规则,而不是从某些文件中读取,因此它转储的是现在正在工作的内容。 要将其导入Firewall Builder,请运行脚本将配置保存到文件中:
iptables-save > linux-1.conf
从下面的输出可以看到, linux-1.conf
iptables的配置示例很简单,只有少数过滤规则和一个nat规则。
# Completed on Mon Apr 11 21:23:33 2011
# Generated by iptables-save v1.4.4 on Mon Apr 11 21:23:33 2011
*filter
:INPUT DROP [145:17050]
:FORWARD DROP [0:0]
:OUTPUT DROP [1724:72408]
:LOGDROP - [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth1 -s 10.10.10.0/24 -d 10.10.10.1/32 -p tcp -m tcp --dport 22 -m state --state NEW -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -o eth0 -s 10.10.10.0/24 -p tcp -m tcp --dport 80 -m state --state NEW -j ACCEPT
-A FORWARD -o eth0 -s 10.10.10.0/24 -p tcp -m tcp --dport 443 -m state --state NEW -j ACCEPT
-A FORWARD -j LOGDROP
-A LOGDROP -j LOG
-A LOGDROP -j DROP
COMMIT
# Completed on Mon Apr 11 21:23:33 2011
# Generated by iptables-save v1.4.4 on Mon Apr 11 21:23:33 2011
*nat
:PREROUTING ACCEPT [165114:22904965]
:OUTPUT ACCEPT [20:1160]
:POSTROUTING ACCEPT [20:1160]
-A POSTROUTING -s 10.10.10.0/24 -o eth0 -j MASQUERADE
COMMIT
# Completed on Mon Apr 11 21:23:33 2011
如果您在与运行iptables的系统不同的系统上运行防火墙生成器,将文件linux-1.conf从防火墙复制到运行防火墙生成器的系统。
选择文件 - >导入防火墙
菜单项,启动导入向导。
单击浏览找到名为linux-1.conf
的文件。
单击继续按钮以转到导入过程的下一步。
下一个窗口显示将要导入的配置文件的预览以及Firewall Builder检测到的防火墙类型。
接下来,您需要输入防火墙的名称。 这是Firewall Builder在导入防火墙后引用的名称。 当单击提交按钮时,将读取配置数据。
默认情况下,防火墙生成器会尝试检测是否存在与对象树中现有项目匹配的规则中使用的项目(如IP地址)。 如果有匹配,则使用现有项目,如果没有匹配,则创建新对象。 可以通过取消选中“查找和使用现有对象”旁边的框来禁用此功能,这将导致为导入的规则中使用的evry项目创建的对象,无论它是否已存在于对象树中。
导入完成后,Firewall Builder将显示一个日志,显示导入过程中所采取的所有操作。 警告信息以蓝色字体显示,错误信息显示为红色。
该程序尝试按规则解释配置文件规则,并在Firewall Builder中重新创建等效的规则。 请注意,导入防火墙生成器的规则可能并不总是优化,因为防火墙生成器支持定义多个源和/或目标位置的功能,而不是iptables。
进度窗口显示警告和错误消息(如果有),以及显示在此过程中创建的网络和服务对象的某些诊断。
从导入过程日志可以看出,Firewall Builder检测到iptables配置中有规则允许通过防火墙进行相关和建立流量。 此行为可以通过防火墙生成器中的设置进行控制,因此将显示警告消息。
单击完成按钮完成防火墙导入。 接下来,我们将通过一些常见的进口后操作。