linux iscsi chap认证配置

早在《RH254小结(八)iscsi服务应用搭建》中有提到iscsi的搭建和使用,不过真正在现网使用iscsi协议的存储时,一般会配置chap认证以增加安全。chap是Challenge-Handshake Authentication Protocol的简写。chap认证又分为单向认证和双向认证。

一、单向认证

单向认证是仅initiator连接target时进行认证。这个配置比较简单,打开/etc/iscsi/iscsid.conf 文件,找到如下三项并取消注释:

node.session.auth.authmethod = CHAP   //开启CHAP认证
node.session.auth.username = redhat    //配置账号
node.session.auth.password = redhat123  //密码

通过以下命令重启服务并生效:

/etc/init.d/iscsid restart
或
systemctl restart iscsid

上面的配置只是在开机自启动时会查找该配置中的信息,如果想要通过命令行测试用户名密码的有效性可以使用如下命令:

# 发现target
iscsiadm -m discovery -t sendtargets -p 10.131.131.150  //发现
iscsiadm -m node -T iqn.2006-08.com.huawei:oceanstor:10.131.131.150 -l   //登陆
iscsiadm -m node -o delete -T iqn.2006-08.com.huawei:oceanstor:10.131.131.150 //删除session
# 使用用户名密码
iscsiadm -m node -o update -p 10.131.131.150 -n node.session.auth.authmethod -v CHAP
iscsiadm -m node -o update -p 10.131.131.150 -n node.session.auth.username -v myusername
iscsiadm -m node -o update -p 10.131.131.150 -n node.session.auth.password -v mypassword
# 也可以使用下面的格式
iscsiadm -m node -T iqn.2006-08.com.huawei:oceanstor:10.131.131.150 -o update --name node.session.auth.authmethod --value=CHAP
iscsiadm -m node -T iqn.2006-08.com.huawei:oceanstor:10.131.131.150 --op update --name node.session.auth.username --value=myusername
iscsiadm -m node -T iqn.2006-08.com.huawei:oceanstor:10.131.131.150 --op update --name node.session.auth.password --value=mypassword

连接后,可以使用如下命令查看连接状态:

# 查看状态
iscsiadm -m node
iscsiadm -m node -o show
# 查看连接后状态
iscsiadm -m session -o show

上面的连接状态信息,也可以通过进入/var/lib/iscsi/ifaces/目录通过查看文件进行查看。对于已经连接过的session,可以使用如下命令删除该session:

for iqn in `iscsiadm -m node|awk '{print $NF}'`;do iscsiadm -m node -T $iqn -u;done
for iqn in `iscsiadm -m node|awk '{print $NF}'`;do iscsiadm -m node -o delete -T $iqn;done

二、双向认证

双向认证就是在Initiator端和target端都进行认证。Initiator 认证:在initiator尝试连接到一个target的时候,initator需要提供一个用户名和密码给target供target进行认证。下面我们称这个用户名密码为incoming账号,即:incoming账号是initiator端提供给target端,供target端认证的账号。target 认证:在initiator尝试连接到一个target的时候,target需要提供一个用户名和密码给initiator供initiator进行认证。与之对应的是outcoming账号,即:outcoming账号是target端提供给initiator端,供initiator认证的账号。双向认证的配置如下:

# To set a CHAP username and password for initiator
# authentication by the target(s), uncomment the following lines:
node.session.auth.username = username
node.session.auth.password = password
# To set a CHAP username and password for target(s)
# authentication by the initiator, uncomment the following lines:
node.session.auth.username_in = username_in
node.session.auth.password_in = password_in

三、有关多路径聚合

存储端一般会有多控,也就是可以由多个对应的IP可供discovery 和 login使用,比如一个两控的就会使用如下的方式进行挂载:

# iscsiadm -m node -p <存储系统A控iSCSI主机端口的IP-A> -l
# iscsiadm -m node -p <存储系统B控iSCSI主机端口的IP-B> -l

接下来可以使用多路径软件进行聚合,这里以multipath为例,使用如下指令生成配置文件并重启服务生效。

# mpathconf --enable
# mpathconf --with_module y
# mpathconf --with_multipathd y

具体可以参考:multipath多路径配置




本站的发展离不开您的资助,金额随意,欢迎来赏!

You can donate through PayPal.
My paypal id: itybku@139.com
Paypal page: https://www.paypal.me/361way

分类: Linux/unix/mac 标签: ,
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.