深入解析/etc/hosts.allow与 /etc/hosts.deny:灵活控制 Linux 网络访问权限
文章目录
- 深入解析/etc/hosts.allow与 /etc/hosts.deny:灵活控制 Linux 网络访问权限
- 引言
- 什么是 TCP Wrappers?
- 工作原理
- 什么是 /etc/hosts.allow 和 /etc/hosts.deny?
- 匹配规则
- 配置语法详解
- 配置示例
- 允许特定 IP 访问 SSH 服务
- 拒绝整个子网访问 FTP 服务
- 允许内网,拒绝外网
- 记录非法访问尝试
- 注意事项
- 高级配置与技巧
- 允许特定 IP 地址访问服务
- 拒绝某个网段的访问
- 混合使用/etc/hosts.allow和 /etc/hosts.deny
- 常见问题及调试
- 实际应用场景
- 限制管理端口访问
- 防止暴力破解
- 内外网隔离
- 与防火墙的对比
- 总结
深入解析/etc/hosts.allow与 /etc/hosts.deny:灵活控制 Linux 网络访问权限
引言
在 Linux 服务器管理中,保障服务的安全性至关重要。除了防火墙(如 iptables
或 firewalld
),TCP Wrappers 是一个轻量级但高效的工具,可通过 /etc/hosts.allow
和 /etc/hosts.deny
文件快速定义网络服务的访问规则。本文将深入探讨这两个文件的作用、配置方法以及实际应用场景。
什么是 TCP Wrappers?
TCP Wrappers 是一个基于主机的访问控制系统,通过封装网络服务(如 sshd
、vsftpd
等),在服务请求到达前进行权限验证。只有支持 libwrap
库的服务才能使用此机制(可以通过 ldd /usr/sbin/sshd | grep libwrap
来验证服务是否启用了 TCP Wrappers)。
工作原理
TCP Wrappers 通过检查 /etc/hosts.allow
和 /etc/hosts.deny
文件来决定是否允许远程主机访问本机服务。其工作流程如下:
- 系统首先检查
/etc/hosts.allow
文件,查看是否有匹配的规则。如果匹配成功,则允许访问。 - 如果
/etc/hosts.allow
中没有匹配项,系统会继续检查/etc/hosts.deny
文件。如果找到匹配项,则拒绝访问。 - 如果两个文件都没有匹配项,系统默认允许访问。
这种访问控制机制简单、直接,适用于大多数 Linux 系统服务。
什么是 /etc/hosts.allow 和 /etc/hosts.deny?
/etc/hosts.allow
和 /etc/hosts.deny
文件是 TCP Wrappers 的一部分,用于控制主机对系统上服务的访问权限。它们的主要作用是通过 IP 地址、主机名或网络地址来允许或拒绝远程主机的访问。
/etc/hosts.allow
:定义允许访问指定服务的主机或网络。/etc/hosts.deny
:定义拒绝访问指定服务的主机或网络。
匹配规则
- 客户端发起请求时,系统首先检查
/etc/hosts.allow
。 - 若匹配到允许规则,则直接放行。
- 若未匹配,则继续检查
/etc/hosts.deny
。 - 如果
hosts.deny
中有匹配规则,则拒绝访问。 - 如果两个文件都没有匹配规则,默认情况下允许访问。
这两个文件的作用是互补的:如果 /etc/hosts.allow
中匹配到某个主机或 IP 地址,则允许访问;如果 /etc/hosts.deny
中匹配到,则拒绝访问。
配置语法详解
/etc/hosts.allow
和 /etc/hosts.deny
的配置格式类似,每一行都包含三个部分:
服务列表 : 客户端列表 [: 操作选项]
- 服务列表:多个服务用逗号分隔(如
sshd, vsftpd
),或者使用ALL
表示所有服务。 - 客户端列表:可以使用以下格式:
- 单个 IP 地址(
192.168.1.10
) - 网段(
192.168.1.0/255.255.255.0
或192.168.1.
) - 域名(
.example.com
匹配所有子域) - 特殊关键字:
ALL
(所有客户端)、LOCAL
(本地网络)、KNOWN
(可解析的主机名)等。
- 单个 IP 地址(
- 操作选项:可以指定网络接口、用户名等额外限制。
配置示例
允许特定 IP 访问 SSH 服务
sshd: 192.168.1.0/24
sshd: 192.168.1.20, 10.0.0.5
httpd: .mydomain.com
- 允许
192.168.1.0/24
网段的主机访问 SSH 服务(sshd
) - 允许
192.168.1.20
和10.0.0.5
访问 SSH 服务(sshd
) - 允许来自
.mydomain.com
域名的所有主机访问 HTTP 服务(httpd
)
拒绝整个子网访问 FTP 服务
# /etc/hosts.deny
vsftpd: 192.168.2.0/255.255.255.0
ALL: ALL
这里一个ALL已经是全部了,我把vsftpd加到这,是表示可以拒绝FTP服务的意思
- 拒绝
192.168.2.0/24
网段的所有主机访问 FTP 服务(vsftpd
)。 ALL: ALL
会拒绝所有未在/etc/hosts.allow
中明确允许的访问。
允许内网,拒绝外网
# /etc/hosts.allow
ALL: 192.168.1.0/24, LOCAL# /etc/hosts.deny
ALL: ALL
- 允许
192.168.1.0/24
网段和本地网络访问所有服务。 - 拒绝所有其他来源的访问。
记录非法访问尝试
# /etc/hosts.deny
sshd: ALL : spawn /bin/echo "Blocked %a at %d" >> /var/log/secure.log
- 每次拒绝 SSH 访问时,记录拒绝的 IP 地址和时间到
/var/log/secure.log
文件中。
注意事项
- 优先级与顺序:
/etc/hosts.allow
的规则优先于/etc/hosts.deny
。如果同一服务在两个文件中都有配置,hosts.allow
中的规则将优先生效。 - 立即生效:修改后无需重启服务,规则会自动生效。
- 服务兼容性:只有支持 TCP Wrappers 的服务(如
sshd
、xinetd
管理的服务)才会受此控制。可以通过ldd
命令检查服务是否链接了libwrap
库(例如:ldd /usr/sbin/sshd
)。 - 避免冲突:如果同时在两个文件中为同一服务配置规则,可能会导致意外的访问控制行为,需确保规则清晰明确。
高级配置与技巧
允许特定 IP 地址访问服务
如果希望只允许某个特定 IP 地址访问某个服务,可以这样配置:
sshd: 192.168.1.10
这表示只允许 IP 地址为 192.168.1.10
的主机访问 SSH 服务。
拒绝某个网段的访问
你可以拒绝某个网段的所有访问:
ALL: 192.168.2.0/24
这表示拒绝 192.168.2.0/24
网段的主机访问所有服务。
混合使用/etc/hosts.allow和 /etc/hosts.deny
你可以灵活配置这两个文件。以下是允许特定 IP 地址访问 SSH 服务,同时拒绝其他所有主机的配置:
/etc/hosts.allow
:
sshd: 192.168.1.10
/etc/hosts.deny
:
sshd: ALL
常见问题及调试
-
配置没有生效:
- 如果修改后规则没有生效,可能是因为使用的服务没有启用 TCP Wrappers 支持。你可以通过
ldd
命令检查服务是否链接了libwrap
库。例如:ldd /usr/sbin/sshd
。
- 如果修改后规则没有生效,可能是因为使用的服务没有启用 TCP Wrappers 支持。你可以通过
-
优先级问题:
/etc/hosts.allow
中的规则优先于/etc/hosts.deny
。因此,如果在hosts.allow
中明确允许某个主机,而在hosts.deny
中拒绝了该主机的访问,hosts.allow
中的规则会优先生效。 -
服务未使用 TCP Wrappers:
不是所有服务都支持 TCP Wrappers 访问控制。你需要查阅服务的文档来确认是否支持此机制。如果不支持,建议使用防火墙(如iptables
)进行访问控制。
实际应用场景
限制管理端口访问
通过限制只允许特定 IP(如管理员 IP)访问 SSH 服务,可以提高安全性:
/etc/hosts.allow
:
sshd: 192.168.1.0/24
/etc/hosts.deny
:
sshd: ALL
防止暴力破解
结合 Fail2Ban 动态更新 /etc/hosts.deny
来封禁暴力
破解攻击者的 IP 地址。
内外网隔离
允许内网访问数据库服务,拒绝外网连接,以保护数据库的安全。
与防火墙的对比
特性 | TCP Wrappers | 防火墙(iptables) |
---|---|---|
配置复杂度 | 简单,基于文本文件 | 复杂,需学习规则语法 |
作用层级 | 应用层(服务进程) | 网络层(IP/端口) |
适用场景 | 快速控制服务访问权限 | 全面控制网络流量 |
总结
/etc/hosts.allow
和 /etc/hosts.deny
是 Linux 系统中简单却强大的访问控制工具。它们适合快速配置黑白名单,尤其在小规模环境中效果显著。对于复杂的网络控制,仍然需要结合防火墙进行全面防护。掌握其用法,能够在安全与便捷之间找到完美平衡。
提示:修改前务必备份原文件,并通过 telnet
或 nc
等工具测试规则是否生效!在配置这些文件时,务必小心,避免误配置导致合法用户无法访问系统。
相关文章:
深入解析/etc/hosts.allow与 /etc/hosts.deny:灵活控制 Linux 网络访问权限
文章目录 深入解析/etc/hosts.allow与 /etc/hosts.deny:灵活控制 Linux 网络访问权限引言什么是 TCP Wrappers?工作原理 什么是 /etc/hosts.allow 和 /etc/hosts.deny?匹配规则配置语法详解配置示例允许特定 IP 访问 SSH 服务拒绝整个子网访问…...
短跑怎么训练提高最快·棒球1号位
棒球运动员的短跑能力直接影响跑垒、防守和进攻效率,提升短跑速度需结合专项需求(如爆发力、加速度、变向能力)进行系统训练。以下为针对性训练方案: 一、专项爆发力训练(提升起跑速度) 抗阻冲刺 用弹力带…...
USRP7440-通用软件无线电平台
1、产品描述 USRP7440基于第三代XILINX Zynq UltraScale RFSoC架构,它将射频ADC、DAC、ARM、FPGA等集成一体,瞬时带宽可以达到2.5GHz,尤其适合于射频直采应用,比如通信与雷达。 第一代RFSOC高达4GHz • 8x 或 16x 6.554GSPS DAC…...
51c大模型~合集48
我自己的原文哦~ https://blog.51cto.com/whaosoft/11940475 #Mini-Omni 让大模型能听会说,国内机构开源全球首个端到端语音对话模型 本文出自启元世界多模态算法组,共同一作是来自清华大学的一年级硕士生谢之非与启元世界多模态负责人吴昌桥&…...
004-利用Docker安装Mysql
利用Docker安装Mysql 一、在镜像仓库找到 Mysql1.镜像仓库地址2.复制命令3.下载Mysql镜像4.查看镜像 二、创建实例并启动三、用本地工具连接数据库四、设置 Mysql 配置 一、在镜像仓库找到 Mysql 1.镜像仓库地址 https://hub.docker.com 2.复制命令 docker pull mysql:8.0…...
Web自动化之Selenium添加网站Cookies实现免登录
在使用Selenium进行Web自动化时,添加网站Cookies是实现免登录的一种高效方法。通过模拟浏览器行为,我们可以将已登录状态的Cookies存储起来,并在下次自动化测试或爬虫任务中直接加载这些Cookies,从而跳过登录步骤。 Cookies简介 …...
UEditor集成Markdown编辑功能方案
分步解决方案: 1. 推荐免费开源Markdown库 推荐使用 markdown-it(MIT协议) 官网:https://github.com/markdown-it/markdown-it 特点:轻量级(15KB)、扩展性强、支持CommonMark规范、中文文档丰…...
综合练习 —— 递归、搜索与回溯算法
目录 一、1863. 找出所有子集的异或总和再求和 - 力扣(LeetCode) 算法代码: 代码思路 问题分析 核心思想 实现细节 代码解析 初始化 DFS 函数 时间复杂度 空间复杂度 示例运行 输入 运行过程 总结 二、 47. 全排列 II - 力扣&a…...
Python之使用动态导包优化软件加载速度
在开发大型 Python 软件时,可能会遇到以下问题:由于静态导入了大量模块,导致软件启动时间过长,用户体验不佳。例如,一个复杂的桌面应用程序或 Web 服务可能依赖于多个大型库(如 numpy、pandas、torch 或 Yolo),这些库在启动时被静态导入,即使某些功能模块在启动时并不…...
第16天:C++多线程完全指南 - 从基础到现代并发编程
第16天:C多线程完全指南 - 从基础到现代并发编程 一、多线程基础概念 1. 线程创建与管理(C11) #include <iostream> #include <thread>void hello() {std::cout << "Hello from thread " << std::this_…...
建筑兔零基础人工智能自学记录33|基础知识1
插入学习一下一些基础概念: 1、基本概念 人工智能:让机器像人一样思考。机器学习ML:计算机获取知识的过程。深度学习:机器的一种思考方式(借助神经网络)。 三者关系 2、机器学习的方式 监督学习&#x…...
win11编译pytorchaudio cuda128版本流程
1. 前置条件 本篇续接自 win11编译pytorch cuda128版本流程,阅读前请先参考上一篇配置环境。 访问https://kkgithub.com/pytorch/audio/archive/refs/tags/v2.6.0.tar.gz下载源码,下载后解压; 2. 编译 在visual studio 2022安装目录下查找…...
Python—Excel全字段转json文件(极速版+GUI界面打包)
目录 专栏导读1、背景介绍2、库的安装3、核心代码4、完整代码(简易版)5、进阶版(GUI)总结专栏导读 🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手 🏳️🌈 博客主页:请点击——> 一晌小贪欢的博客主页求关注 👍 该系列文章专栏:请点击——…...
NLP学习记录十一:位置编码
目录 一、位置编码的意义 二、位置编码方法 三、代码实现 一、位置编码的意义 在标准的注意力机制中,每个查询都会关注所有的键-值对并生成一个注意力输出,模型并没有考虑到输入序列每个token的顺序关系。 以["我&qu…...
算法之算法主题
程序员数学 《程序员数学 v2.0》 | 小傅哥 bugstack 虫洞栈 智力题 头脑风暴题目 | Java 全栈知识体系...
【三维分割】LangSplat: 3D Language Gaussian Splatting(CVPR 2024 highlight)
论文:https://arxiv.org/pdf/2312.16084 代码:https://github.com/minghanqin/LangSplat 文章目录 一、3D language field二、回顾 Language Fields的挑战三、使用SAM学习层次结构语义四、Language Fields 的 3DGS五、开放词汇查询(Open-voca…...
Wireshark:自定义类型帧解析
文章目录 1. 前言2. 背景3. 开发 Lua 插件 1. 前言 限于作者能力水平,本文可能存在谬误,因此而给读者带来的损失,作者不做任何承诺。 2. 背景 Wireshark 不认识用 tcpdump 抓取的数据帧,仔细分析相关代码和数据帧后,…...
ES6 特性全面解析与应用实践
1、let let 关键字用来声明变量,使用let 声明的变量有几个特点: 1) 不允许重复声明 2) 块儿级作用域 3) 不存在变量提升 4) 不影响作用域链 5) 暂时性死区 6)不与顶级对象挂钩 在代码块内,使用let命令声明变量之前&#x…...
Qt跨线程信号槽调用:为什么信号不能像普通函数那样调用
1. 信号与槽机制的基本原理 在 Qt 中,信号与槽机制是一种事件驱动的通信方式,用于对象之间的解耦交互。其关键特点如下: 信号不能直接调用 信号只是一个声明,并没有实际的函数实现。它们通过 emit 关键字在对象内部被触发&…...
Zookeeper(79)如何进行Zookeeper的监控?
对 Zookeeper 进行监控是确保其高可用性和性能的关键步骤。监控 Zookeeper 通常包括以下几个方面: 健康检查:检查 Zookeeper 节点是否在线。性能指标:监控关键性能指标,如请求延迟、事务处理量等。日志监控:监控 Zook…...
【江科大STM32】TIM输出比较-PWM功能(学习笔记)
一、PWM驱动LED呼吸灯 接线图: PWM的初始化: 具体步骤: ①RCC开启时钟(把要用的TIM外设和GPIO外设时钟都打开) ② 配置时基单元,包括前面的时钟源选择 ③配置输出比较单元,里面包括CCR的值ÿ…...
playbin之autoplug_factories源码剖析
一、autoplug_factories_cb /* Called when we must provide a list of factories to plug to pad with caps.* We first check if we have a sink that can handle the format and if we do, we* return NULL, to expose the pad. If we have no sink (or the sink does not…...
Spring Cloud之注册中心之Nacos的使用
目录 Naacos 服务注册/服务发现 引⼊Spring Cloud Alibaba依赖 引入Nacos依赖 引入Load Balance依赖 配置Nacos地址 服务端调用 启动服务 Naacos Nacos是Spring Cloud Alibaba的组件, Spring Cloud Alibaba遵循Spring Cloud中定义的服务注册, 服务发现规范. 因此使⽤Na…...
React antd的datePicker自定义,封装成组件
一、antd的datePicker自定义 需求:用户需要为日期选择器的每个日期单元格添加一个Tooltip,当鼠标悬停时显示日期、可兑换流量余额和本公会可兑流量。这些数据需要从接口获取。我需要结合之前的代码,确保Tooltip正确显示,并且数据…...
【tplink】校园网接路由器如何单独登录自己的账号,wan-lan和lan-lan区别
老式路由器TPLINK,接入校园网后一人登录,所有人都能通过连接此路由器上网,无法解决遂上网搜索,无果,幸而偶然看到一个帖子说要把信号源网线接入路由器lan口,开启新世界。 一、wan-lan,lan-lan区…...
散户情绪周期模型(情绪影响操作)
目录 一、个股上涨阶段情绪演化二、个股下跌阶段情绪演化三、底部震荡阶段情绪演化四、情绪观察与操作工具箱1. 情绪自测量表(每日收盘后记录)2. 情绪-指标对照表 五、高阶情绪管理技巧1.认知重构训练2.生理指标监控(需配合智能手表ÿ…...
对比Grok3 普通账户与 30 美元 Super 账户:默认模式、Think 和 DeepSearch 次数限制以及如何升级
面对这个马斯克旗下的"最聪明"的人工智能,很多人都不知道他们的基本模式,本期将从几个方面开始说明: Grok3的背景与功能 账户类型及其详细背景 使用限制 使用限制对比表 如何充值使用 Super 账户 纯干货,带你了解…...
小程序Three Dof识别 实现景区AR体验
代码工程 GitCode - 全球开发者的开源社区,开源代码托管平台 dof...
主流Linux发行版优缺点整理及对比指南(文末附表格)
Linux发行版种类繁多,各有其设计理念和适用场景。本文整理常见发行版的优缺点,并附对比表格,帮助用户根据需求选择最适合的系统。 1. Ubuntu 定位:适合新手的通用型桌面/服务器系统优点: 安装简单,社区支持…...
用大白话解释搜索引擎Elasticsearch是什么,有什么用,怎么用
Elasticsearch是什么? Elasticsearch(简称ES)就像一个“超级智能的图书馆管理系统”,专门帮你从海量数据中快速找到想要的信息。它底层基于倒排索引技术(类似书籍的目录页),能秒级搜索和分析万…...
坐标变换及视图变换和透视变换(相机透视模型)
文章目录 2D transformationScaleReflectionShear(切变)Rotation around originTranslationReverse变换顺序复杂变换的分解 齐次坐标(Homogenous Coordinates)3D transformationScale&TranslationRotation Viewing / Camera t…...
C# 基于.NET Framework框架WPF应用程序-MQTTNet库实现MQTT消息订阅发布
C# 基于.NET Framework框架WPF应用程序-MQTTNet库实现MQTT消息订阅发布 MQTT简述MQTTNet简述创建项目(基于.NET Framework框架)安装MQTTNet库项目源码运行效果 MQTT简述 mqtt官网 MQTTNet简述 MQTTnet MQTTnet 是一个强大的开源 MQTT 客户端库&#…...
Python实现视频播放器
Python实现视频播放器 Python实现视频播放器,在如下博文中介绍过 Python实现本地视频/音频播放器https://blog.csdn.net/cnds123/article/details/137874107 Python简单GUI程序示例 中 “四、视频播放器” https://blog.csdn.net/cnds123/article/details/122903…...
介绍一款飞算JavaAI编程工具,集成到idea,图文并茂
飞算的插件下载地址,里边也有安装步骤: JavaAI 下载 从file-》setting-》plugin,然后走图中所示 选择从磁盘安装插件:找到下载好的压缩包然后进行idea重启 根据提示模块可以生成代码,就是需要等待,后期不…...
【大数据】Spark Executor内存分配原理与调优
【大数据】Spark Executor内存管理与调优 Executor内存总体布局 统一内存管理 堆内内存 (On-heap Memory) 堆外内存 (Off-heap Memory) Execution 内存和 Storage 内存动态占用机制 任务内存管理(Task Memory Manager) 只用了堆内内存的示例 用了…...
Python 课堂点名桌面小程序
一、场景分析 闲来无事,老婆说叫我开发一个课堂点名桌面小程序,给她在课堂随机点名学生问问题。 人生苦短,那就用 Python 给她写一个吧。 二、依赖安装 因为要用到 excel,所以安装两个依赖: pip install openpyxl…...
配置Spring Boot中的Jackson序列化
配置Spring Boot中的Jackson序列化 在开发基于Spring Boot的应用程序时,Jackson是默认的JSON序列化和反序列化工具。它提供了强大的功能,可以灵活地处理JSON数据。然而,Jackson的默认行为可能无法完全满足我们的需求。例如,日期格…...
Rust学习总结之-match
Rust 有一个叫做 match 的极为强大的控制流运算符,它允许我们将一个值与一系列的模式相比较,并根据相匹配的模式执行相应代码。模式可由字面量、变量、通配符和许多其他内容构成。 一:match定义 可以把 match 表达式想象成某种硬币分类器&a…...
实践教程:使用DeepSeek实现PDF转Word的高效方案
🎈Deepseek推荐工具 PDF文件因其跨平台、格式稳定的特性被广泛使用,但在内容编辑场景中,用户常需将PDF转换为可编辑的Word文档。传统的付费工具(如Adobe Acrobat)或在线转换平台存在成本高、隐私风险等问题。本文将使…...
鸿蒙 ArkUI 实现 2048 小游戏
2048 是一款经典的益智游戏,玩家通过滑动屏幕合并相同数字的方块,最终目标是合成数字 2048。本文基于鸿蒙 ArkUI 框架,详细解析其实现过程,帮助开发者理解如何利用声明式 UI 和状态管理构建此类游戏。 一、核心数据结构与状态管理…...
az devops login报错:Failed to authenticate using the supplied token.
PowerShell,az devops login报错: Failed to authenticate using the supplied token. 检查了一下PAT token是对的。 检查命令: az devops login --organization https://dev.azure.com/xxxxxxxx/ 乍一看好像没问题问题,然后想…...
C ++ 静态存储区+堆空间
静态存储区 特点: 1:生命周期很长,main函数开始之前就存在,main函数结束,才结束 2:同名变量的管理,与栈不一样(重名变量前提,作用域一样): 栈:遇到重名变…...
gtest 和 gmock讲解
Google Test(gtest)和 Google Mock(gmock)是 Google 开发的用于 C 的测试框架和模拟框架,以下是对它们的详细讲解: Google Test(gtest) 简介 Google Test 是一个用于 C 的单元测试框…...
docker的下载与使用(一)
本文默认使用linux系统以及会linux的基本指令,windows下安装docker较为繁琐 docker是什么 Docker 是一个开源的应用容器引擎,基于go 语言并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中&…...
鸿蒙HarmonyOS NEXT开发:组件-样式-基础 2
// 1 // 2 ArkUI 基本语法 // 方舟开发框架(简称:ArkUI),是一套 构建HarmonyOS应用 界面 的框架。 // 构建页面的最小单位就是 "组件"。 // 组件名(参数) { // 内容 // } // .属性1() // .属性2() // .属性N() import text from @ohos.graphics.text // @En…...
如何理解数据库的几种事务隔离级别?以及如何理解脏读、不可重复度、幻读?
在多用户并发访问数据库时,数据库系统需要通过事务隔离级别来控制不同事务之间的相互影响。不同的隔离级别可以避免或减少在并发环境下可能出现的数据不一致或冲突。常见的事务隔离级别有四种:读未提交(Read Uncommitted)、读已提…...
计算机网络基础简答题资料(对口高考)
1、什么是计算机网络?计算机网络的功能有哪些? 答案:计算机网络,是指将分布在不同地理位置、具有独立功能的多台计算机及其外围设备,通过通信设备和通信线路连接起来,在网络操作系统、网络管理软件及网络通…...
在docker容器中运行vllm部署deepseek-r1大模型
# 在本地部署python环境 cd /app/ python -m venv myenv # 激活虚拟环境 source /app/myenv/activate # 要撤销激活一个虚拟环境,请输入: deactivate# 进入虚拟环境安装modelscope pip install modelscope# 下载大模型(7B为例) modelscope do…...
HeidiSQL如何替换代码中的某些信息
1.SQL代码里的某些内容,比如2025年这个日期信息,我想替换成2024年的,按照:“搜索”---“替换文本”然后按照图片上的步骤来就可以了,特别是在sql代码有几百行甚至几千行的时候使用 2.SQL代码的表格对象中的数据如何一次性把某个内…...
Wireshark 插件开发实战指南
Wireshark 插件开发实战指南 环境搭建流程图 #mermaid-svg-XpNibno7BIyfzNn5 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-XpNibno7BIyfzNn5 .error-icon{fill:#552222;}#mermaid-svg-XpNibno7BIyfzNn5 .error-t…...