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

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

相关推荐
Protein_zmm7 分钟前
第一章 计算机网络和因特网(下)
服务器·计算机网络·php
dyxal20 分钟前
非对称加密:彻底解决密钥分发难题的数字安全革命
服务器·网络·安全
泡沫·28 分钟前
5.MariaDB数据库管理
数据库·mariadb
i***512629 分钟前
【数据库】MySQL的安装与卸载
数据库·mysql·adb
数白42 分钟前
Oracle 数据迁移最佳实践(不使用第三方工具)
数据库·oracle
周杰伦fans1 小时前
C# 中的**享元工厂**模式
开发语言·数据库·c#
空空kkk1 小时前
SpringMVC——拦截器
java·数据库·spring·拦截器
J***51681 小时前
MySql中的事务、MySql事务详解、MySql隔离级别
数据库·mysql·adb
SelectDB2 小时前
Apache Doris 中的 Data Trait:性能提速 2 倍的秘密武器
数据库·后端·apache
i***27952 小时前
Spring boot 3.3.1 官方文档 中文
java·数据库·spring boot