当前位置: 首页 > news >正文

运维iptables与firewalld详解

iptables与firewalld

一、iptables

1.1 iptables简介

iptables 是一个在 Linux 系统上用来配置 IPv4 数据包过滤规则的工具。它允许系统管理员控制数据包的流向,实现网络安全、网络地址转换(NAT)和端口转发等功能。

具体来说,iptables 可以用来定义规则集(ruleset),这些规则决定了哪些数据包可以通过系统,哪些需要被丢弃或者拒绝。这些规则基于数据包的源地址、目标地址、源端口、目标端口以及数据包的协议等信息来进行匹配和处理。

iptables 的工作原理是在 Linux 内核中使用 Netfilter 框架来实现数据包过滤和处理。它通过修改 Netfilter 的规则表来控制数据包的流向和处理方式。iptables 提供了丰富的命令和选项,使得管理员可以灵活地配置和管理防火墙规则,从而保护主机和网络的安全。

iptables 是 Linux 系统中强大而灵活的防火墙工具,被广泛用于网络安全配置和管理中。

1.2 iptables关键概念

iptables 中涉及到一些关键概念,理解这些概念对于正确配置和管理防火墙规则非常重要。以下是几个关键概念及其示例说明:

  1. 链(Chain)

    • 说明: 链是规则集合,用于指定数据包如何处理。iptables 包括预定义的标准链(如 INPUT、OUTPUT、FORWARD)和可以自定义的用户链。
    • 示例:
      • INPUT 链:控制进入本地系统的数据包。
      • OUTPUT 链:控制从本地系统发出的数据包。
      • FORWARD 链:控制经过系统的转发数据包。
  2. 规则(Rule)

    • 说明: 规则是定义在链中的指令,用于匹配数据包并决定如何处理它们(接受、拒绝、转发等)。
    • 示例:
      • 允许从特定 IP 地址发出的数据包:iptables -A OUTPUT -s 192.168.1.100 -j ACCEPT
      • 拒绝特定端口的入站连接:iptables -A INPUT -p tcp --dport 22 -j DROP
  3. 目标(Target)

    • 说明: 目标指定当规则匹配时应该采取的动作,可以是 ACCEPT(接受数据包)、DROP(丢弃数据包)、REJECT(拒绝数据包并发送拒绝消息)、LOG(记录数据包信息)等。
    • 示例:
      • 接受指定来源的数据包:-j ACCEPT
      • 丢弃特定端口的数据包:-j DROP
      • 拒绝并发送 ICMP 错误消息:-j REJECT
  4. 匹配条件(Match Conditions)

    • 说明: 匹配条件用于过滤数据包的特定属性,例如源 IP 地址、目标端口、协议类型等。
    • 示例:
      • 匹配特定协议类型:-p tcp-p udp
      • 指定源 IP 地址:-s 192.168.1.0/24
      • 指定目标端口:--dport 80
  5. 表(Table)

    • 说明: 表是规则集的逻辑分类,iptables 中主要有 filter、nat、mangle 和 raw 四种表,每种表用于不同的数据包处理目的。
    • 示例:
      • filter 表:用于控制数据包流向(如 INPUT、OUTPUT、FORWARD)。
      • nat 表:用于网络地址转换(NAT)。
      • mangle 表:用于修改数据包头部。
      • raw 表:用于配置特定的连接跟踪规则。

这些关键概念帮助管理员理解和构建复杂的 iptables 防火墙规则,以实现网络安全策略和功能需求。通过合理使用这些概念,可以有效地管理和保护 Linux 主机和网络环境。

1.3 iptables常用操作

iptables 在实际使用中有一些常见的操作和命令,主要包括以下几类:

  1. 添加规则(Rule)

    • iptables -A chain rule_specification: 将一条规则追加到指定的链(chain)中。
    • iptables -I chain [rulenum] rule_specification: 在指定链中插入一条规则。
    • iptables -R chain rulenum rule_specification: 替换指定链中的某条规则。
  2. 删除规则

    • iptables -D chain rule_specification: 从指定链中删除符合规则的某条规则。
    • iptables -F [chain]: 清空指定链中的所有规则。
    • iptables -X [chain]: 删除自定义的链(如果没有规则引用该链)。
  3. 管理链(Chain)

    • iptables -N chain: 创建一个新的自定义链。
    • iptables -E old_chain new_chain: 对现有链进行重命名。
    • iptables -P chain target: 设置指定链的默认策略(如 ACCEPT、DROP 等)。
  4. 显示规则和状态

    • iptables -L [chain]: 列出指定链的所有规则。
    • iptables -S: 显示完整的防火墙规则集。
    • iptables -nvL: 显示详细信息,包括数据包和字节计数。
    • iptables -Z [chain]: 清空指定链的数据包和字节计数。
  5. 保存和恢复规则

    • iptables-save: 将当前防火墙规则保存到文件或输出到标准输出。
    • iptables-restore: 从文件或标准输入中恢复防火墙规则。
  6. 其他常用操作

    • iptables -A INPUT -p tcp --dport port_number -j ACCEPT: 允许特定端口的 TCP 数据包进入系统。
    • iptables -A OUTPUT -p udp --sport port_number -j DROP: 阻止特定端口的 UDP 数据包从系统发出。

这些命令和操作允许管理员灵活地配置和管理 iptables 防火墙规则,以保护系统和网络安全。具体的使用需根据具体的网络环境和安全需求进行调整和配置。

二、firewalld

2.1 firewalld简介

Firewalld 是一个动态的防火墙管理器,最初由 Fedora 发布,现在已经在许多基于 Linux 的发行版中广泛使用。它的设计目的是简化管理和配置防火墙规则,使管理员可以动态地调整和更新防火墙设置,而无需重新加载整个防火墙规则集。

主要特点和功能:

  1. 动态更新和管理: Firewalld 允许管理员在运行时添加、删除或修改防火墙规则,这些更改会立即生效,无需重启防火墙服务或系统。

  2. 基于区域的配置: Firewalld 使用“区域”来管理不同网络环境的安全设置。每个区域定义了一组预定义的规则,例如公共网络、家庭网络、内部网络等,管理员可以根据需求将接口分配给相应的区域。

  3. 服务和端口管理: Firewalld 支持管理服务和端口,管理员可以轻松地启用或禁用特定服务(如 SSH、HTTP、FTP 等)和端口。

  4. 应用程序级别的防火墙支持: Firewalld 可以识别和管理特定应用程序的网络连接,允许管理员定义基于应用程序的规则。

  5. IPv4 和 IPv6 支持: Firewalld 能够管理 IPv4 和 IPv6 的防火墙规则,支持双栈环境。

  6. 集成的命令行工具和图形界面: Firewalld 提供了命令行工具(firewall-cmd)和图形用户界面(firewall-config),使管理员可以根据自己的偏好选择合适的管理方式。

  7. 活动和永久配置: Firewalld 区分活动配置和永久配置,活动配置在运行时生效,而永久配置则会在系统重启后自动应用,这样可以确保安全设置的持久性。

使用场景:

  • 服务器安全管理: 管理员可以通过 Firewalld 控制服务器上不同服务和端口的访问权限,保护服务器免受未经授权的访问。
  • 桌面系统安全: 在桌面系统上,可以利用 Firewalld 确保公共网络连接时的安全性,限制来自外部网络的访问。
  • 网络环境配置: Firewalld 的区域概念使得在多网络接口和复杂网络拓扑中管理防火墙规则变得更加直观和可控。

总体而言,Firewalld 提供了一个灵活、易于管理的防火墙解决方案,适用于各种规模和复杂度的 Linux 系统和网络环境。

2.2 firewalld关键概念

Firewalld 的核心概念包括以下几个关键要素,理解这些要素有助于有效地配置和管理防火墙规则:

  1. 区域(Zone)

    • 说明: 区域定义了不同网络环境的安全级别和规则集合。每个接口可以分配给特定的区域,以便根据网络环境应用适当的防火墙规则。
    • 示例:
      • public:公共区域,最严格的安全设置,适用于连接到不受信任网络的接口。
      • home:家庭网络区域,允许对某些服务和端口的有限访问。
      • internal:内部网络区域,允许较宽松的访问,适用于受信任的内部网络。
  2. 服务(Service)

    • 说明: 服务定义了特定应用程序或服务使用的端口和协议组合。Firewalld 提供了一组预定义的服务,允许管理员方便地管理服务的访问。
    • 示例:
      • ssh:用于 SSH 连接的服务,通常使用 TCP 端口 22。
      • http:用于 HTTP 服务的服务,通常使用 TCP 端口 80。
      • ftp:用于 FTP 服务的服务,通常使用 TCP 端口 21。
  3. 源(Source)

    • 说明: 源地址或源地址范围是指定特定来源网络或主机的 IP 地址范围。可以用来限制访问特定服务或端口的源 IP 地址。
    • 示例:
      • 192.168.1.0/24:表示整个 192.168.1.0/24 子网。
      • 10.0.0.5:表示单个 IP 地址 10.0.0.5。
  4. 端口(Port)

    • 说明: 端口规则用于允许或阻止特定端口上的流量。可以指定 TCP 或 UDP 协议,以及具体的端口号。
    • 示例:
      • 允许 TCP 端口 443:firewall-cmd --zone=public --add-port=443/tcp --permanent
      • 阻止 UDP 端口 53:firewall-cmd --zone=public --add-port=53/udp --permanent
  5. 目标(Target)

    • 说明: 目标指定当规则匹配时应该采取的动作,可以是 ACCEPT(接受数据包)、DROP(丢弃数据包)、REJECT(拒绝数据包并发送拒绝消息)等。
    • 示例:
      • 接受特定服务的流量:-j ACCEPT
      • 拒绝来自特定源地址的流量:-j DROP
  6. 永久配置和运行时配置

    • 说明: Firewalld 区分永久配置和运行时配置。永久配置保存在文件中,系统重启后仍然有效,而运行时配置在系统重启后将被丢弃。
    • 示例:
      • --permanent:用于将规则永久保存到配置文件中。
      • --runtime-to-permanent:将当前运行时配置复制到永久配置。

这些关键概念使得管理员可以在不同的网络环境中配置灵活且精确的防火墙策略,以保护系统和网络免受未经授权的访问和攻击。通过合理利用这些概念,可以确保系统安全性和网络可用性的平衡。

2.3 firewalld常见操作

Firewalld 提供了一系列常见的操作命令,管理员可以使用这些命令来配置、管理和监视防火墙规则。以下是一些常见的 firewalld 操作:

  1. 查看当前防火墙状态和规则

    • firewall-cmd --state: 查看 firewalld 的当前状态,例如是否运行。
    • firewall-cmd --list-all: 显示所有区域的详细信息,包括已经配置的规则。
  2. 管理区域(Zone)

    • firewall-cmd --get-active-zones: 显示当前活动的区域。
    • firewall-cmd --get-default-zone: 显示默认的区域。
    • firewall-cmd --set-default-zone=zone_name: 设置默认的区域。
    • firewall-cmd --list-all-zones: 列出所有可用的区域及其配置。
  3. 管理服务

    • firewall-cmd --get-services: 显示所有可用的预定义服务。
    • firewall-cmd --add-service=service_name [--zone=zone_name]: 启用特定的服务。
    • firewall-cmd --remove-service=service_name [--zone=zone_name]: 禁用特定的服务。
  4. 管理端口

    • firewall-cmd --get-ports: 显示所有已配置的端口。
    • firewall-cmd --add-port=port/protocol [--zone=zone_name]: 开放特定的端口。
    • firewall-cmd --remove-port=port/protocol [--zone=zone_name]: 移除特定的端口。
  5. 管理源(Source)

    • firewall-cmd --add-source=source [--zone=zone_name]: 允许特定的源访问。
    • firewall-cmd --remove-source=source [--zone=zone_name]: 移除特定的源访问权限。
  6. 实时配置和永久配置

    • firewall-cmd --runtime-to-permanent: 将当前运行时配置保存为永久配置。
    • firewall-cmd --reload: 重新加载防火墙规则,立即应用最新的配置。
  7. 其他操作

    • firewall-cmd --panic-on: 激活防火墙的紧急模式,拒绝所有流量。
    • firewall-cmd --panic-off: 关闭防火墙的紧急模式,恢复正常流量。
    • firewall-cmd --query-service=service_name: 检查特定服务是否在防火墙规则中启用。
  8. 日志和监视

    • firewall-cmd --get-log-denied: 获取拒绝日志的设置。
    • firewall-cmd --set-log-denied=all: 打开所有拒绝日志记录。

这些命令提供了灵活的管理和配置选项,使管理员能够根据具体需求定制和调整防火墙规则,保障系统和网络的安全性。使用时需要注意权限和规则的生效顺序,确保所配置的防火墙策略能够有效地保护系统。

三、iptables与firewalld

3.1 相同点

iptables 和 firewalld 在网络安全管理中有一些共同点,尽管它们是不同的工具,但它们之间存在一些功能和特性上的相似之处:

  1. 功能目标

    • 防火墙管理: iptables 和 firewalld 都用于配置和管理 Linux 系统上的防火墙规则,以控制网络流量的进出。
  2. 基本概念

    • 规则管理: 两者都通过规则来控制数据包的处理方式,例如允许、拒绝或转发。
    • 链的概念: iptables 中的链(chain)类似于 firewalld 中的区域(zone),都用于组织和应用规则集合。
  3. 支持的协议和端口

    • 协议支持: iptables 和 firewalld 都支持 TCP、UDP、ICMP 等主流的网络协议。
    • 端口管理: 两者都支持管理和控制特定端口的访问权限。
  4. IPv4 和 IPv6 支持

    • 双栈支持: iptables 和 firewalld 都能够处理 IPv4 和 IPv6 数据包,支持双栈环境的配置。
  5. 灵活性

    • 动态性: firewalld 在设计上更加动态,允许在运行时添加、删除和修改规则,而 iptables 则需要重新加载规则集才能生效。

尽管有这些相似之处,iptables 和 firewalld 在实现和使用上有显著的区别,例如iptables是直接操作内核规则,更为底层和灵活,而firewalld提供了更高级别的抽象和管理接口,更易于使用和配置。

3.2 iptables与firewalld各自优势及特点

iptables 和 firewalld 在设计理念和功能实现上有很多不同点,它们各自具有不同的优势和适用场景:

iptables 的特点和优势:

  1. 底层控制:

    • iptables 直接操作 Linux 内核中的 Netfilter 框架,提供了非常底层的网络数据包处理能力,能够实现高度定制化的防火墙规则。
  2. 灵活性和精确控制:

    • iptables 允许管理员直接定义和控制数据包的过滤、转发和修改行为,可以基于非常具体的条件进行匹配和操作。
  3. 成熟和广泛支持:

    • iptables 是 Linux 平台上长期使用的经典防火墙工具,有着丰富的社区支持和文档资源,广泛应用于各种复杂的网络环境中。

iptables 的劣势:

  1. 配置复杂:

    • iptables 配置和管理较为复杂,需要深入理解网络协议和内核机制,对初学者来说学习曲线较陡。
  2. 不支持动态调整:

    • iptables 规则一旦设置,通常需要重新加载整个规则集才能生效,不支持动态添加、删除和修改规则。

firewalld 的特点和优势:

  1. 动态管理和易用性:

    • firewalld 设计为动态管理防火墙规则,支持在运行时动态添加、删除和修改规则,使得配置更加灵活和简便。
  2. 区域和服务抽象:

    • firewalld 引入了区域(zone)和服务(service)的概念,管理员可以根据不同的网络环境和服务类型轻松管理和应用防火墙策略。
  3. 网络管理集成:

    • firewalld 与 NetworkManager 紧密集成,能够与网络接口的状态和连接状态动态调整防火墙规则,适用于移动设备和动态网络环境。
  4. 更高级的抽象和管理接口:

    • firewalld 提供了命令行工具和图形界面,使得非专业用户也能够轻松理解和配置防火墙规则,降低了使用门槛。

firewalld 的劣势:

  1. 性能问题:

    • 相对于 iptables 的直接操作,firewalld 由于抽象层和动态管理的特性,可能在性能上略有损失,尤其是在高负载环境中。
  2. 适应复杂网络需求的能力有限:

    • 尽管 firewalld 提供了高级的管理抽象,但在某些特定和复杂的网络环境下,可能需要更多的细粒度控制和定制化规则,这时 iptables 可能更为适合。

综述

iptables 和 firewalld 在功能设计和适用场景上有显著的差异。iptables 更适合对网络深度理解和精确控制要求高的场景,而 firewalld 则更适合需要动态管理和易用性的环境,尤其是桌面系统或者需要频繁变更防火墙规则的服务器环境。选择使用哪个工具应根据具体的需求、管理复杂度和个人经验来进行权衡和选择。

希望对您有用!关注锅总,可及时获得更多花里胡哨的运维实用操作!
在这里插入图片描述

相关文章:

运维iptables与firewalld详解

iptables与firewalld 一、iptables 1.1 iptables简介 iptables 是一个在 Linux 系统上用来配置 IPv4 数据包过滤规则的工具。它允许系统管理员控制数据包的流向,实现网络安全、网络地址转换(NAT)和端口转发等功能。 具体来说,…...

适用于 Android 的 几种短信恢复应用程序

Android 设备上的短信丢失可能由于多种原因而丢失,例如意外删除、恢复出厂设置、系统崩溃或病毒攻击。是否有应用程序可以恢复 Android 上已删除的短信?幸运的是,有几款短信恢复应用程序可以扫描您的 Android 手机并从内存或 SIM 卡中检索已删…...

Lodash-js工具库

1. Lodash 简介 Lodash 是一个现代 实用工具库,提供了许多有用的函数,帮助开发者处理常见的编程任务,如数组操作、对象处理、字符串处理等。Lodash 使得代码更简洁、更高效,极大地提高了开发效率。Lodash 的设计灵感来自于 Under…...

Makefile实战论(一)

为什么写这个呢,其实我有系统学过Makefile和CMake。但是因为用的不是很多或者说没有深入的使用场景,导致我不是很熟练,或者说没法优雅地使用。刚好最近对Linux的嵌入式编程比较感兴趣,借着demo来分析一下资深工程师写的Makefile&a…...

Hi3861 OpenHarmony嵌入式应用入门--PWM 三色灯

这篇文章是讲解的pwm控制三色灯的部分,这部分也是后续全彩智能灯的基础。 硬件原理如下 IO管脚定义在hi-12f_v1.1.2-规格书-20211202.pdf文档中 GPIO API API名称 说明 unsigned int IoTGpioInit(unsigned int id); GPIO模块初始化 hi_u32 hi_io_set_func(hi_i…...

CH5xx USB下载工具

文章目录 CH5xx USB下载工具1.前言2.介绍3. USB下载4. 串口免按键下载4.SWD下载 CH5xx USB下载工具 1.前言 CH5xx USB下载工具是一款专为沁恒 CH5xx系列 BLE SOC设计的程序的下载工具。这款工具与串口下载相比较,不仅提供了稳定的数据传输能力,而且提高…...

问题1.用PGP解密出keybox.xml,过程中报“Can‘t check signature: No public key”如图,这个正常吗?如何解决?

问题1.我要写Google attenstation key到设备。就需要keybox.xml生成keybox.kdb文件。而测试机构给我们的是加密的文件,需要用PGP解密出keybox.xml,过程中报“Can’t check signature: No public key”如图,这个正常吗?如何解决&am…...

网络物理隔离后 可以用保密U盘进行数据安全交换吗?

企业用的保密U盘通常被设计用于存储和传输敏感信息,以确保数据的安全和保密性。 在网络之间实现了物理隔离后,使用保密U盘进行数据安全交换是一种常见的做法。物理隔离确保了两个网络之间的完全分离,因此使用保密U盘可以作为一种安全的手段来…...

机械臂 CoppeliaSim Simulink联合仿真

实现机械臂在CoppeliaSim(以前称为V-REP)和Simulink上的联合仿真涉及多个步骤,包括环境设置、模型导入、通信配置、控制算法设计和测试调试。 前期准备 安装软件配置工作环境创建和配置CoppeliaSim场景 导入机械臂模型配置机械臂参数在Simuli…...

MySQL数据库(一):数据库介绍与安装

在嵌入式开发中,数据库的重要性体现在高效的数据存储和管理、数据持久化、复杂查询和处理、数据同步和共享、安全性和可扩展性。常见嵌入式数据库包括SQLite、MySQL、LevelDB等,应用于智能家居、工业控制、车载系统和物联网设备,提升了系统功…...

天津媒体邀约,及媒体名单?

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 媒体宣传加速季,100万补贴享不停,一手媒体资源,全国100城线下落地执行。详情请联系胡老师。 天津作为中国北方的重要城市,拥有丰富的媒体资…...

Java | Leetcode Java题解之第168题Excel表列名称

题目: 题解: class Solution {public String convertToTitle(int columnNumber) {StringBuffer sb new StringBuffer();while (columnNumber ! 0) {columnNumber--;sb.append((char)(columnNumber % 26 A));columnNumber / 26;}return sb.reverse().t…...

代码随想录算法训练营刷题复习10:二叉树、二叉搜索树复习2

二叉树、二叉搜索树 力扣题复习 110. 平衡二叉树257. 二叉树的所有路径404. 左叶子之和513. 找树左下角的值112.路径之和113.路经总和ii450. 删除二叉搜索树中的节点701. 二叉搜索树中的插入操作 110. 平衡二叉树 左右子树高度差要小于1 ->递归调用(need新的函…...

预测准确率达95.7%,ChatMOF利用LLM预测和生成金属有机框架,包含人工智能词汇表(AI glossary)

预测准确率达95.7%,ChatMOF利用LLM预测和生成金属有机框架,包含人工智能词汇表(AI glossary)。 金属有机框架(MOF)因其孔隙率大、表面积大和出色的可调性而用于许多化学应用。然而,在利用 AI 深入探索 MOF 设计与性能优化的研究征途中,科学家们正面临着前所未有的挑战。…...

【Linux】环境基础开发工具使用(yum、vim、gcc/g++、gdb、make/Makefile)

文章目录 Linux 软件包管理器 yumLinux开发工具Linux编辑器-vim使用vim的基本概念vim下各模式的切换vim命令模式各命令汇总vim底行模式各命令汇总批量化注释和批量化去注释vim简单的配置解决一个小问题 Linux编译器-gcc/g作用gcc/g 语法预处理编译汇编链接什么是函数库 Linux调…...

Linux基础二

目录 一,tail查看文件尾部指令 二,date显示日期指令 三,cal查看日历指令 四,find搜索指令 五,grep 查找指令 六,> 和>> 重定向输出指令 七, | 管道指令 八,&&逻辑控…...

Linux运维面试--yum安装和编译安装区别

风吹哪页读哪页,花开何时看何时。 目录 # 1.安装方式差异 ## 1.1 yum安装 ## 1.2 源码编译安装 # 2.优缺点分析 ## 2.1 yum安装优缺点 ### 2.1.1 yum安装优点 ### 2.1.2 yum安装缺点 ## 2.2 源码安装优缺点 ### 2.2.1 源码安装优点 ### 2.2.2 源码安装缺点…...

redis 的内存尽量不要超过 10g,超过 10g 可能会有问题

在使用Redis时,内存大小的限制通常取决于多种因素,包括但不限于: 1. **物理内存**:服务器的总内存大小限制了Redis可以使用的最大内存。 2. **操作系统限制**:操作系统可能对单个进程可以使用的内存有限制。 3. **Red…...

力扣(2024.06.23)

1. 62——不同路径 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径&a…...

OpenCV颜色检测

OpenCV颜色检测 前言策略分析根据颜色检测目标对象相关链接 前言 绿幕技术是一种经典的视频编辑技术,可以用于将人物置于不同的背景中。例如在电影制作中,技术的关键在于演员不能身着特定颜色的衣服(比如绿色),站在只有绿色的背景前。然后&a…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage)&#xff1a…...

JavaSec-RCE

简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性&#xff0c…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

聊聊 Pulsar:Producer 源码解析

一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)

笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...

ios苹果系统,js 滑动屏幕、锚定无效

现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索(基于物理空间 广播范围)2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

Web 架构之 CDN 加速原理与落地实践

文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 &#xf…...