Linux上配置使用iSCSI详细说明(10)

但target authentication只有在initiator authentication的基础上才能进行。也就是说target认证和initiator认证必须同时存在才可以。即initiator和target需要相互认证实现双向CHAP认证。

4.2 tgtadm命令的account模式用法

以下是tgtadm --help关于account的结果,但是用法给的并不全面。

--lld <driver> --mode account --op new --user <name> --password <pass>
--lld <driver> --mode account --op delete --user <name>
--lld <driver> --mode account --op bind --tid <id> --user <name> [--outgoing]
--lld <driver> --mode account --op unbind --tid <id> --user <name>以下是个人发现的较为全面的用法,为了偷懒,所以使用短选项格式来表示。其中

# 新建一个用户
-L <driver> -m account -o new --u <name> --p <pass>

# 删除一个用户
-L <driver> -m account -o delete --u <name>

# 查看用户列表
-L <driver> -m account -o show

# 绑定用户到target上,outgoing的意义在后文会说明
-L <driver> -m account -o bind -t <tid> -u <name> [--outgoing]

# 从target上解绑用户
-L <driver> -m account -o unbind -t <tid> -u <name> [--outgoing]

4.3 实现CHAP单向认证

首先确保target的ACL是允许initiator进行discovery的。

bash> tgt-admin -s | sed -n '/Account/,$p'
Account information:
ACL information:
    192.168.100.0/24

在target端创建initiator authentication所需的账号和密码并绑定到target_ID上。这个账号是用来对initiator进行单向认证的,所以对于target而言是incoming账号。

tgtadm -L iscsi -m account -o new --user incoming_malong --password incoming_123456
tgtadm -L iscsi -m account -o bind -t 1 --user incoming_malong

查看下绑定情况。

tgt-admin -s | sed -n '/Account/,$p'
Account information:
    incoming_malong
ACL information:
    192.168.100.0/24

由于tgtg的工作在内核当中的,所以配置好后无需重启服务,这些账号相关的就可以生效。
在initiator端修改配置文件/etc/iscsi/iscsid.conf,设置以下几项,这里故意没启用密码认证部分,是为了看到认证失败的结果。。(这里使用的是服务器B,即192.168.100.5这台机器,服务器C即192.168.100.6在后面绑定多个账号的时候拿来做测试用)

vim /etc/iscsi/iscsid.conf
node.session.auth.authmethod = CHAP
node.session.auth.username = incoming_malong
#node.session.auth.password = incoming_123456

在initiator发现,然后关联。

bash> iscsiadm -m discovery -t st -p 192.168.100.151:3260
192.168.100.151:3260,1 iqn.2017-03.com.longshuai:test.disk1 
  
bash> iscsiadm -m node -T iqn.2017-03.com.longshuai:test.disk1 -p 192.168.100.151:3260 -l
Logging in to [iface: default, target: iqn.2017-03.com.longshuai:test.disk1, portal: 192.168.100.151,3260] (multiple)
iscsiadm: Could not login to [iface: default, target: iqn.2017-03.com.longshuai:test.disk1, portal: 192.168.100.151,3260].
iscsiadm: initiator reported error (24 - iSCSI login failed due to authorization failure)
iscsiadm: Could not log into all portals

因为认证所需的密码没设置,所以认证失败了。设置为正确的账号和密码再进行发现、关联认证。

bash> vim /etc/iscsi/iscsid.conf
node.session.auth.authmethod = CHAP
node.session.auth.username = incoming_malong
node.session.auth.password = incoming_123456

bash> iscsiadm -m discovery -t st -p 192.168.100.151:3260
192.168.100.151:3260,1 iqn.2017-03.com.longshuai:test.disk1

bash> iscsiadm -m node -T iqn.2017-03.com.longshuai:test.disk1 -p 192.168.100.151:3260 -l
Logging in to [iface: default, target: iqn.2017-03.com.longshuai:test.disk1, portal: 192.168.100.151,3260] (multiple)
Login to [iface: default, target: iqn.2017-03.com.longshuai:test.disk1, portal: 192.168.100.151,3260] successful.

4.4 实现CHAP双向认证

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/12783.html