我想为 Web 项目设置 Riak 集群。
但是,我想保护这个集群,以便只有我的 Web 服务器可以访问 Riak 集群。基本上,我将拥有一个或多个 Web 服务器和 4 个 Riak 服务器(在一个集群中)。
我想使用 Shorewall 或其他防火墙应用程序来保护 Web 服务器和 Riak 集群之间的通信,这样除了我自己的服务器之外,没有其他服务器可以访问集群。由于 Riak 在服务器端是完全开放的,这在我将服务器投入生产之前是必不可少的。
我想我将不得不:
我可以安装 Shorewall,但我不熟悉如何配置 shorewall 来执行上述操作。我将不胜感激。
如果您打算使用 Shorewall 作为只有一个接口的计算机上的防火墙,那么在我看来,这有点过分了。尽管如此,我还是喜欢使用 Shorewall 来完成这项任务。以下是一个简短的介绍,可以帮助您入门。
因此,我在这里假设仅使用单接口 IPv4 配置。IPv4 和 IPv6 版本的 shorewall 是独立但相似的软件包。
$ sudo apt-get install shorewall
Run Code Online (Sandbox Code Playgroud)
安装后,一切仍然被禁用。首先,让我们复制单个接口配置的示例。
$ sudo cp /usr/share/doc/shorewall/examples/one-interface/* /etc/shorewall
Run Code Online (Sandbox Code Playgroud)
然后我们来一一配置文件。
提示:*.annotated.gz
如果您愿意,请在配置文件中使用这些文件来添加更多注释。
zones
- 保留默认值。配置区域是强制性的,但由于它是单个接口,因此除了防火墙本身之外,它只包含一个区域 ( fw
): net
。interfaces
- 在那里配置您的单一接口。默认配置可能会很好,我只是删除,dhcp
因为我没有在我的服务器上运行 DHCP。policy
- 定义区域之间的流量策略。由于您的区域数量只有一个,这也很容易。默认情况下,禁止所有入站流量,允许所有出站流量。如果您愿意,请保留默认值。rules
- 您可以在此处配置已定义策略的例外情况。允许来自整个外部 IPv4 世界的入站 TCP 端口 1234 的简单示例如下:
ACCEPT net $FW tcp 1234
Run Code Online (Sandbox Code Playgroud)
考虑使用一些宏来帮助您的配置文件更具可读性,例如您可能无论如何都想设置的宏:
SSH(ACCEPT) net:1.2.3.4 $FW
Run Code Online (Sandbox Code Playgroud)
允许从 IP 地址进行 SSH 访问1.2.3.4
。
shorewall.conf
gunzip
- 通过ping 发送的文件来获取它shorewall.conf.gz
。检查IP_FORWARDING=Off
是否不执行任何转发,DISABLE_IPV6=Yes
如果不打算在计算机上配置 IPv6,请考虑进行设置。最后,设置STARTUP_ENABLED=Yes
.
在启动时间中也启用它/etc/default/shorewall
,设置startup=1
。
现在通过运行检查您当前的配置
$ shorewall check
Run Code Online (Sandbox Code Playgroud)
请在每次更改某些文件时以及实际重新启动 Shorewall 之前执行此操作。它可以防止出现语法错误时出现停机,因为它会在编译时抱怨语法错误。
如果一切顺利,您可以尝试实际启动:
$ sudo service shorewall start
Run Code Online (Sandbox Code Playgroud)
并随意检查结果iptables
:
$ sudo iptables -L -n -v
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
496 次 |
最近记录: |