一:设置防火墙的规则2

firewalld通过守护进程(usr/sbin/firewalld)、配置文件(usr/lib/firewalld、/etc/firewalld)、配置命令forewalld-cmd(/usr/sbin/firewalld-cmd)和GUI配置应用程序firewall-config(/use/sbin/firewall-config)来提供服务。
在firewalld服务中,有几种类型的典型配置模板具有不同的安全强度,称为区域。通过选择与要连接的网络可靠性相匹配的区域完成设置,选择区域后,将自动进行适当的设置。此外,用户还可以通过向所选区域的设置中添加或删除服务来定制相匹配的设置区域。区域说明如下表所示:

区域

说明

允许的连接

drop

丢弃所有的外部包数据,不返回ICMP消息

仅内部到外部的连接

block

拒绝所有传入的连接,返回ICMP消息

从内部启动的连接允许双向

public

公公场所

ssh、dhcpv6-client

external

对于外部网络,启用伪装

ssh

dmz

用于DMZ

ssh

work

对于工作域

ssh、dhcpv6-client、ipp-client

home

家用

ssh、dhcpv6-client、ipp-client、mdns、samba-client

internal

对于内部网络

ssh、dhcpv6-client、ipp-client、mdns、samba-client

trust

允许所有网络连接

所有网络链接

根据firewall-cmd命令选择添加或者删除区域服务。设置分为两种情况:一种是不写入配置文件的运行设置,另一种是写入配置文件的永久设置。如果要设置永久生效,在firewall-cmd命令中添加-permanent选项执行命令。

格式:firewall-cmd [选项]

该命令的选项及说明如下表所示:

选项

说明

--list-all-zone

显示所有区域及其配置信息的列表

--get-default-zone

显示默认区域

--zone=区域

执行命令时的指定区域

--list-services

显示区域中允许的服务

-add-service=服务名称

添加居于中允许的服务

--delete-service=服务名称

拒绝区域中允许的服务

--permanent

指定持久性

在CentOS中,以root权限执行命令。设置防火墙之前,检查防火墙的状态,看active(running)就表示防火墙是运行状态,如下图所示:(如未开启服务,可使用systemctl start firewalld.service)

                                            防火墙的限制规则2(Linux)_cmd命令

执行firewall-cmd命令指定--list-all-aone选项,显示所有区域及其设置信息列表,如下图所示。

                                            防火墙的限制规则2(Linux)_Ubuntu_02

显示所有区域和允许的服务,如下图所示。指定--list-all-zone选项显示所有的区域,然后通过管道命令和grep命令显示区域中的服务。

                                            防火墙的限制规则2(Linux)_Ubuntu_03

指定选项--zone的值为public,显示公共区域允许的服务;指定选项--get-services显示已定义服务的列表,如下图所示。

                                            防火墙的限制规则2(Linux)_Ubuntu_04

指定--add-service选项添加http服务,指定--permanent选项指定永久允许在公共区域访问http服务,如下图所示。

                                            防火墙的限制规则2(Linux)_cmd命令_05

查看安装时的配置文件未更改(/usr/lib/firewalld/zones/public.xml),使用cat命令查看配置文件/etc/firewalld/zones/public.xml,显示http服务已经添加到该文件中,如下图所示:

<2>在Ubuntu中设置防火墙(由于电脑暂时没有用Ubuntu的虚拟机,所以不演示,以理论为主)

Ubuntu中默认提供ufw和iptable命令作为Netfilter配置应用程序。在不使用ufw的情况下使用firewalld,执行以下命令禁用ufw并启用firewalld:

ufw disable;systemctl reboot.
systemctl enable firewalld;systemctl start firewalld.  

ufw是一个易于使用的用户界面,用于简单地进行Netfilter配置,并且是复杂iptables命令地前端。

ufw [选项]

使用主要选项地ufw命令地语法格式如下:

使用ufw命令启用、禁用、重新加载设置:ufw [enable|disable|reload]

默认策略设置:ufw default [allow|deny|reject] [incoming|outgoing|routed]

重置为安全默认值:ufw reset

状态显示:ufw status [verbose|numbered]

通过指定规则号删除:ufw delete 规则编号