问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

在Ubuntu 24.04中启用、禁用、配置防火墙[初学者指南]

创作时间:
作者:
@小白创作中心

在Ubuntu 24.04中启用、禁用、配置防火墙[初学者指南]

引用
1
来源
1.
https://cn.linux-terminal.com/?p=8167

本文将向您介绍如何在Ubuntu 24.04中使用UFW(Uncomplicated Firewall)来启用、禁用和配置防火墙。UFW是一个用户友好的防火墙管理工具,特别适合初学者使用。

防火墙是一种网络安全系统,它监视传入和传出的网络流量,并根据预定义的安全规则决定是否允许或阻止特定流量。

Linux内核有Netfilter子系统,它被实现为数据包过滤器和防火墙。Iptables(以及nftables,iptables的后继者)是用户级命令行工具,用于通过添加/删除netfilter规则来配置防火墙。

iptables(和nftables)更加灵活,但对于初学者来说确实很难。UFW(简单防火墙),用户友好的iptables前端,就是我下面要讨论的。

在Ubuntu中启用防火墙

UFW通常预安装在Ubuntu桌面版和服务器版中,但默认情况下未启用。

以防万一,您可以打开终端(Ctrl+Alt+T)并运行命令来安装它:

sudo apt install ufw

如前所述,默认情况下通常不启用防火墙。要检查其状态,请使用命令:

sudo ufw status

它将向您显示“状态:处于活动状态”或“状态:活动状态”以及用户添加的规则。

注意:它支持在启用ufw之前添加规则。对于远程服务器,请先运行sudo ufw allowed ssh将ssh列入白名单,否则您将丢失SSH连接。如果正在使用非默认SSH端口(例如端口1234),请改用sudo ufw allowed 1234/tcp命令。

要启用防火墙,只需运行命令:

sudo ufw enable

如果命令成功完成,它应该输出“防火墙处于活动状态并在系统启动时启用”。

使用UFW配置防火墙

1. 检查状态并添加规则

如上所述,您可以通过运行以下命令来检查防火墙状态:

sudo ufw status

它将显示防火墙是否已激活。如果是,它还会显示所有用户添加的规则。

但是,要在防火墙未激活的情况下检查用户添加的规则,此命令可能会有所帮助:

sudo ufw show added

2. 配置UFW默认策略

默认防火墙策略允许任何传出流量,这意味着您可以从Ubuntu PC/服务器访问任何网站,使用apt、wget等命令在您的系统中安装/下载某些内容。

但是,传入默认情况下处于禁用状态。您需要添加自己的规则以允许外部系统连接到您的计算机。所有路由和转发也被禁用,如果您不将计算机用作路由器,则这是很好的默认设置。

要检查默认策略,请使用命令:

sudo ufw status verbose

如果要更改默认策略,例如拒绝传出,请使用命令:

sudo ufw default deny outgoing

之后,如果您想访问外部系统,则可以通过以下方式重新允许所有传出流量:

sudo ufw default allow outgoing

或者,手动为某些端口添加传出规则。例如,添加下面的防火墙规则以允许使用apt命令安装某些内容:

sudo ufw allow out 53/udp
sudo ufw allow out 80/tcp

完成后,您可以删除规则,以便再次拒绝所有传出:

sudo ufw delete allow out 53/udp
sudo ufw delete allow out 80/tcp

3. 添加UFW规则

正如上面提到的命令,您可以使用ufwallow命令允许传入(和/或传出)流量到特定端口,并使用ufwdeny命令拒绝流量。

例如,允许从任何位置传入端口80(tcp和udp),请使用命令:

sudo ufw allow 80

或者,仅允许udp传入端口53,使用命令:

sudo ufw allow 53/udp

更具体地说,您可以从哪里允许流量到达当前计算机上的某个端口。例如,以下命令将防火墙设置为允许192.168.0.0到192.168.0.255范围内的远程IP访问该主机的tcp端口22。

sudo ufw allow from 192.168.0.0/24 to any port 22 proto tcp

最后一条命令中的“any”表示本地主机中的任何网络接口。要在此主机中指定某个IP,例如192.168.0.100,则最后一个命令可以是:

sudo ufw allow from 192.168.0.0/24 to 192.168.0.100 port 22 proto tcp

如上所述,您还可以使用UFW命令中的服务名称来允许(或拒绝)某些流量。例如:

sudo ufw allow smtp

即使未安装该服务,此命令也将允许SMTP端口25。但是,它仅且始终会设置服务的默认端口(例如,ssh为22),即使在使用自定义端口时也是如此。

4. 删除UFW文件墙规则

要删除ufw规则,只需在ufw和allow(或deny)之间添加delete操作即可>)在您运行的最后一个命令中。

  • 首先,通过命令列出添加的规则:
sudo ufw show added
  • 然后,删除一条规则。例如,撤消allow 53/udp:
sudo ufw delete allow 53/udp

如果ufw处于激活状态,您可以列出所有添加的规则并附上行号,然后通过所需的号码删除:

  • 首先,显示ufw状态以及添加的带有数字的规则:
sudo ufw status numbered
  • 然后,通过以下方式删除第一条规则:
sudo ufw delete 1

5. 禁用IPv6

默认情况下,ufw防火墙规则适用于IPv6和IPv4。

如果您想在所有防火墙规则中排除IPv6,请通过命令编辑/etc/default/ufw文件:

sudo nano /etc/default/ufw

然后,将IPV6=yes更改为IPV6=no。最后,按Ctrl+S,然后按Ctrl+X退出。另外,运行sudo ufw reload来应用更改。

或者,在规则中指定IPv4地址。例如:

ufw allow to 0.0.0.0/0 port 80 proto tcp

此规则将允许从任何地方通过所有ipv4接口到达该主机上的端口80/tcp的流量。

禁用防火墙

要禁用防火墙,只需运行:

sudo ufw disable

它将显示“系统启动时防火墙已停止并禁用”。然而,所有用户添加的规则仍然保留在那里,尽管不起作用。

对于选择,您可以通过命令重置ufw

sudo ufw reset

这将禁用防火墙(如果启用),然后将所有规则重置为安装的默认值。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号