如何将 iptables 规则加载到firewalld?

如何将 iptables 规则加载到firewalld?

我有一台正在运行的 Centos 6 服务器。它使用 iptables。我想迁移到 Centos 7。Centos 7 使用防火墙。
我的目标是下载 iptables 配置(规则)并应用于防火墙。我可以像这样下载 iptables 规则:

iptables-save

我不知道如何将iptables-save的输出应用到防火墙。我希望有自动化的方法。 问题:我如何将当前的 iptables 规则应用于 Firewalld?我不喜欢手动配置,因为可能有许多服务器具有大量 iptables 规则/配置。

答案1

RHEL 6 --> 7 是一个不错的起点迁移规划指南简而言之:

  • 如果您使用配置了 RHEL/CentOS 6 防火墙system-config-firewall,则可以使用该firewall-offline-cmd工具将配置从/etc/sysconfig/system-config-firewall迁移到 Firewalld 的默认区域。
  • 如果您使用任何其他方法来配置当前防火墙,据我所知,没有实际的迁移到firewalld,您的选择是:

答案2

在 SSH CentOS 6 中执行以下命令:

sudo iptables-save > iptables-export

cat iptables-export

scp iptables-export user@server_b_ip_address:/tmp

Firewalld 将其配置存储在/etc/firewalld该目录中,您可以找到各种配置文件:

  • firewalld.conf提供整体配置。
  • 目录中的文件zones为每个区域提供自定义的防火墙规则。
  • 目录中的文件services提供您定义的自定义服务。
  • 目录中的文件icmptypes提供您定义的自定义 icmptypes。

有一个匹配的目录结构,/usr/lib/firewalld其中提供了默认值对于区域、服务和 icmp 类型,以防您想从模板开始自定义,或者只是看看文件是什么样子。

主要服务(ftp、httpd 等)的防火墙配置位于/usr/lib/firewalld/services目录中。但仍可以在/etc/firewalld/services目录中添加新配置。此外,如果同一服务的两个位置都存在文件,则目录中的文件/etc/firewalld/services优先。

祝你未来的日子过得愉快,朋友!;-)

相关内容