Linux UFW防火墙的基本命令用法
UFW 是一款简化的防火墙管理工具,设计用于简化基于 iptables 的防火墙规则的创建与管理。它是 Ubuntu 等基于 Debian 的系统中默认推荐的防火墙工具。UFW 提供了直观的命令行界面,让用户更容易配置和控制防火墙规则,而无需深入理解 iptables 的复杂语法。
特点:
- 简单易用:以更直观的命令格式管理防火墙规则。
- 默认规则:提供预配置的默认策略(如默认拒绝所有传入流量,允许所有传出流量)。
- 支持应用程序集成:可以根据应用程序的配置文件轻松设置规则。
- 灵活性:支持 IPv4 和 IPv6,支持复杂规则。
UFW 的基本命令用法
以下是常用的 UFW 命令及其说明:
1. 安装 UFW
在大多数系统中,UFW 默认已安装。如果未安装,可以通过以下命令安装:
sudo apt update
sudo apt install ufw
2. 启用与禁用防火墙
启用 UFW:
sudo ufw enable
启用后,默认的规则(如默认拒绝传入)会立即生效。
禁用 UFW:
sudo ufw disable
3. 查看防火墙状态
显示防火墙状态及已添加的规则:
sudo ufw status
显示详细信息:
sudo ufw status verbose
4. 设置默认规则
默认拒绝所有传入流量:
sudo ufw default deny incoming
默认允许所有传出流量:
sudo ufw default allow outgoing
5. 添加规则
允许特定端口:
sudo ufw allow <端口号>
例如,允许 22 端口流量:
sudo ufw allow 22
允许特定协议的端口:
sudo ufw allow <端口号>/<协议>
例如,只允许 TCP 端口 80:
sudo ufw allow 80/tcp
限制(Rate Limit)特定端口:防止暴力破解,每单位时间只允许有限的连接:
sudo ufw limit ssh
允许某个 IP 地址访问:
sudo ufw allow from <IP地址>
例如,允许 192.168.1.100 访问:
sudo ufw allow from 192.168.1.100
允许某个 IP 地址访问特定端口:
sudo ufw allow from <IP地址> to any port <端口号>
例如,允许 192.168.1.100 访问端口 3306:
sudo ufw allow from 192.168.1.100 to any port 3306
允许某个 IP 地址访问特定端口的指定协议:
sudo ufw allow from <IP地址> to any port <端口号> proto <协议>
例如,允许 192.168.1.100 访问端口 3306 的tcp协议:
sudo ufw allow from 192.168.1.100 to any port 3306 proto tcp
6. 删除规则
删除允许的规则:
sudo ufw delete allow <端口号>
删除特定规则:
sudo ufw delete <规则编号>
规则编号可以通过 sudo ufw status numbered
查看。
7. 高级规则
拒绝某个端口:
sudo ufw deny <端口号>
禁止某个 IP 地址:
sudo ufw deny from <IP地址>
禁止某个 IP 地址访问特定端口:
sudo ufw deny from <IP地址> to any port <端口号>
ufw
从上到下依次检查规则,确保较为具体的规则优先。如果前面允许了所有ip访问某端口,后面再禁止某ip,禁止不会生效。可以加上 insert
,例如:
ufw insert 1 deny from <IP地址>
这样就会将禁止该ip的规则插入规则编号第1的前面,成为规则编号第1。规则编号可以通过 sudo ufw status numbered
查看。
8. 重置 UFW
如果需要清除所有规则并恢复默认设置:
sudo ufw reset