我使用iptables多年,因为这是一个简单的解决scheme,没有任何魔法。 但是现在我正在为自己构build一个路由器,我发现Shorewall提供了许多有用的function。
是否有可能在同一时间使用iptables和Shorewall? 我知道Shorewall只是iptables的前端。 但是我不知道是否会引起冲突。
此外,我需要阻止大量的地址,所以ipset是完美的解决scheme。 使用所有这三个防火墙是安全的吗?
如你所说 :
Shorewall只是iptables的前端
那么,在你看来,有什么可以是一个很好的理由使用两个?
此外, ipsets可以使用纯iptables ,但Shorewall也支持ipsets : http : //www.shorewall.net/ipsets.html
所以,我会说:使用iptables 或 Shorewall (作为前端)。
两者都没有意义。
Shorewall和ipsets是完全互补的,shorewall就像上面说的正确pipe理iptables的前端工具。 Ipsets是一个更加高效的白名单/黑名单工具,所以他们可以一起工作,大部分都是系统pipe理员,我知道,推荐它。
需要注意的主要考虑因素是,为了使shorewall与ipsets一起工作,您的内核需要支持ipset匹配 (IPSET_MATCH)。 要检查您的服务器是否支持它,请运行:
$ shorewall show -f capabilities | grep IPSET_MATCH
你应该看到:
IPSET_MATCH=Yes
为了能够用ipset使用shorewall。 这个支持完全取决于你的内核和你的操作系统。
我的经验是,为了使它工作,我需要更新iptables和ipset包到最后的版本:
iptables v1.6.0 ipset v6.27, protocol version: 6
因为在那个版本中,ipset匹配的支持被包添加。 你可以阅读ipset的更新日志 。 但是你的内核可能已经支持它了。 由于这个软件包版本不在Jessie仓库中(至less在这个时候),我需要从testing版本库安装它,这不是最值得推荐的方法,但是它的工作非常完美。