防火墙
openSUSE 默认的防火墙是 Firewalld,它提供了一个动态管理的防火墙,支持网络/防火墙区域,以定义网络连接或接口的信任级别。Firewalld 支持 IPv4、IPv6 防火墙设置和以太网桥,并有运行时和永久配置选项的分离。它还支持服务或应用程序直接添加防火墙规则的接口。Firewalld 维护得很好,一些应用程序或库已经支持它。
这就是为什么决定用 firewalld 完全取代 SuSEFirewall2 并将 firewalld 作为 Leap 15.0 的默认配置的一些主要原因。
特色
- 可在 "同一屋檐下(under one roof)"处理IPv4、IPv6和网桥。
- 通过DBUS调用动态改变规则,并使用 policykit 认证,无需重新加载整个防火墙。
- 与 NetworkManager 完全集成
- 图形配置工具:firewall-config
- 命令行配置工具:firewall-cmd
文档
- 主要文档: http://www.firewalld.org/documentation/
- 图形化配置模块: http://www.firewalld.org/documentation/utilities/firewall-config.html
- 维基文档页面(Fedora Project): https://fedoraproject.org/wiki/FirewallD
- 本站相关词条:Firewall-cmd 简易使用指南
RPM 打包
如果你想把 firewalld 服务文件和你的RPM包一起运送,你可能需要参考 firewalld RPM 打包页面。
从 SuSEfirewall2 迁移
从一个防火墙解决方案迁移到另一个解决方案并不总是一个简单的过程,从 SuSEfirewall2 迁移到 firewalld 也不例外。然而,我们开发了一个简单的脚本来使这个迁移尽可能的顺利。根据您的设置,这个脚本可能只是做了正确的事情,然后就结束了,或者没有做任何有用的事情。这个软件包叫做susefirewall2-to-firewalld,你可以按照以下步骤使用它:
sudo zypper install susefirewall2-to-firewalld sudo susefirewall2-to-firewalld
在第一次运行之前,请查阅 README。脚本在GitHub上维护,所以错误和拉取请求应该在那里提交。
疑难解答
Firewalld 模块在 Tumbleweed 升级后无法启动
具体到升级从 SuSEfirewall2 过渡到 Firewalld 的 Tumbleweed 快照,新的防火墙系统可能不会立即激活。一种判断方法是启动Firewalld,界面无法连接到 Firewalld。
要激活 Firewalld 并禁用 SuSEfirewall2 ,打开 YaST 服务管理器并激活该服务。打开 YaST 控制中心或运行命令:
yast2-services-manager
找到 Firewalld ,启动并启用服务。
找到 SuSEfirewall2、SuSEfirewall2_init 和 SuSEfirewall2_setup,停止并禁用服务,选择确定完成。
您可能会看到一个对话框,警告您写入配置失败。选择 Continue Editing 来完成这个过程。
现在 Firewalld 模块应该可以正常运行了。
另见
外链
- 官方文档
- firewalld, Fedora Wiki
- 如何在CentOS 7上使用 FirewallD 设置防火墙?, DigitalOcean
- 了解 firewalld 多区配置, Linux Journal