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

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

相关推荐
LunarCod5 分钟前
Ubuntu使用Docker搭建SonarQube企业版(含破解方法)
linux·运维·服务器·ubuntu·docker·开源·sonarqube
betazhou16 分钟前
基于Linux环境实现Oracle goldengate远程抽取MySQL同步数据到MySQL
linux·数据库·mysql·oracle·ogg
什么半岛铁盒22 分钟前
Linux信号的保存
linux·运维·网络
百锦再29 分钟前
大数据技术的主要方向及其应用详解
大数据·linux·网络·python·django·pygame
lyrhhhhhhhh40 分钟前
Spring 框架 JDBC 模板技术详解
java·数据库·spring
惜.己1 小时前
Linux常用命令(十四)
linux·运维·服务器
喝醉的小喵2 小时前
【mysql】并发 Insert 的死锁问题 第二弹
数据库·后端·mysql·死锁
BillKu2 小时前
服务器多JAR程序运行与管理指南
运维·服务器·jar
付出不多3 小时前
Linux——mysql主从复制与读写分离
数据库·mysql
初次见面我叫泰隆3 小时前
MySQL——1、数据库基础
数据库·adb