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 分钟前
【Linux】进程间通信、匿名管道、进程池
linux·运维·服务器
垂金烟柳6 分钟前
CentOS 7上配置SQL Server链接其他SQL Server服务器
服务器·数据库·sqlserver
HHONGQI12319 分钟前
Linux 基础入门操作 前言 linux操作指令介绍
linux·运维·服务器
电星托马斯22 分钟前
Linux如何设置bash为默认shell
linux·运维·服务器·笔记·程序人生·bash·个人开发
那些乐趣32 分钟前
已经使用中的clickhouse更改数据目录
java·服务器·clickhouse
一期一祈^1 小时前
使用MySQL时出现 Ignoring query to other database 错误
数据库·mysql
Mr.wangh1 小时前
Spring Boot 打印日志
java·数据库·spring boot
LUCIAZZZ2 小时前
计算机网络-TCP的重传机制
java·网络·网络协议·tcp/ip·计算机网络·操作系统·springboot
BenBen尔2 小时前
innodb如何实现mvcc的
数据库
苏格拉没有底_coder2 小时前
【Easylive】详细解析 `stream()` 方法的使用
linux·服务器·windows