您当前的位置:首页 > 网站建设 > 网站维护
| php | asp | css | H5 | javascript | Mysql | Dreamweaver | Delphi | 网站维护 | 帝国cms | React | 考试系统 | ajax | jQuery |

iSCSI服务器CHAP双向认证配置及创建步骤

51自学网 2022-07-22 18:49:22
  网站维护

一 iSCSI和CHAP介绍

1.1 iSCSI 磁盘

  • iSCSI后端存储支持多种设备类型,主要有:
  • 文件
  • 单一分区(partition)

1.磁盘

2.数组

3.RAID

LVM 本手册建议以裸磁盘vdb作为示例,其他类型配置参考《002.iSCSI服务端多类型配置》。 同时本手册基于生产环境安全考虑,结合CHAP进行配置认证。

1.2 CHAP介绍

基于IP的认证比较粗糙,对于安全性要求高的环境来说,使用CHAP认证其安全性更有保障。

CHAP(Challenge-Handshake Authentication Protocol),称为挑战式握手认证协议,它是双向认证,当然也支持单向认证。

对于iscsi而言,在CHAP认证的机制上有两种方式:initiator authentication和target authentication。

1.2.1 initiator authentication认证

在initiator尝试连接到一个target的时候,initator需要提供一个用户名和密码给target被target进行认证。

也就是说initiator需要被target认证,它向target端提供的账号和密码是target端指定的。

这个账号和密码对于target来说是流入的账号和密码,用incoming表示。

称呼这个账号和密码为:incoming账号和incoming密码。

即,incoming账号是initiator端提供给target端,被target端认证的账号。

1.2.2 target authentication认证

在initiator尝试连接到一个target的时候,target有时也需要被initiator认证,以确保该target是合法而非伪装的target,这就要求target提供一个用户名和密码给initiator被initiator进行认证。 
target向initiator提供的账号和密码对于target而言是流出的,所以称之为outgoing。 
称呼这个账号和密码为:outgoing账号和outgoing密码。 
而对于initiator而言是incoming的,所以在initiator配置文件中称为in。 
也就是说outgoing账号是target端提供给initiator端,被initiator认证的账号,但尽管如此,这个账号和密码还是在target端创建和绑定的。

1.2.3 单/双向认证

两种认证方式是有层次顺序的。 
一般来说,有认证需求的时候都是服务器验证客户端是否有权限,iscsi也一样。 
initiator authentication可以单独存在,它可以在没有target authentication的情况下应用,这时候的CHAP认证就是单向认证(target认证initiator的合法性)。 
但target authentication只有在initiator authentication的基础上才能进行。也就是说target认证和initiator认证必须同时存在才可以。即initiator和target需要相互认证实现双向CHAP认证。

注意:发现认证和登录认证都支持单/双向认证。

二 iSCSI创建步骤

  • 建立用于共享的磁盘
  • 创建后备磁盘
  • 创建相应的IQN
  • 创建相应的规则
  • 为后备磁盘创建LUN
  • 创建双向认证账号和密码
  • 指定侦听的IP和端口
  • 检查并保存配置
  • 防火墙规则开放
  • 服务(开机)启动

三 前置准备

3.1 环境准备

主机名

IP

备注

iscsi

172.24.8.72

iSCSI服务器

client

172.24.8.71

iSCSI客户端

3.2 查看裸磁盘

[root@iscsi ~]# fdisk -lDisk /dev/sdb: 1073 MB, 1073741824 bytes, 2097152 sectors

四 创建后备存储

4.1 安装相关软件

[root@iscsi ~]# yum -y install targetcli

4.2 交互设置

[root@system1 ~]# targetcli	                                                 #进入targetcli交互配置视图
  • block:定义的块设备,磁盘驱动器、磁盘分区、LVM等
  • fileio:创建的指定大小的文件,如dd if=/dev/zero of=……所创建
  • pscsi:物理SCSI,通常不采用此类型
  • ramdisk:在内存中创建的一个指定大小ramdisk设备
Copyright 2011-2013 by Datera, Inc and others.For help on commands, type 'help'. /> /backstores/block create block1 /dev/sdb                              #将裸磁盘创建为后备盘/> /iscsi create wwn=iqn.2022-11.com.imxhy:disk01 #创建符合名称的IQN/> /iscsi/iqn.2022-11.com.imxhy:disk01/tpg1/luns create /backstores/block/block1        #将创建的后备磁盘block1创建一个LUN/> /iscsi/iqn.2022-11.com.imxhy:disk01/tpg1/acls create iqn.2021-11.com.imxhy:client      #只允许配置iqn.2021-11.com.imxhy:client的key才能使用此iSCSI提供的磁盘服务/> /iscsi/iqn.2021-11.com.imxhy:disk01/tpg1/portals/ delete 0.0.0.0 3260                     #删除默认的全部侦听/> /iscsi/iqn.2022-11.com.imxhy:disk01/tpg1/portals/ create 172.24.8.72 3260                 #指定本地用于侦听客户端连接的IP/> /iscsi/ set discovery_auth enable=1 userid=discover password=discoverps                   #选配,本实验增加discovery的认证/> /iscsi/ get discovery_authDISCOVERY_AUTH CONFIG GROUP===========================enable=True-----------The enable discovery_auth parameter.mutual_password=----------------The mutual_password discovery_auth parameter.mutual_userid=--------------The mutual_userid discovery_auth parameter.password=discoverps-------------------The password discovery_auth parameter.userid=discover---------------The userid discovery_auth parameter./> /iscsi/iqn.2022-11.com.imxhy:disk01/tpg1/acls/iqn.2021-11.com.imxhy:client/ set auth userid=user01 password=u1pass mutual_userid=muser01 mutual_password=m1pass/> /iscsi/iqn.2022-11.com.imxhy:disk01/tpg1/acls/iqn.2021-11.com.imxhy:client/ get auth       #查看配置AUTH CONFIG GROUP=================mutual_password=m1pass----------------------The mutual_password auth parameter.mutual_userid=muser01---------------------The mutual_userid auth parameter.password=u1passThe password auth parameter.userid=user01-------------The userid auth parameter./> ls /o- / ......................................................................................................................... [...]o- backstores .............................................................................................................. [...]| o- block .................................................................................................. [Storage Objects: 1]| | o- block1 ........................................................................... [/dev/sdb (1.0GiB) write-thru activated]| | o- alua ................................................................................................... [ALUA Groups: 1]| | o- default_tg_pt_gp ....................................................................... [ALUA state: Active/optimized]| o- fileio ................................................................................................. [Storage Objects: 0]| o- pscsi .................................................................................................. [Storage Objects: 0]| o- ramdisk ................................................................................................ [Storage Objects: 0]o- iscsi ........................................................................................... [1-way disc auth, Targets: 1]| o- iqn.2022-11.com.imxhy:disk01 ...................................................................................... [TPGs: 1]| o- tpg1 ............................................................................................... [no-gen-acls, no-auth]| o- acls .......................................................................................................... [ACLs: 1]| | o- iqn.2021-11.com.imxhy:client ......................................................................... [Mapped LUNs: 1]| | o- mapped_lun0 ................................................................................ [lun0 block/block1 (rw)]| o- luns .......................................................................................................... [LUNs: 1]| | o- lun0 ..................................................................... [block/block1 (/dev/sdb) (default_tg_pt_gp)]| o- portals .................................................................................................... [Portals: 1]| o- 172.24.8.72:3260 ................................................................................................. [OK]o- loopback ......................................................................................................... [Targets: 0]/> exit

提示:如上操作:

1:创建的ACL将分配到每个LUN。

2:创建LUN必须在TPG下。

3:若不指定端口将采用默认端口3260

4:若不指定IP,将允许服务器上定义的所有网络接口上的连接

5:创建LUN必须在TPG下

五 防火墙开放

[root@iscsi ~]# firewall-cmd --add-port=3260/tcp --permanent                  #防火墙添加iSCSI的端口[root@iscsi ~]# firewall-cmd --add-service=iscsi-target --permanent              #防火墙放通iSCSI target服务[root@iscsi ~]# firewall-cmd --reload

六 开启服务

[root@iscsi ~]# systemctl enable target --now

七 客户端配置

[root@client ~]# yum -y install iscsi-initiator-utils                             #安装客户端[root@client ~]# vim /etc/iscsi/initiatorname.iscsi                              #配置CHAP认证InitiatorName=iqn.2021-11.com.imxhy:client[root@client ~]# vim /etc/iscsi/iscsid.conf……node.session.auth.authmethod = CHAPnode.session.auth.username = user01node.session.auth.password = u1passnode.session.auth.username_in = muser01node.session.auth.password_in = m1passdiscovery.sendtargets.auth.authmethod = CHAPdiscovery.sendtargets.auth.username = discoverdiscovery.sendtargets.auth.password = discoverps[root@client ~]# systemctl restart iscsid

八 客户端登录

8.1 发现目标

[root@client ~]# iscsiadm -m discovery -t sendtargets -p 172.24.8.72 
下载地址:
阿里云ECS排查CPU数据分析
搭建Consul服务发现与服务网格
51自学网,即我要自学网,自学EXCEL、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。
京ICP备13026421号-1