防火墙是计算机抵御网络入侵的第一道防线。为确保您的安全,请下载我们的备忘单。适当的防火墙是您的计算机抵御网络入侵的第一道防线。当您在家上网时,通常互联网服务提供商会在路由器中设置防火墙。当您出门在外时,计算机上的防火墙是唯一的一层,因此在Linux计算机上配置和控制防火墙非常重要。如果您维护Linux服务器,了解如何管理您的防火墙也很重要,只有了解这些知识才能保护您的服务器免受本地或远程非法流量的侵害。安装防火墙许多Linux发行版已经带有防火墙,通常是iptables。它功能强大且可自定义,但配置起来有点复杂。幸运的是,一些开发人员已经编写了一些前端程序来帮助用户控制防火墙,而无需编写冗长的iptables规则。在Fedora、CentOS、RedHat等一些类似的发行版上,默认安装的防火墙软件是firewalld,通过firewall-cmd命令进行配置和控制。在Debian和大多数其他发行版上,可以从您的存储库安装firewalld。Ubuntu自带一个简单的防火墙UncomplicatedFirewall(ufw),所以要使用firewalld,你必须启用universe软件仓库:$sudoadd-apt-repositoryuniverse$sudoaptinstallfirewalld你还需要禁用ufw:$sudosystemctldisableufw没有理由不使用ufw。它是一个强大的防火墙前端。但是,本文主要关注firewalld,因为大多数发行版都支持它,并且它已集成到几乎所有发行版都附带的systemd中。无论你的发行版是什么,防火墙都必须被激活才能工作,并且需要在启动时加载它:$sudosystemctlenable--nowfirewalld了解防火墙的域Firewalld旨在使防火墙配置尽可能简单。它通过建立域区域来做到这一点。域是一组合理的、通用的规则,可以满足大多数用户的日常需求。默认情况下有九个域。可信:接受所有连接。这是最不偏执的防火墙设置,只应在完全受信任的环境中使用,例如测试实验室或网络上的每个人都相互认识的家庭网络。家庭、工作、内部:在这三个域中,大多数传入连接都被接受。他们每个人都排除了来自预计不活跃的端口的流量。这三者都适合在家庭环境中使用,因为在家庭环境中不会有不确定端口的网络流量,并且您通常可以信任家庭网络中的其他用户。public:用于公共场所。这是一个偏执的设置,当您不信任网络上的其他计算机时使用。只接受选定的常见和最安全的传入连接。dmz:DMZ代表非军事区。此域主要用于可公开访问、位于组织外部网络并且对内部网络具有有限访问权限的计算机。对于个人电脑来说,它没什么用,但对于某些类型的服务器来说,这是一个重要的选择。external:对于外部网络,将启用伪装(将您的私有网络地址映射到外部网络IP地址并隐藏)。与DMZ类似,仅接受选定的传入连接,包括SSH。block:只接受本系统发起的网络连接。收到的任何网络连接都将被icmp-host-prohibited消息拒绝。这是一个非常偏执的设置,对于不受信任或不安全的环境中的某些类型的服务器或个人计算机很重要。drop:丢弃所有收到的网络数据包,不做任何回复。只能有传出网络连接。比这个设置更极端的解决办法是关闭WiFi并拔掉网线。您可以查看您的分发的所有域,或通过配置文件/usr/lib/firewalld/zones查看管理员设置。例如:下面是Fefora31自带的FedoraWorkstation域:$cat/usr/lib/firewalld/zones/FedoraWorkstation.xml
