讲师中心 微信公众号
AI工具推荐 视频效率加速

iSCSI target 连接超时但 discovery 成功的 CHAP / mutual CHAP 配置

小芳姑娘_9130

小芳姑娘_9130

发布时间:2026-01-29 19:53:14

|

993人浏览过

|

来源于php中文网

原创

根本原因是CHAP认证仅在iSCSI login阶段触发,而discovery走无需认证的SendTargets流程;login超时多因CHAP凭据不匹配、initiatorname未授权或mutual CHAP反向凭证缺失导致target静默丢包。

iscsi target 连接超时但 discovery 成功的 chap / mutual chap 配置

为什么 discovery 成功但 login 超时

根本原因是 CHAP 认证在 iSCSI login 阶段才触发,而 discovery(即 iscsiadm -m discovery)走的是不带认证的 SendTargets 流程。即使 target 配置了 auth_type = CHAP 或 mutual_chap = Yes,discovery 仍能成功——它只看网络可达性和 target 是否响应 SendTargets 请求,完全绕过用户/密码校验。

login 超时(常见表现为 iscsiadm -m node -l 卡住 60 秒后报 connection timed out 或 session login timeout)往往不是网络问题,而是 CHAP 凭据不匹配、initiator 名称未被 target 显式授权、或 mutual CHAP 的反向凭证缺失导致 target 主动丢弃连接请求。

CHAP 用户名和 initiatorname 必须与 target 端严格一致

target(如 tgt、lio、scst)通常按 initiatorname + username 组合做 ACL 授权。哪怕只差一个空格或大小写,login 就会静默失败并最终超时。

  • /etc/iscsi/initiatorname.iscsi 中的 InitiatorName 值必须和 target 配置里白名单中的 initiator 名完全一致(例如 iqn.1993-08.org.debian:01:abcd1234)
  • CHAP username(iscsiadm -m node -o update -n node.session.auth.username -v "alice")必须与 target 端为该 initiator 配置的 username 字段一模一样
  • mutual CHAP 的 username_in(即 target 用来验证 initiator 的用户名)也必须匹配,且 target 必须明确启用 mutual_chap 并填入对应密码

target 端配置中 auth_type 和 mutual_chap 的开关逻辑

以 Linux 内核 LIO(targetcli)为例:auth_type 控制是否启用单向 CHAP;mutual_chap 是独立开关,仅当设为 Yes 且 auth_type = CHAP 时才启用双向认证。二者不是“或”关系,而是嵌套依赖。

Browser Session Manager
Browser Session Manager

使用 Playwright 为 jimeng.jianying.com 管理浏览器会话,导入 cookies/localStorage 以自动化视频生成工作流,支持图片上传等功能

下载
  • auth_type = None:即使设置了 username/password,login 也不会触发 CHAP,但若 target 强制要求认证,login 会被拒绝(非超时)
  • auth_type = CHAP + mutual_chap = No:仅 target 验证 initiator,initiator 不验证 target
  • auth_type = CHAP + mutual_chap = Yes:双方互相验证,此时 initiator 必须设置 node.session.auth.username_in 和 node.session.auth.password_in,且 target 端需配置 userid_in 和 password_in

错误配置如 mutual_chap = Yes 但 initiator 没配 username_in,会导致 target 等待 initiator 发起 mutual 验证,超时断连。

debug login 过程的三个关键命令

不要只看 iscsiadm -m node -l 的返回码。超时类问题必须抓底层交互:

  • 开启 debug 日志:iscsiadm -m node -T <target-iqn> -p <port> --op=update -n node.session.timeo.login_timeout -v 15</port></target-iqn>(先缩短超时便于测试)
  • 查看实时日志:sudo dmesg -w | grep -i "iscsi\|chap",重点关注 chap response mismatch 或 rejecting login
  • 抓包确认流程:sudo tcpdump -i any -s 0 port 3260 -w iscsi-login.pcap,用 Wireshark 打开后过滤 iscsi.opcode == 0x03(Login Request),检查其中的 Username、Password、AuthMethod 字段是否符合预期

CHAP 密码不会明文出现在包里,但 AuthMethod 和 Challenge/Response 的长度、是否含 mutual flag 可直接判断握手阶段卡在哪一步。

热门AI工具

更多
Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

相关专题

更多
session失效的原因
session失效的原因

session失效的原因有会话超时、会话数量限制、会话完整性检查、服务器重启、浏览器或设备问题等等。详细介绍:1、会话超时:服务器为Session设置了一个默认的超时时间,当用户在一段时间内没有与服务器交互时,Session将自动失效;2、会话数量限制:服务器为每个用户的Session数量设置了一个限制,当用户创建的Session数量超过这个限制时,最新的会覆盖最早的等等。

580

2023.10.17

session失效解决方法
session失效解决方法

session失效通常是由于 session 的生存时间过期或者服务器关闭导致的。其解决办法:1、延长session的生存时间;2、使用持久化存储;3、使用cookie;4、异步更新session;5、使用会话管理中间件。

876

2023.10.18

cookie与session的区别
cookie与session的区别

本专题整合了cookie与session的区别和使用方法等相关内容,阅读专题下面的文章了解更详细的内容。

1926

2025.08.19

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

4230

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

3573

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2813

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

6890

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

6522

2023.07.06

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

60

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn