Linux ufw 命令详解
简介
UFW(Uncomplicated Firewall) 简单防火墙是一款基于 iptables 构建的、用于管理防火墙规则的用户友好型工具。它简化了在 Linux 系统上配置防火墙的过程。
安装
- 在 Ubuntu/Debian 上安装
sudo apt update
sudo apt install ufw
- 在 CentOS/Red Hat 上安装
sudo yum install epel-release
sudo yum install ufw
示例用法
查看当前ufw的状态
sudo ufw status
查看ufw的详细状态信息
sudo ufw status verbose
启用ufw
sudo ufw enable
禁用ufw
sudo ufw disable
允许指定的流量
sudo ufw allow <port/service>
允许http80端口
sudo ufw allow 80
允许https443端口
sudo ufw allow 443
允许ssh服务
sudo ufw allow ssh
拒绝流量
sudo ufw deny <port/service>
拒绝FTP21端口
sudo ufw deny 21
允许来自特定IP的流量
sudo ufw allow from <IP>
# 例如:
sudo ufw allow from 192.168.1.100
允许从特定IP到特定端口的流量
sudo ufw allow from <IP> to any port <port>
# 例如:
sudo ufw allow from 192.168.1.100 to any port 22
允许子网的流量
sudo ufw allow from <subnet>
# 例如:
sudo ufw allow from 192.168.1.0/24
移除指定的规则
sudo ufw delete allow <port/service>
# 例如:
sudo ufw delete allow 80
按编号删除规则
先用 sudo ufw status numbered 查看编号
再执行:
sudo ufw delete <rule_number>
# 例如:
sudo ufw delete 3
启用ufw日志
日志记录在 /var/log/ufw.log 文件
sudo ufw logging on
设置日志级别
可用的日志级别有:low, medium, high, full
sudo ufw logging medium
禁用ufw日志
sudo ufw logging off
限制ssh连接尝试次数
sudo ufw limit ssh
向发送者发送拒绝响应
sudo ufw reject <port/service>
# 例如:
sudo ufw reject 8081
启用IPv6支持
编辑 ufw 配置文件:/etc/ufw/ufw.conf,添加如下行:
IPV6=yes
重置ufw为默认设置
将禁用 ufw,删除所有规则并重置为默认配置。
sudo ufw reset
列出可用的应用程序配置文件
sudo ufw app list
允许一个应用的流量
sudo ufw allow <app_name>
# 例如:
sudo ufw allow nginx
显示应用流量配置详情
sudo ufw app info <app_name>
# 例如:
sudo ufw app info nginx
允许MySql3306端口
sudo ufw allow from 192.168.1.0/24 to any port 3306
允许范围端口
sudo ufw allow 6000:6007/tcp
sudo ufw allow 6000:6007/udp