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

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

相关推荐
只有干货1 分钟前
dexie 前端数据库封装
数据库
Two_brushes.5 分钟前
【linux网络】深入理解 TCP/UDP:从基础端口号到可靠传输机制全解析
linux·运维·服务器
FJW02081410 分钟前
【Linux】系统引导修复
linux·运维·服务器
nightunderblackcat13 分钟前
新手向:Python网络编程,搭建简易HTTP服务器
网络·python·http
设计师小聂!39 分钟前
linux常用命令(一)
linux·运维·服务器
HardCodeV39 分钟前
NestJS
数据库·oracle
hnlucky1 小时前
《Nginx + 双Tomcat实战:域名解析、静态服务与反向代理、负载均衡全指南》
java·linux·服务器·前端·nginx·tomcat·web
hnlucky1 小时前
同时部署两个不同版本的tomcat要如何配置环境变量
java·服务器·http·tomcat·web
花好月圆春祺夏安1 小时前
基于odoo17的设计模式详解---备忘模式
数据库·设计模式
cui_win1 小时前
【网络】Linux 内核优化实战 - net.ipv4.tcp_congestion_control
linux·网络·tcp/ip