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

2023-12-02 0 906
目录
  • 一 iSCSI和CHAP介绍
    • 1.1 iSCSI 磁盘
    • 1.2 CHAP介绍
      • 1.2.1 initiator authentication认证
      • 1.2.2 target authentication认证
      • 1.2.3 单/双向认证
  • 二 iSCSI创建步骤
    • 三 前置准备
      • 3.1 环境准备
        • 3.2 查看裸磁盘
        • 四 创建后备存储
          • 五 防火墙开放
            • 六 开启服务
              • 七 客户端配置
                • 八 客户端登录
                  • 8.1 发现目标
                    • 8.2 登录目标
                      • 8.3 查询信息
                      • 九 格式化并挂载
                        • 9.1 格式化并挂载

                        一 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 -l
                        Disk /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_auth
                        DISCOVERY_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=u1pass
                        The 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 = CHAP
                        node.session.auth.username = user01
                        node.session.auth.password = u1pass
                        node.session.auth.username_in = muser01
                        node.session.auth.password_in = m1pass
                        discovery.sendtargets.auth.authmethod = CHAP
                        discovery.sendtargets.auth.username = discover
                        discovery.sendtargets.auth.password = discoverps
                        [root@client ~]# systemctl restart iscsid

                        八 客户端登录

                        8.1 发现目标

                        [root@client ~]# iscsiadm -m discovery -t sendtargets -p 172.24.8.72                        #发现目标
                        172.24.8.72:3260,1 iqn.2022-11.com.imxhy:disk01

                        8.2 登录目标

                        [root@client ~]# iscsiadm -m node -T iqn.2022-11.com.imxhy:disk01 -p 172.24.8.72 -l          
                        #登录目标

                        8.3 查询信息

                        [root@client ~]# iscsiadm -m session -o show
                        tcp: [23] 172.24.8.72:3260,1 iqn.2022-11.com.imxhy:disk01 (non-flash)
                        [root@client ~]# iscsiadm -m session -P 3        #查询信息
                        iSCSI Transport Class version 2.0-870
                        version 6.2.0.874-22
                        Target: iqn.2022-11.com.imxhy:disk01 (non-flash)
                                Current Portal: 172.24.8.72:3260,1
                                Persistent Portal: 172.24.8.72:3260,1
                                        **********
                                        Interface:
                                        Iface Name: default
                                        Iface Transport: tcp
                                        Iface Initiatorname: iqn.2021-11.com.imxhy:client
                                        Iface IPaddress: 172.24.8.71
                                        Iface HWaddress: <empty>
                                        Iface Netdev: <empty>
                                        SID: 1
                                        iSCSI Connection State: LOGGED IN
                                        iSCSI Session State: LOGGED_IN
                                        Internal iscsid Session State: NO CHANGE
                                        *********
                                        Timeouts:
                                        Recovery Timeout: 120
                                        Target Reset Timeout: 30
                                        LUN Reset Timeout: 30
                                        Abort Timeout: 15
                                        *****
                                        CHAP:
                                        username: user01
                                        password: ********
                                        username_in: muser01
                                        password_in: ********
                                        ************************
                                        Negotiated iSCSI params:
                                        HeaderDigest: None
                                        DataDigest: None
                                        MaxRecvDataSegmentLength: 262144
                                        MaxXmitDataSegmentLength: 262144
                                        FirstBurstLength: 65536
                                        MaxBurstLength: 262144
                                        ImmediateData: Yes
                                        InitialR2T: Yes
                                        MaxOutstandingR2T: 1
                                        Attached SCSI devices:
                                        Host Number: 3  State: running
                                        scsi3 Channel 00 Id 0 Lun: 0
                                                Attached scsi disk sdb          State: running

                        [root@client ~]# iscsiadm -m node -o show
                        # BEGIN RECORD 6.2.0.874-22
                        node.name = iqn.2022-11.com.imxhy:disk01
                        node.tpgt = 1
                        node.startup = automatic
                        ……
                        iface.transport_name = tcp
                        node.discovery_address = 172.24.8.72
                        node.discovery_port = 3260
                        node.discovery_type = send_targets
                        node.session.initial_cmdsn = 0
                        node.session.initial_login_retry_max = 8
                        node.session.xmit_thread_priority = -20
                        node.session.cmds_max = 128
                        node.session.queue_depth = 32
                        node.session.nr_sessions = 1
                        node.session.auth.authmethod = CHAP
                        node.session.auth.username = user01
                        node.session.auth.password = ********
                        node.session.auth.username_in = muser01
                        node.session.auth.password_in = ********
                        node.session.scan = auto
                        node.conn[0].address = 172.24.8.72
                        node.conn[0].port = 3260

                        # END RECORD

                        [root@client ~]# fdisk -l                #发现的iSCSI服务器三个共享

                        九 格式化并挂载

                        9.1 格式化并挂载

                        注意:

                        1:此时能当做本地磁盘使用,分区格式化等操作;

                        2:可使用RAID或LVM来进行操作,LVM的可在之后格式化LV。

                        [root@client ~]# mkfs.ext4 /dev/sdb                 #格式化相关iSCSI磁盘
                        [root@client ~]# mkdir -p /iscsdisk/sdb01            #创建用于挂载sdd磁盘的挂载点        
                        [root@client ~]# mkdir -p /iscsdisk/lv01             #创建用于挂载LVM分区的挂载点
                        [root@client ~]# mount /dev/sdb /iscsdisk/sdb01/      #可直接挂载
                        [root@client ~]# vi /etc/fstab                      #自动挂载
                        ……
                        /dev/sdb /iscsdisk/lv01    ext4    defaults    0 0

                        到此这篇关于iSCSI服务器CHAP双向认证配置的文章就介绍到这了,更多相关iSCSI服务器CHAP内容请搜索悠久资源以前的文章或继续浏览下面的相关文章希望大家以后多多支持悠久资源!

                        收藏 (0) 打赏

                        感谢您的支持,我会继续努力的!

                        打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
                        点赞 (0)

                        悠久资源 服务器其它 iSCSI服务器CHAP双向认证配置及创建步骤 https://www.u-9.cn/server/qita-server/34204.html

                        常见问题

                        相关文章

                        发表评论
                        暂无评论
                        官方客服团队

                        为您解决烦忧 - 24小时在线 专业服务