UFW(Uncomplicated Firewall)是 Ubuntu 系统中默认提供的一种简单易用的防火墙工具。它提供了一个友好的命令行界面,便于用户管理防火墙规则。本篇博客将带你了解如何使用 UFW,包括如何查看状态、开放和关闭端口、禁用防火墙等操作。
一、UFW 的基础知识
UFW 是基于 Linux 内核的 Netfilter 防火墙框架构建的,提供了简化的命令接口,适合不熟悉复杂 iptables 配置的用户。
安装与检查版本: 默认情况下,UFW 已在 Ubuntu 上安装,可以通过以下命令检查版本:
sudo ufw version
如果未安装,可以通过以下命令安装:
sudo apt update && sudo apt install ufw
二、UFW 的基本操作
1. 检查防火墙状态
查看当前防火墙是否启用:
sudo ufw status
输出结果可能为:
-
Status: inactive
表示防火墙未启用。 -
Status: active
表示防火墙已启用。
2. 启用防火墙
启用防火墙,激活所有已配置的规则:
sudo ufw enable
3. 禁用防火墙
如果需要临时关闭防火墙,可以运行:
sudo ufw disable
三、管理端口规则
1. 开放端口
-
开放单个端口,例如 22(SSH):
sudo ufw allow 22
-
开放指定协议的端口,例如 80(HTTP)仅允许 TCP:
sudo ufw allow 80/tcp
-
开放端口范围,例如 1000 到 2000:
sudo ufw allow 1000:2000/tcp
2. 关闭端口
删除之前开放的规则。例如,关闭 22 端口:
sudo ufw delete allow 22
如果是指定协议开放的端口,也需带上协议:
sudo ufw delete allow 80/tcp
3. 查看所有规则
列出当前所有的防火墙规则:
sudo ufw status numbered
4. 根据服务名称管理规则
UFW 支持通过服务名称来开放或关闭端口。例如,允许 HTTP 服务(默认端口 80):
sudo ufw allow http
关闭 HTTP 服务:
sudo ufw delete allow http
四、管理默认规则
UFW 默认会阻止所有的入站流量,允许所有的出站流量。
1. 查看默认规则
查看当前默认规则:
sudo ufw show raw
2. 设置默认规则
-
拒绝所有入站连接:
sudo ufw default deny incoming
-
允许所有出站连接:
sudo ufw default allow outgoing
五、重置与备份防火墙规则
1. 重置防火墙规则
如果你希望清除所有规则并恢复默认设置,可以运行:
sudo ufw reset
注意:这将禁用 UFW 并删除所有已设置的规则。
2. 备份防火墙规则
将当前规则保存到一个文件中:
sudo ufw status > ufw-backup.txt
稍后可参考该文件手动恢复规则。
六、常见问题与解决
-
如何允许某个 IP 地址访问?
sudo ufw allow from 192.168.1.100
-
如何仅允许特定 IP 地址访问某端口?
sudo ufw allow from 192.168.1.100 to any port 22
-
防火墙规则未生效怎么办? 检查防火墙是否启用:
sudo ufw enable
-
如何允许子网访问? 使用 CIDR 格式,例如允许
192.168.1.0/24
:sudo ufw allow from 192.168.1.0/24
七、总结
UFW 是 Ubuntu 系统中强大且易用的防火墙工具,适合大多数用户管理网络安全。通过本文介绍的操作,您可以轻松地配置入站和出站规则、开放和关闭端口、重置和备份防火墙设置等。如果需要更复杂的规则配置,也可以考虑直接使用 iptables
,但对于大多数场景,UFW 已经足够强大。
希望本文对您有所帮助,提升您的服务器安全性!