Linux ufw 命令详解

简介

UFW(Uncomplicated Firewall) 简单防火墙是一款基于 iptables 构建的、用于管理防火墙规则的用户友好型工具。它简化了在 Linux 系统上配置防火墙的过程。

安装

  • Ubuntu/Debian 上安装
shell 复制代码
sudo apt update
sudo apt install ufw
  • CentOS/Red Hat 上安装
shell 复制代码
sudo yum install epel-release
sudo yum install ufw

示例用法

查看当前 ufw 的状态
shell 复制代码
sudo ufw status
查看 ufw 的详细状态信息
shell 复制代码
sudo ufw status verbose
启用 ufw
shell 复制代码
sudo ufw enable
禁用 ufw
shell 复制代码
sudo ufw disable
允许指定的流量
shell 复制代码
sudo ufw allow <port/service>
允许 http 80端口
shell 复制代码
sudo ufw allow 80
允许 https 443端口
shell 复制代码
sudo ufw allow 443
允许 ssh 服务
shell 复制代码
sudo ufw allow ssh
拒绝流量
shell 复制代码
sudo ufw deny <port/service>
拒绝 FTP 21端口
shell 复制代码
sudo ufw deny 21
允许来自特定 IP 的流量
shell 复制代码
sudo ufw allow from <IP>

# 例如:
sudo ufw allow from 192.168.1.100
允许从特定 IP 到特定端口的流量
shell 复制代码
sudo ufw allow from <IP> to any port <port>

# 例如:
sudo ufw allow from 192.168.1.100 to any port 22
允许子网的流量
shell 复制代码
sudo ufw allow from <subnet>

# 例如:
sudo ufw allow from 192.168.1.0/24
移除指定的规则
shell 复制代码
sudo ufw delete allow <port/service>

# 例如:
sudo ufw delete allow 80
按编号删除规则

先用 sudo ufw status numbered 查看编号

再执行:

shell 复制代码
sudo ufw delete <rule_number>

# 例如:
sudo ufw delete 3
启用 ufw 日志

日志记录在 /var/log/ufw.log 文件

shell 复制代码
sudo ufw logging on
设置日志级别

可用的日志级别有:low, medium, high, full

shell 复制代码
sudo ufw logging medium
禁用 ufw 日志
shell 复制代码
sudo ufw logging off
限制 ssh 连接尝试次数
shell 复制代码
sudo ufw limit ssh
向发送者发送拒绝响应
shell 复制代码
sudo ufw reject <port/service>

# 例如:
sudo ufw reject 8081
启用 IPv6 支持

编辑 ufw 配置文件:/etc/ufw/ufw.conf,添加如下行:

ini 复制代码
IPV6=yes
重置 ufw 为默认设置

将禁用 ufw,删除所有规则并重置为默认配置。

shell 复制代码
sudo ufw reset
列出可用的应用程序配置文件
shell 复制代码
sudo ufw app list
允许一个应用的流量
shell 复制代码
sudo ufw allow <app_name>

# 例如:
sudo ufw allow nginx
显示应用流量配置详情
shell 复制代码
sudo ufw app info <app_name>

# 例如:
sudo ufw app info nginx
允许 MySql 3306端口
shell 复制代码
sudo ufw allow from 192.168.1.0/24 to any port 3306
允许范围端口
shell 复制代码
sudo ufw allow 6000:6007/tcp
sudo ufw allow 6000:6007/udp
相关推荐
敖云岚20 分钟前
【Linux】基于虚拟机实现网络的管理
linux·服务器·网络
luck_me526 分钟前
如何远程执行脚本不留痕迹
linux·运维·服务器
-SGlow-32 分钟前
Linux相关概念和易错知识点(40)(HTML资源交互、网页管理、搜索引擎)
linux·运维·服务器·网络·html·交互
默心38 分钟前
centos7部署mysql5.7
linux·运维·mysql·centos
-SGlow-1 小时前
Linux相关概念和易错知识点(39)(URL、HTTP)
linux·运维·http
因缘而起11 小时前
【Linux】gcc从源码编译安装,修改源码,验证修改的源码
linux·运维·服务器
Luck_ff08101 小时前
服务器选购指南:从零开始了解服务器
运维·服务器
purpleseashell_Lili2 小时前
react 基本写法
java·服务器·前端
山川而川-R2 小时前
开机自启动python程序_ubuntu22.04
linux·运维·服务器
haven-8522 小时前
win11安装Joplin Server私有化部署(docker)
运维·docker·容器