Linux ufw命令丨Linux网络防火墙ufw命令详解

ufw(Uncomplicated Firewall)是Ubuntu系统上默认的防火墙组件,它为轻量化配置iptables而开发,提供了一个非常友好的界面用于创建基于IPv4和IPv6的防火墙规则

ufw在Ubuntu 8.04 LTS后的所有发行版中默认可用,它通过命令行使用,目的是使防火墙配置简单(即不复杂)。

ufw的主要特点包括:

简化管理:ufw提供了一个简化的界面,使得用户可以更容易地管理网络规则,无需深入了解iptables的复杂性。

默认规则:ufw允许设置默认的入站和出站流量策略,例如,默认可以设置为拒绝所有入站流量,允许所有出站流量。

规则添加:用户可以添加规则来允许或拒绝特定的端口、服务或IP地址。

高级规则:ufw支持基于IP地址、子网和IP地址/子网/端口组合的高级规则。

用户规则文件:ufw允许用户在/etc/ufw/user.rules文件中直接配置防火墙规则,修改后需要重新载入ufw以使新规则生效。

状态检查:用户可以使用sudo ufw status命令来检查ufw的状态,包括当前的防火墙规则。

启用和禁用:ufw可以通过sudo ufw enable和sudo ufw disable命令来启用和禁用防火墙。

ufw的设计哲学是提供一个不复杂的防火墙管理工具,使得即使是没有深入网络知识的用户也能够轻松配置防火墙规则,保护系统免受未授权访问。

通过ufw,用户可以根据自己的需要,快速地设置防火墙规则,从而提高系统的安全性。

安装

如何在 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>

设置允许 http 80端口

复制代码
代码:sudo ufw allow 80

设置允许 https 443端口

复制代码
sudo ufw allow 443

允许 ssh 服务

复制代码
sudo ufw allow ssh

ufw如何拒绝流量

复制代码
sudo ufw deny <port/service>

如 sudo ufw deny from 192.168.1.1

拒绝来自特定IP地址的所有输入流量:

复制代码
sudo ufw deny from 192.168.1.1 to any

拒绝指定的端口(例如,拒绝TCP的22端口):

复制代码
sudo ufw deny 22/tcp

拒绝特定网络的流量(例如,拒绝192.168.1.0/24网络):

复制代码
sudo ufw deny from 192.168.1.0/24

拒绝特定协议的流量(例如,拒绝UDP流量):

复制代码
sudo ufw deny proto udp

确保在执行这些操作之前,您已经启用了UFW:

复制代码
sudo ufw enable

如何拒绝 FTP 21端口

复制代码
sudo ufw deny 21

ufw允许来自特定 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

ufw限制 ssh 连接尝试次数

复制代码
sudo ufw limit ssh

ufw向发送者发送拒绝响应

复制代码
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

ufw显示应用流量配置详情

复制代码
sudo ufw app info <app_name>
# 例如:
sudo ufw app info nginx

ufw允许 MySql 3306端口

复制代码
sudo ufw allow from 192.168.1.0/24 to any port 3306

ufw允许某个范围端口

如果你想指定协议,可以替换 tcpudp

复制代码
sudo ufw allow 6000:6007/tcp
sudo ufw allow 6000:6007/udp

以上确保在执行这些操作之前你有适当的权限,并且在进行任何重要的更改之前备份你的数据和防火墙规则。

相关推荐
小刘|13 分钟前
Spring AI Alibaba 集成和风天气 API 实战
java·服务器·前端
DIY源码阁23 分钟前
JavaSwing饮品管理系统 - MySQL版
java·数据库·mysql·eclipse
专注搞钱25 分钟前
GPT-4o写设备Recipe:从3小时到10分钟
数据库·人工智能·gpt·半导体
森G1 小时前
61、信号与槽机制在 TCP 编程中的应用---------网络编程
网络·c++·qt·网络协议·tcp/ip
Maynor9961 小时前
我用 Codex 给自己的网站上线了一个智能体客服:从 Dify 到服务器部署,全程实战复盘
运维·服务器
东风破1371 小时前
达梦数据库实战:备份恢复与数据迁移全攻略(实例初始化、服务注册、路径迁移)
数据库·chrome
聚名网2 小时前
域名net,com,cn有区别吗?有哪些不同呢?
服务器·开发语言·php
SelectDB技术团队2 小时前
2026 SelectDB AI 产品发布会:Agent Native 数据基础设施能力全景发布
数据库·人工智能·agent·apache doris·selectdb
爱吃羊的老虎2 小时前
【数据库】模块一:数据库基础与关系代数
数据库
小小小花儿2 小时前
SSH密钥配置(免密连接远程服务器)
服务器·ssh