ufw 防火墙使用教程
ufw 防火墙使用教程
1. 什么是 ufw
UFW(Uncomplicated Firewall)是 Ubuntu 和其他基于 Debian 的 Linux 发行版上使用的一种简单易用的防火墙工具,树莓派上面常用的防火墙就是它了。它是 iptables 的前端,旨在通过简化 iptables 的复杂命令,帮助用户更轻松地管理防火墙规则。
2. ufw 的功能和作用
功能
- 简化防火墙配置管理
- 提供基本的防火墙功能,如允许或拒绝某些端口的流量
- 提供日志记录功能
- 支持 IPv4 和 IPv6
作用
- 保护系统免受未经授权的访问
- 控制入站和出站网络流量
- 通过定义规则集来管理哪些服务可以被访问
3. ufw 的安装
在大多数基于 Debian 的发行版上,UFW 默认已经安装。如果没有安装,可以使用以下命令进行安装:
sudo apt-get update
sudo apt-get install ufw
4. ufw 的基本操作命令
4.1 启用和禁用 ufw
-
启用 ufw:
sudo ufw enable
-
禁用 UFW:
sudo ufw disable
4.2 检查 ufw 状态
-
检查 ufw 状态及其规则:
sudo ufw status
-
获取详细状态信息:
sudo ufw status verbose
4.3 允许和拒绝连接
-
允许指定端口的连接:
sudo ufw allow [port_number]
例如,允许 SSH 连接(默认端口 22):
sudo ufw allow 22
-
拒绝指定端口的连接:
sudo ufw deny [port_number]
例如,拒绝 HTTP 连接(默认端口 80):
sudo ufw deny 80
4.4 删除规则
-
删除允许的规则:
sudo ufw delete allow [port_number]
-
删除拒绝的规则:
sudo ufw delete deny [port_number]
4.5 管理服务
UFW 允许使用服务名而不是端口号来管理规则。例如:
-
允许 OpenSSH 服务:
sudo ufw allow OpenSSH
-
拒绝 HTTP 服务:
sudo ufw deny http
4.6 允许和拒绝特定 IP 地址的连接
-
允许来自特定 IP 地址的连接:
sudo ufw allow from [ip_address]
例如,允许来自 192.168.1.100 的连接:
sudo ufw allow from 192.168.1.100
-
拒绝来自特定 IP 地址的连接:
sudo ufw deny from [ip_address]
例如,拒绝来自 192.168.1.100 的连接:
sudo ufw deny from 192.168.1.100
4.7 日志记录
-
启用日志记录:
sudo ufw logging on
-
禁用日志记录:
sudo ufw logging off
-
设置日志级别(可选值有:off, low, medium, high, full):
sudo ufw logging [level]
例如,将日志级别设置为 medium:
sudo ufw logging medium
4.8 重置 UFW
-
重置 UFW 将删除所有规则并禁用防火墙:
sudo ufw reset
5. 配置示例
以下是一个简单的 UFW 配置示例:
-
启用 UFW:
sudo ufw enable
-
允许 SSH 连接(确保你能通过 SSH 访问服务器,否则可能会锁定自己):
sudo ufw allow ssh
-
允许 HTTP 和 HTTPS 连接:
sudo ufw allow http sudo ufw allow https
-
检查 UFW 状态:
sudo ufw status
-
端口操作
允许 53 端口
$ sudo ufw allow 53
禁用 53 端口
$ sudo ufw delete allow 53
允许 80 端口
$ sudo ufw allow 80/tcp
禁用 80 端口
$ sudo ufw delete allow 80/tcp