云网牛站
所在位置:首页 > Linux安全 > 在Fedora Workstation系统中使用Firewall-cmd管理网络服务

在Fedora Workstation系统中使用Firewall-cmd管理网络服务

2020-05-11 16:30:54作者:叶云稿源:云网牛站

本文介绍在Fedora Workstation系统中使用Firewall-cmd管理网络服务的方法,将查看如何添加、删除和列出服务、协议和端口以阻止或允许它们。可先参考在Fedora的命令行中控制防火墙方面的内容,请阅读在Fedora系统中使用firewall-cmd更改防火墙设置一文。

在Fedora Workstation系统中使用Firewall-cmd管理网络服务

 

前言

首先,最好检查防火墙的状态,看看防火墙是否正在运行,如上面的参考文章,您可以通过使用状态选项(firewall-cmd –state)来执行此操作。

下一步是获取所需网络接口的区域,例如,我使用具有两个网络接口的桌面:代表我的实际网卡的物理接口(enp0s3)和由KVM等虚拟化软件使用的虚拟接口(virbr0),要查看哪些区域处于活动状态,请运行firewall-cmd –get-active-zones。

现在,您知道您感兴趣的区域,您可以使用firewall-cmd –info-zone=FedoraWorkstation列出该区域的规则。

 

阅读区信息

要显示特定区域的信息,请运行firewall-cmd –zone=ZoneName –list-all,或仅使用以下命令显示默认区域的信息:

[dan@localhost ~]$ firewall-cmd --list-all

FedoraWorkstation (active)

target: default

icmp-block-inversion: no

interfaces: enp0s3

sources:

services: dhcpv6-client mdns samba-client ssh

ports: 1025-65535/udp 1025-65535/tcp

protocols:

masquerade: no

forward-ports:

source-ports:

icmp-blocks:

rich rules:

现在,让我们研究输出信息,第一行显示以下信息适用于哪个区域以及当前是否正在使用该区域。

target,默认仅告诉我们这是默认区域,可以通过–set-default-zone=ZoneName和–get-default-zone进行设置或检索。

icmp-block-inversion,指示是否阻止ICMP请求,例如,如果计算机响应来自网络上其他计算机的ping请求,interfaces字段显示采用此区域的所有接口。

 

处理服务,端口和协议

现在专注于服务、端口和协议行,默认情况下,防火墙将阻止所有端口、服务和协议,只允许列出的。

在这种情况下,您可以看到允许的服务是非常基本的客户端服务,例如,访问网络上的共享文件夹(samba客户端),与DNS服务器通信或通过SSH(ssh服务)连接到计算机,您可以将服务视为与端口组合的协议,例如ssh服务使用SSH协议,并且按照惯例使用22端口,通过允许ssh服务,您实际上所做的就是允许传入的连接在默认22端口上使用ssh协议。

注意,根据经验法则,在名称中带有客户词的服务是指传出连接,即,您使用IP作为源进行的连接将传到外部,而与SSH服务相反,接受传入的连接(侦听来自您外部的连接)。

您可以在文件/etc/services中查找服务,例如,如果您想知道这些服务使用什么端口和协议:

[dan@localhost ~]$ cat /etc/services | grep ssh

ssh 22/tcp # The Secure Shell (SSH) Protocol

ssh 22/udp # The Secure Shell (SSH) Protocol

您可以看到SSH同时使用TCP和UDP端口22,此外,如果希望查看所有可用服务,只需使用firewall-cmd –get-services。

 

打开端口

如果要阻止端口、服务或协议,请确保在此处未列出所有操作,通过扩展,如果要允许服务,则需要将其添加到列表中。

假设您要打开5000端口以进行TCP连接,为此,请运行:

sudo firewall-cmd --zone=FedorwaWorkstation --permanent --add-port=5000/tcp

请注意,您需要指定规则适用的区域,添加规则时,还需要如上所述指定它是TCP还是UDP端口,永久参数将规则设置为即使系统重新启动后也可以保留。

再次查看您所在区域的信息:

[dan@localhost ~]$ firewall-cmd --list-all

FedoraWorkstation (active)

target: default

icmp-block-inversion: no

interfaces: enp0s3

sources:

services: dhcpv6-client mdns samba-client ssh

ports: 1025-65535/udp 1025-65535/tcp 5000/tcp

protocols:

masquerade: no

forward-ports:

source-ports:

icmp-blocks:

rich rules:

同样,如果您希望从列表中删除此端口,请运行:

sudo firewall-cmd --zone=FedorwaWorkstation --permanent --remove-port=5000/tcp

服务和协议也可以使用相同的删除(–remove-protocol、–remove-service)和添加(–add-protocol、–add-service)选项。

 

相关主题

在CentOS 8系统上配置和管理防火墙(Firewall)的方法

精选文章
热门文章