13.2 firewall-config
图8-3 firewall-config的图形界面
除了图8-3中列出的功能,还有用于将网卡与区域绑定的Interfaces选项,以及用于将IP地址与区域绑定的Sources选项。另外再啰唆一句。在使用firewall-config工具配置完防火墙策略之后,无须进行二次确认,因为只要有修改内容,它就自动进行保存。
下面进行动手实践环节。
先将当前区域中请求http服务的流量设置为允许放行,但仅限当前生效。具体配置如图8-4所示。

图8-4 允许放行请求http服务的流量
尝试添加一条防火墙策略规则,使其放行访问8080~8088端口(TCP协议)的流量,并将其设置为永久生效,以达到系统重启后防火墙策略依然生效的目的。在按照图8-5所示的界面配置完毕之后,还需要在Options菜单中单击Reload Firewalld命令,让配置的防火墙策略立即生效(见图8-6)。这与在命令行中使用--reload参数的效果一样。
前面在讲解firewall-config工具的功能时,曾经提到了SNAT(Source Network Address Translation,源网络地址转换)技术。SNAT是一种为了解决IP地址匮乏而设计的技术,它可以使得多个内网中的用户通过同一个外网IP接入Internet。该技术的应用非常广泛,甚至可以说我们每天都在使用,只不过没有察觉到罢了。比如,当通过家中的网关设备(无线路由器)访问本书配套站点www.linuxprobe.com时,就用到了SNAT技术。
图8-5 放行访问8080~8088端口的流量
图8-6 让配置的防火墙策略规则立即生效
大家可以看一下在网络中不使用SNAT技术(见图8-7)和使用SNAT技术(见图8-8)时的情况。在图8-7所示的局域网中有多台PC,如果网关服务器没有应用SNAT技术,则互联网中的网站服务器在收到PC的请求数据包,并回送响应数据包时,将无法在网络中找到这个私有网络的IP地址,所以PC也就收不到响应数据包了。在图8-8所示的局域网中,由于网关服务器应用了SNAT技术,所以互联网中的网站服务器会将响应数据包发给网关服务器,再由后者转发给局域网中的PC。

图8-7 没有使用SNAT技术的网络

图8-8 使用SNAT技术处理过的网络
使用iptables命令实现SNAT技术是一件很麻烦的事情,但是在firewall-config中却是小菜一碟了。用户只需按照图8-9进行配置,并选中Masquerade zone复选框,就自动开启了SNAT技术。
图8-9 开启防火墙的SNAT技术
为了让大家直观查看不同工具在实现相同功能时的区别,针对前面使用firewall-cmd配置的防火墙策略规则,这里使用firewall-config工具进行了重新演示:将本机888端口的流量转发到22端口,且要求当前和长期均有效,具体如图8-10和图8-11所示。
图8-10 配置本地的端口转发
图8-11 让防火墙效策略规则立即生效
用命令配置富规则可真辛苦,幸好我们现在有了图形用户界面的工具。让192.168.10.20主机访问本机的1234端口号,如图8-12所示。其中Element选项能够根据服务名称、端口号、协议等信息进行匹配;Source与Destination选项后的inverted复选框代表反选功能,将其选中则代表对已填写信息进行反选,即选中填写信息以外的主机地址;Log复选框在选中后,日志不仅会被记录到日志文件中,而且还可以在设置日志的级别(Level)后,再将日志记录到日志文件中,以方便后续的筛查。
图8-12 配置防火墙富规则策略
如果生产环境中的服务器有多块网卡在同时提供服务(这种情况很常见),则对内网和对外网提供服务的网卡要选择的防火墙策略区域也是不一样的。也就是说,可以把网卡与防火墙策略区域进行绑定(见图8-13和图8-14),这样就可以使用不同的防火墙区域策略,对源自不同网卡的流量进行有针对性的监控,效果会更好。
图8-13 把网卡与防火墙策略区域进行绑定
图8-14 网卡与策略区域绑定完成
firewall-config工具真的非常实用,很多原本复杂的长命令被图形化按钮替代,设置规则也简单明了,足以应对日常工作。