本文共 3347 字,大约阅读时间需要 11 分钟。
linux防火墙
明智的防火墙是您的计算机抵御网络入侵的第一道防线。 当您在家时,您可能位于互联网服务提供商提供的路由器内置的防火墙后面。 但是,当您出门在外时,唯一的防火墙就是计算机上运行的防火墙,因此在Linux计算机上配置和控制防火墙很重要。 如果您运行的是Linux服务器,那么了解如何管理防火墙也同样重要,这样您就可以在本地和远程保护防火墙免受有害流量的侵害。
许多Linux发行版附带了已安装的防火墙,传统上是iptables 。 它非常有效且可自定义,但配置起来可能很复杂。 幸运的是,开发人员已经产生了一些前端,可以帮助用户控制防火墙而无需编写冗长的iptables规则。
在Fedora,CentOS,Red Hat和类似的发行版上,默认安装的防火墙软件是firewalld ,它是由firewall-cmd命令配置和控制的。 在Debian和大多数其他发行版中,firewalld可从您的软件存储库安装。 Ubuntu附带了Uncomplicated Firewall(ufw),因此要使用firewalld,必须启用Universe存储库:
$ sudo add-apt-repository universe $ sudo apt install firewalld
您还必须停用ufw:
$ sudo systemctl disable ufw
没有理由不使用ufw。 这是一个出色的防火墙前端。 但是,由于防火墙防火墙的广泛可用性和与systemd的集成,因此本文重点介绍了firewalld,几乎所有发行版都随附该防火墙。
无论采用哪种发行版,为了使防火墙有效,它必须处于活动状态,并且应在引导时加载:
$ sudo systemctl enable --now firewalld
Firewalld旨在使防火墙配置尽可能简单。 它通过建立区域来做到这一点。 区域是一组适合大多数用户日常需求的明智的通用规则。 默认情况下有九个:
通过查看/ usr / lib / firewalld / zones中的配置文件,可以了解每个区域以及由发行版或sysadmin定义的任何其他区域 。 例如,这是Fedora 31附带的FedoraWorkstation区域:
$ cat / usr / lib / firewalld / zones / FedoraWorkstation.xml < ?xml version = "1.0" encoding = "utf-8" ? > < zone > < short > Fedora Workstation < description > Unsolicited incoming network packets are rejected from port 1 to 1024 , except for select network services. Incoming packets that are related to outgoing network connections are accepted. Outgoing network connections are allowed. < service name = "dhcpv6-client" /> < service name = "ssh" /> < service name = "samba-client" /> < port protocol = "udp" port = "1025-65535" /> < port protocol = "tcp" port = "1025-65535" />
您可以随时使用--get-active-zones选项查看您所在的区域 :
$ sudo firewall-cmd --get-active-zones
作为响应,您将收到活动区域的名称以及分配给它的网络接口。 在笔记本电脑上,这通常意味着您在默认区域中具有WiFi卡:
FedoraWorkstation interfaces: wlp61s0
要更改区域,请将网络接口重新分配给其他区域。 例如,要将示例wlp61s0卡更改为公共区域:
$ sudo firewall-cmd --change-interface =wlp61s0 \ --zone =public当您按下 Tab键时, firewall-cmd会自动完成,因此只要您记住关键字“更改”和“区域”,您就可以无意间通过该命令,直到通过内存学习该命令为止。
您可以使用防火墙做更多的事情,包括自定义现有区域,设置默认区域等等。 您使用的防火墙越舒适,您的在线活动就越安全,因此我们创建了以便快速轻松地参考。
翻译自:
linux防火墙
转载地址:http://riszd.baihongyu.com/