CentOS7 系统防火墙firewalld工具手册

2017-03-06  本文已影响1370人  国猫

0、前言

0.1 firewalld的动态防火墙

Firewalld提供了一个动态管理的防火墙,支持网络/区域来定义网络连接或接口的信任级别。它支持IPv4、IPv6防火墙设置和以太网网桥,并且具有运行时和永久配置选项的分离。它还支持服务或应用程序直接添加防火墙规则的接口。

旧的防火墙使用system-config-防火墙 / lokkit模型是静态的,每次更改都需要完全重新启动防火墙。这还包括卸载防火墙netfilter内核模块,并加载新配置所需的模块。模块的卸载破坏了状态防火墙和建立的连接。

防火墙守护程序在另外的层面动态管理防火墙并应用更改,而不需要重新启动整个防火墙。因此,不需要重新加载所有防火墙内核模块。但是使用防火墙守护程序需要使用该守护程序进行所有防火墙修改,以确保守护程序中的状态和内核中的防火墙保持同步。防火墙守护程序无法解析由 ip*tables 和 ebtables 命令行工具添加的防火墙规则。

守护程序通过D-BUS提供有关当前活动防火墙设置的信息,并通过使用PolicyKit身份验证方法的D-BUS接受更改。

Firewalld 的官方主页是 (www.firewalld.org)[www.firewalld.org]

0.2 守护进程

应用程序,守护程序和用户可以请求通过D-BUS启用防火墙功能。 功能可以是预定义的防火墙功能之一,如服务,端口和协议组合,端口/数据包转发,伪装或icmp阻止。 该功能可以启用一段时间,或者可以再次禁用。

使用所谓的直接接口,其他服务(例如libvirt)能够使用iptables参数和参数添加自己的规则。

netfilter防火墙帮助程序,例如用于amanda,ftp,samba和tftp服务,也由守护程序处理,只要它们是预定义服务的一部分。 加载附加助手不是当前界面的一部分。 对于某些帮助器,只有在模块处理的所有连接都关闭后才能卸载。 因此,连接跟踪信息在这里很重要,需要考虑。

0.3 静态防火墙(system-config-firewall/lokkit)

使用 system-config-firewall 和 lokkit 的静态防火墙模型实际上仍然可用并将继续提供,但却不能与“守护进程”同时使用。用户或者管理员可以决定使用哪一种方案。
在软件安装,初次启动或者是首次联网时,将会出现一个选择器。通过它你可以选择要使用的防火墙方案。其他的解决方案将保持完整,可以通过更换模式启用。
firewall daemon 独立于 system-config-firewall,但二者不能同时使用。


1. firewalld常用命令

> 前提,必须存在相关配置文件/usr/lib/firewalld/services/dns.xml
firewall-cmd --add-service=dns


2. 区域

所谓的 zone 就表示主机位于何种环境,需要设定哪些规则,在 firewalld 里共有 7 個zones
修改区域
vi /etc/firewalld/firewalld.conf 修改 DefaultZone=public

先決定主機要設定在哪个区域 zone >> 再进入相关 zone 配置文件设定规则 >>> 重新加载设定档生效配置 sudo firewall-cmd --reload

For use in public areas. You do not trust the other computers on the network to not harm your computer. Only selected incoming connections are accepted.

For use on external networks with masquerading enabled especially for routers. You do not trust the other computers on the network to not harm your computer. Only selected incoming connections are accepted.

For computers in your demilitarized zone that are publicly-accessible with limited access to your internal network. Only selected incoming connections are accepted.

For use in work areas. You mostly trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.

For use in home areas. You mostly trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.

For use on internal networks. You mostly trust the other computers on the networks to not harm your computer. Only selected incoming connections are accepted.

All network connections are accepted.

Any incoming network packets are dropped, there is no reply. Only outgoing network connections are possible.

Any incoming network connections are rejected with an icmp-host-prohibited message for IPv4 and icmp6-adm-prohibited for IPv6. Only network connections initiated from within the system are possible.


3. 配置文件

3.1. 配置文件路径(重启后生效)

3.2. 配置实例

3.2.1.例1 修改预设的zone 改为dmz

3.2.2.例2 开放sshd远程端口(默认22口)

<?xml version="1.0" encoding="utf-8"?>
<zone>
<short>Public</short>
<description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
<service name="ssh"/>
</zone>

3.2.3.例3 开放自己定义的服务与端口

<?xml version="1.0" encoding="utf-8"?>
<zone>
<short>Public</short>
<description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
<service name="shadowsocks"/>
</zone>

上一篇下一篇

猜你喜欢

热点阅读