007.iSCSI服务器CHAP双向认证配置
一 iSCSI和CHAP介绍
1.1 iSCSI 磁盘
- iSCSI后端存储支持多种设备类型,主要有:
- 文件
- 单一分区(partition)
- 磁盘
- 数组
- RAID
- LVM
在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和端口
- 检查并保存配置
- 防火墙规则开放
- 服务(开机)启动
[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设备
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:Iface Netdev: 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: 3State: running scsi3 Channel 00 Id 0 Lun: 0 Attached scsi disk sdbState: 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/lv01ext4defaults0 0
【007.iSCSI服务器CHAP双向认证配置】
推荐阅读
- java如何从linux服务器下载文件
- lol6月五日服务器维护,LOL6月5日测试服更新_6月5日PBE改动一览_3DM网游
- Linux|[Linux] 生成 PEM 密钥对实现服务器的免密登录
- Linux|Linux socket编程(C语言socket实现客户端与服务器网络通信)
- linux远程开发|linux远程开发——网络通信(客户端与服务器建立连接)
- linux服务器安装openwrt|linux服务器安装openwrt,探索openwrt安装宝塔,搭建web网站论坛社区网校
- docker|docker+wordpress搭建个人博客(如何在阿里云服务器上线部署个人博客)
- 一个服务器轻松存储上亿数据,TDengine 在北京智能建筑边缘存储的应用
- 高防服务器和香港独享服务器有什么区别,优势在哪里()
- 服务器|MQTT服务器部署