UFW:通用防火墙规则和命令

2023-10-22

防火墙是一种安全系统,它根据预定义的安全规则监视和控制传入和传出的网络流量。它是任何安全网络的重要组成部分,无论是个人计算机还是大型企业网络。

Uncomplicated Firewall (UFW) 是一个用户友好的命令行界面,用于管理 iptables(Linux 内核的内置防火墙)。 UFW 设计简单易用,可帮助管理员管理和实施网络安全策略,而无需深入研究 iptables 的复杂性。在本文中,我们将探讨常见的防火墙规则和命令,以帮助您开始使用 UFW。

安装并启用 UFW

要在基于 Debian/Ubuntu 的系统上安装 UFW,请使用以下命令:

sudo apt-get install ufw 

在基于 CentOS/RHEL/Fedora 的系统上,使用:

sudo yum install ufw 

安装后,启用 UFW:

sudo ufw enable 

基本 UFW 命令

以下是一些基本的 UFW 命令,可帮助您管理防火墙:

  • sudo ufw status:检查UFW的状态(启用或禁用)并显示现有规则。
  • sudo ufw disable:禁用 UFW。
  • sudo ufw reset:将 UFW 重置为默认设置并禁用它。

常见防火墙规则

以下是一些常用的 ufw 命令:

  1. 允许或拒绝传入连接
  2. 要允许特定端口上的传入连接,请使用:

    1
    sudo ufw allow [port]/[protocol]

    例如,要允许 TCP 端口 80 (HTTP) 上的传入连接:

    sudo ufw allow 80/tcp 
    

    要拒绝特定端口上的传入连接,请替换“allow” with “deny”:

    1
    sudo ufw deny [port]/[protocol]

  3. 允许或拒绝传出连接
  4. 默认情况下,UFW 允许所有传出连接。要阻止特定端口上的传出连接,请使用:

    1
    sudo ufw deny out [port]/[protocol]

    要允许被阻止端口上的传出连接,请替换“deny” with “allow”:

    1
    sudo ufw allow out [port]/[protocol]

  5. 允许或拒绝来自特定 IP 地址的连接
  6. 要允许或拒绝来自特定 IP 地址的连接,请使用:

    1
    sudo ufw [allow|deny] from [IP地址] to any

    例如,要允许来自 192.168.1.10 的连接:

    sudo ufw allow from 192.168.1.10 to any 
    

  7. 允许或拒绝连接到特定 IP 地址
  8. 要允许或拒绝与特定 IP 地址的连接,请使用:

    1
    sudo ufw [allow|deny] from any to [IP地址]

    例如,要拒绝与 10.0.0.5 的连接:

    sudo ufw deny from any to 10.0.0.5 
    

  9. 删除规则
  10. 要删除特定规则,请首先运行:

    1
    sudo ufw status numbered

    这将显示规则的编号列表。确定要删除的规则并在以下命令中使用其编号:

    1
    sudo ufw delete [规则号]

  11. Logging
  12. UFW 可以记录活动以帮助您监控防火墙并排除故障。要启用日志记录,请使用:

    1
    sudo ufw logging [on|off]

    日志默认存储在/var/log/ufw.log中。

结论

UFW 提供了一个方便且直接的界面来管理 Linux 防火墙。通过使用通用命令和规则,管理员可以轻松配置网络安全策略,以保护其系统免受未经授权的访问。与任何安全工具一样,必须使 UFW 保持最新状态并不断审查和调整您的防火墙规则以满足不断变化的安全要求。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UFW:通用防火墙规则和命令 的相关文章

  • 在基于 RHEL 的系统上配置 EPEL 存储库

    Extra Packages for Enterprise Linux EPEL 是一个在线存储库 为企业 Linux 系统提供高质量的常用软件包 这些软件包是在 Fedora 上开发和测试的 Fedora 可用于 RHEL EPEL 存储
  • 如何通过 PPA 在 Ubuntu 18.04 和 16.04 上安装 MongoDB 4.4

    MongoDB 是一个完全灵活的索引支持和丰富的查询数据库 Mongodb 是一个 NoSQL 数据库 MongoDB 通过 GridFS 提供大型媒体存储 点击here有关此版本 MongoDB 的更多详细信息 本教程将帮助您在 Ubun
  • 如何在 Ubuntu 18.04 和 16.04 LTS 上安装 Webmin

    Webmin是一个类似于 CPanel 的网络托管控制面板 它提供了易于使用的界面来管理类 Unix 系统 Webmin 非常易于使用 轻量级应用程序可以在一分钟内轻松安装到系统上 Webmin 删除了所有通过命令行完成的手动任务 本文将帮
  • 如何检查 OpenSSH 版本

    OpenSSH是一个安全的网络实用程序 用于使用 SSH 协议进行远程登录 这是大多数基于 Linux 的系统用于远程 SSH 登录的主要工具 OpenSSH 为您提供通过 SSH 协议连接远程系统的选项 它提供了两个系统之间通信的端到端加
  • 如何在 CentOS/RHEL 9/8/7 上安装 NRPE

    NRPE Nagios Remote Plugin Executor 是一个 Nagios 插件 用于在远程主机上远程执行插件和脚本 这允许您监视远程主机上的资源 例如磁盘使用情况 CPU 负载和网络活动 在本文中 我们将向您展示如何在 C
  • 如何在 Ubuntu 20.04 中安装 PostgreSQL 和 pgAdmin4

    PostgreSQL是一个强大 可靠 健壮且开源的对象关系数据库系统 该数据库系统的最新版本是 PostgreSQL 13 2 而版本 12 6 11 11 10 16 9 6 21 和 9 5 25 仍在定期更新 本教程介绍如何在 Ubu
  • 如何在 Ubuntu 和 Debian 中切换 Python 版本

    Python 是一种高级编程语言 广泛用于系统编程 它适用于所有流行的操作系统 您可以在单个系统上安装多个 Python 版本 安装多个 Python 版本后 您可以使用 update alternatives 工具切换默认 Python
  • 如何在 CentOS 7 上安装和使用 Docker

    Docker 是一种容器化技术 可让您快速构建 测试和部署应用程序 作为可移植 自给自足的容器 几乎可以在任何地方运行 在本教程中 我们将介绍如何在 CentOS 7 上安装 Docker CE 并探索基本的 Docker 概念和命令 先决
  • 如何在 CentOS 8 上安装 CouchDB

    Apache CouchDB 是由 Apache 软件基金会开发的免费开源 NoSQL 数据库 它可以用作单节点或集群数据库 CouchDB 服务器将其数据存储在命名数据库中 其中包含具有以下内容的文档JSON结构 每个文档由许多字段和附件
  • 如何在 Ubuntu 20.04 上安装 Kvm

    KVM 基于内核的虚拟机 是内置于 Linux 内核中的开源虚拟化技术 使用 KVM 运行多个 Linux 或 Windows 来宾虚拟机 每个来宾都与其他来宾完全隔离 并拥有自己的操作系统和专用虚拟硬件 例如 CPU 内存 网络接口和存储
  • 如何在 Ubuntu 20.04 上安装 OpenCV

    OpenCV 开源计算机视觉库 是一个开源计算机视觉库 绑定了 C Python 和 Java 并支持所有主要操作系统 它可以利用多核处理并具有 GPU 加速功能来实现实时操作 OpenCV 的应用范围很广 包括医学图像分析 拼接街景图像
  • 如何在 Debian 10 Linux 上添加交换空间

    交换空间是磁盘上的空间 当物理内存已满时使用 当 Linux 系统耗尽 RAM 时 非活动页面将从 RAM 移至交换空间 交换空间可以采用专用交换分区或交换文件的形式 通常 运行 Debian 虚拟机时不存在交换分区 因此唯一的选择是创建交
  • 如何在 CentOS 8 上安装 Apache Maven

    Apache Maven 是一个开源项目管理和理解工具 主要用于 Java 项目 Maven 使用项目对象模型 POM 它本质上是一个 XML 文件 其中包含有关项目 配置详细信息 项目依赖项等的信息 在本教程中 我们将解释如何在 Cent
  • 如何在 Ubuntu 18.04 上安装 TensorFlow

    TensorFlow是由 Google 构建的免费开源机器学习平台 许多组织都在使用它 包括 Twitter PayPal 英特尔 联想和空中客车公司 TensorFlow 可以在 Python 虚拟环境中安装在系统范围内 作为Docker
  • Linux 中的 Chattr 命令(文件属性)

    在 Linux 中 文件属性是描述文件行为的元数据属性 例如 属性可以指示文件是否被压缩或指定文件是否可以被删除 一些属性 如不变性 可以设置或清除 而其他属性 如加密 是只读的 只能查看 对某些属性的支持取决于所使用的文件系统 本文介绍了
  • 在Ubuntu上安装RPM包

    Ubuntu 存储库包含数千个 deb 软件包 可以从 Ubuntu 软件中心或使用apt命令行实用程序 Deb 是所有基于 Debian 的发行版 包括 Ubuntu 都使用的安装包格式 有些软件包在标准 Ubuntu 存储库中不可用 但
  • 如何检查PHP版本

    PHP 是最常用的服务器端编程语言之一 PHP 版本之间存在一些重要差异 因此在某些情况下可能需要了解您的服务器上运行的是哪个版本 例如 如果您在开始安装之前升级应用程序或安装需要特定 PHP 版本的新应用程序 则需要找出 PHP 服务器的
  • 如何在 Debian 10 Linux 上安装 Google Chrome 网络浏览器

    谷歌浏览器是世界上最流行的网络浏览器 它是专为现代网络打造的快速 直观且安全的浏览器 Chrome 不是开源浏览器 并且不包含在官方 Debian 存储库中 它是基于Chromium 一个开源浏览器 可在默认 Debian Buster 存
  • 如何在 Ubuntu 中将用户添加到 Sudoers

    sudo是一个命令行程序 允许受信任的用户以 root 或其他用户身份执行命令 在本文中 我们将向您展示两种向用户授予 sudo 权限的方法 第一个是将用户添加到sudoers 文件 该文件包含控制向哪些用户和组授予 sudo 权限以及权限
  • 检查 gzip 文件而不解压缩:zcat、zless 和 zmore

    Linux 提供了多个用于处理压缩文件的命令 例如 zcat zless 和 zmore 本教程将深入探讨这些命令的用法 让您可以导航和检查压缩文件 而无需解压缩它们 下表总结了这 3 种工具之间的差异 Tool Description P

随机推荐

  • 使用 source 命令在 Linux 中获取脚本

    The sourceLinux 中的 command 是一个内置的 shell 命令 用于从文件中读取和执行命令 这意味着脚本定义的任何变量或函数在脚本执行完成后仍然可用 现在 让我们开始探索它的功能source命令 目录 hide 1 子
  • Linux 上的 MySQL(初学者教程)

    在这篇文章中 我们将介绍 Linux 上 MySQL 的许多方面 首先 如何安装它 如何执行基本的 CRUD 操作 如何导入和导出数据 如何使用 MySQL 引擎本身 例如设置 root 用户密码 等等 MySQL 是世界上最流行的关系数据
  • 将 NumPy 数组转换为 Pandas DataFrame(15+ 场景)

    通常我们需要在 NumPy 数组中创建数据并将其转换为 DataFrame 因为我们必须处理 Pandas 方法 在这种情况下 转换NumPy 数组 ndarrays 到数据框使我们的数据分析变得方便 在本教程中 我们将仔细研究一些可用于将
  • 使用 Python 发送电子邮件(多个示例)

    Python 允许您使用其内置模块自动执行发送电子邮件的任务 这样做可以让您摆脱手动向数千名用户发送电子邮件的繁琐且耗时的任务 本教程将探讨一些快速 简单的发送电子邮件和使用 Python 内置电子邮件模块的方法 目录 hide 1 检查电
  • Python 中的深度优先搜索算法(多个示例)

    深度优先搜索是一种流行的图遍历算法 在本教程中 我们将通过示例了解它的工作原理 以及我们如何用 Python 实现它 我们将研究以下部分 目录 hide 1 介绍 2 深度优先搜索算法 3 Representing a graph
  • Python NumPy 数组教程

    NumPy 是一个 Python 库 模块 用于科学计算Python编程 在本教程中 您将学习如何对 NumPy 数组执行多种操作 例如以多种方式添加 删除 排序和操作元素 NumPy 提供多维数组对象和其他派生数组 例如屏蔽数组或屏蔽多维
  • 关于 Linux 导出命令您需要了解的一切

    The exportLinux中的命令是一个内置的shell命令 用于设置环境变量在当前 shell 会话中 通过标记变量或函数以便随后导出到子进程的环境中 export命令确保这些变量对子进程的可用性 目录 hide 1 导出命令的语法
  • 安装、配置和使用 Linux NIS 服务器

    我们使用 Linux NIS 服务器 网络信息服务 用于在网络上的系统之间共享存储在平面文件中的关键数据 通常理想的做法是使用共享存储库 例如 NIS 来存储用户和组信息 而不是将它们存储在 etc passwd 等平面文件中 那么这样做有
  • NumPy Meshgrid 从零到英雄

    Python 的 NumPy是处理数组 矩阵数据最常用的库 矩阵可以被视为二维值 网格 其中网格中每个值的位置由一对值 i j 给出 这些值表示该值在网格中的行号和列号 在本教程中 我们将了解如何使用 Python 中的 NumPy 库创建
  • Python 中的快速排序算法(逐步)

    在编程世界中 大多数问题的答案都可以在存储在各种数据结构中的数据中并借助一些标准算法找到 今天 我们将讨论快速排序算法以及如何在 Python 中实现它 在开始确定这些答案之前 您将需要一组数据 在许多情况下是排序数据 来执行进一步的计算
  • Python 优先级队列(分步指南)

    队列是一种按称为 FIFO 的顺序检索数据项的数据结构 先进先出 在 FIFO 中 第一个插入的元素将首先从队列中弹出 优先级队列是队列数据结构的高级版本 具有最高优先级的元素被放置在优先级队列的最顶部 并且是第一个被出列的元素 有时 队列
  • 如何检查 MySQL 数据库和表的大小

    MySQL是一种关系型数据库管理系统 广泛用作Linux系统的数据库系统 本文将帮助您通过 SQL 查询计算 MySQL 或 MariaDB 服务器中表和数据库的大小 MySQL将与数据库中的表相关的所有信息存储在information s
  • 如何更改 Azure 应用服务中的时区

    TimeZone 对于时间关键的应用程序起着重要作用 在这种情况下 您必须为正在运行的操作系统设置正确的时区 我们的一位用户询问有关在 Azure 应用服务中设置时区的问题 在本教程中 您将学习如何为运行的应用程序设置时区Azure 应用服
  • 如何在 Bash 中将标准错误存储到变量

    在 Bash 中 您可以使用以下命令将命令的标准错误输出存储到变量中 2 gt 1 运营商和 命令替换语法 这里 2 gt 将错误消息重定向到 1 代表标准输出 在 bash shell 的情况下 它作为标准输出设备 For example
  • C 程序求三个数字中最大的

    在本文中 我们将探讨计算机编程中一个常见且简单的问题 找到三个给定数字中最大的数字 我们用来解决这个问题的语言是 C 一种通用的过程计算机编程语言 C 提供了有效映射到典型机器指令所需的结构 换句话说 它是一种流行的系统编程语言 尽管它也用
  • 如何使用 DNF 将 Fedora 23 升级到 Fedora 24

    软呢帽24最终版本已发布于2016 年 6 月 21 日 Fedora 工作站用户可能需要升级工作站才能使用最新版本 本教程将帮助您将 Fedora 23 升级到 Fedora 24 工作站使用命令行实用程序 DNF 这是升级 Fedora
  • RDBMS 与 NoSQL:为您的项目选择正确的数据库

    为项目选择正确的数据库可能是一个关键决策 会极大地影响项目的成功 最流行的两类数据库是关系数据库管理系统 RDBMS 和 NoSQL 数据库 每种都有其优点和缺点 选择最终取决于项目的具体要求 本文将对 RDBMS 和 NoSQL 数据库进
  • 如何在 Linux 上设置 LogMeIn (Hamachi) VPN

    Hamachi 用于使用或设置 VPN 并通过 VPN 网络连接系统 这提供了一种快速 更简单的方法来创建 VPN 网络和连接系统 您可以在 logmein com 上创建免费帐户并创建网络 您可以使用免费帐户在每个网络中添加最多 5 个系
  • Java 技巧:将字符串转换为日期

    在 Java 编程领域 日期和时间操作是一项基本技能 但是 日期通常作为字符串传递 这需要将这些字符串转换为 Date 对象以进行有效操作 在本综合指南中 我们将详细介绍在 Java 中将字符串转换为日期的过程 了解基础知识 表示日期的字符
  • UFW:通用防火墙规则和命令

    防火墙是一种安全系统 它根据预定义的安全规则监视和控制传入和传出的网络流量 它是任何安全网络的重要组成部分 无论是个人计算机还是大型企业网络 Uncomplicated Firewall UFW 是一个用户友好的命令行界面 用于管理 ipt