当我处理configuration文件,尤其是邮件服务器的configuration文件时,我想暂时删除除端口22以外的所有传入stream量。因此,如果我需要将邮件服务器移动到另一个服务器, 或类似的东西。
使用shorewall,我该怎么做?
我正在考虑创build一个规则文件,将所有stream量转移到一个不存在的内部IP地址,并在需要时使用正常的文件进行切换。
你可以制作一个小脚本来停止shorewall并用不同的目录configuration重新启动它:
#shorewall停止
#shorewall start / etc / shorewall-temp
当你需要旧的configuration,我认为一个shorewall重新启动只是用默认参数重新启动。
我假设“internet”是NET,而你的内部机器是LOC。 适合您的岸墙需求的变化。
你说22号港口,谈论邮件。 我想假设你想放弃所有stream量,只允许SSHstream量。 不允许所有的MAILstream量?
使用DNAT转发stream量,在规则文件中。
DNAT net loc:192.168.0.3:22 tcp 22
这将stream量转发到防火墙($ FW)上的端口22(通常是SSH)到内部IP 192.168.0.3
如果您想放弃所有stream量,请在shorewall规则文件中执行此操作(规则的顺序很重要):
ACCEPT net loc:mailserver_ip tcp 22 REJECT net loc:mailserver_ip
当然,您需要将mailserver_ip交换到正确的IP。 其次,如果邮件服务器与shorewall位于同一台服务器上。 你应该用$ FW而不是loc:mailserver_ip来表示这个
我使用我的Watchguard防火墙做了一个类似的事情,就像Pierbuild议的那样:我保留2个configuration文件,一个是我的生产configuration文件,另外一个阻止所有传入服务,除了那些我在执行维护时继续进入的服务。 当我计划维护时,只需加载我的维护configuration,当我完成后,我加载生产configuration。