探索Shorewall防火墙配置和命令行选项

在我以前的文章中,我们看了看的shorewall,如何安装,设置配置文件,并在配置NAT端口转发。 在本文中,我们将探讨一些的shorewall的常见错误,一些解决方案,并初步了解其命令行选项。

Shorewall配置选项

  1. Shorewall - 用于配置Linux服务器的高级防火墙 - 第1部分

的shorewall提供内容广泛,可以在命令行中运行的命令阵列。 在看看男人的shorewall应该给你很多看到,但我们要执行的第一个任务是在我们的配置文件的检查。

$ sudo shorewall check

的shorewall会打印出所有配置文件中的检查,其中包含的选项。 输出将看起来像这样。

Determining Hosts in Zones...
Locating Actions Files...
Checking /usr/share/shorewall/action.Drop for chain Drop...
Checking /usr/share/shorewall/action.Broadcast for chain Broadcast...
Checking /usr/shrae/shorewall/action.Invalid for chain Invalid...
Checking /usr/share/shorewall/action.NotSyn for chain NotSyn..
Checking /usr/share/shorewall/action.Reject for chain Reject...
Checking /etc/shorewall/policy...
Adding Anti-smurf Rules
Adding rules for DHCP
Checking TCP Flags filtering...
Checking Kernel Route Filtering...
Checking Martian Logging...
Checking Accept Source Routing...
Checking MAC Filtration -- Phase 1...
Checking /etc/shorewall/rules...
Checking /usr/share/shorewall/action.Invalid for chain %Invalid...
Checking MAC Filtration -- Phase 2...
Applying Policies...
Checking /etc/shorewall/routestopped...
Shorewall configuration verified

我们正在寻找神奇的线是一个在底部,上面写着:“ 配置的shorewall验证 ”。 如果您收到任何错误,它们很可能是由于您的内核配置中缺少模块。

我将告诉你如何解决两个更常见的错误,但如果你打算使用你的机器作为防火墙,你需要重新编译你的内核与所有必要的模块。

第一个错误,也是最常见的,是关于NAT错误。

Processing /etc/shorewall/shorewall.conf...
Loading Modules...
Checking /etc/shorewall/zones...
Checking /etc/shorewall/interfaces...
Determining Hosts in Zones...
Locating Actions Files...
Checking /usr/share/shorewall/action.Drop for chain Drop...
Checking /usr/share/shorewall/action.Broadcast for chain Broadcast...
Checking /usr/shrae/shorewall/action.Invalid for chain Invalid...
Checking /usr/share/shorewall/action.NotSyn for chain NotSyn..
Checking /usr/share/shorewall/action.Reject for chain Reject...
Checking /etc/shorewall/policy...
Adding Anti-smurf Rules
Adding rules for DHCP
Checking TCP Flags filtering...
Checking Kernel Route Filtering...
Checking Martian Logging...
Checking Accept Source Routing...
Checking /etc/shorewall/masq...
ERROR: a non-empty masq file requires NAT in your kernel and iptables /etc/shorewall/masq (line 15)

如果您看到类似的东西这一点,机会是你的内核是不是支持NAT编译。 这与大多数现成的内核很常见。 请阅读我的教程“ 如何编译Debian内核 ”,让您开始。

通过检查产生的另一个常见的错误是关于iptables记录错误。

root@debian:/etc/shorewall# shorewall check
Checking...
Processing /etc/shorewall/params...
Processing /etc/shorewall/shorewall.conf
Loading Modules..
ERROR: Log level INFO requires LOG Target in your kernel and iptables

这也是东西,你可以编译成一个新的内核,但有一个快速修复它,如果你想使用ULOG。ULOG是从系统日志不同的日志机制。 这是很容易使用。

要设置此,您在所有在/ etc /的shorewall配置文件来改变的“ 信息 ”到“ULOG”每个实例。 以下命令可以为您执行此操作。

$ cd /etc/shorewall
$ sudo sed –i ‘s/info/ULOG/g’ *

在此之后,编辑/etc/shorewall/shorewall.conf文件并设置行。

LOGFILE=

您要将日志存储到的位置。 矿是/var/log/shorewall.log。

LOGFILE=/var/log/shorewall.log

运行“ 命令的shorewall检查 ”应该给你一个健康清洁提单。

Shorewall的命令行界面为系统管理员提供了许多方便的一线程。 一个经常使用的命令,特别是当对防火墙进行大量更改时,是保存当前配置状态,以便在有任何复杂情况时可以回滚。 这里的语法很简单。

$ sudo shorewall save <filename>

回滚也很简单:

$ sudo shorewall restore <filename>

Shorewall也可以启动和配置为使用备用配置目录。 你可以指定这是开始命令,但你会想要先检查它。

$ sudo shorewall check <config-directory>

如果你只是想试试配置,如果它是工作,启动它,你可以指定try选项。

$ sudo shorewall try <config-directory> [  ]

Shorewall只是Linux系统上可用的许多强大的防火墙解决方案之一。 无论你发现自己在网络频谱的什么端,许多人发现它是简单和有用的。

这只是一个小的开始,可以让你在你的方式,而不会深入到网络概念。 和往常一样,请研究并查看手册页和其他资源。 Shorewall的邮件列表是一个真棒的地方,是最新的和良好的维护。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏