linux iscsi chap认证配置
早在《RH254小结(八)iscsi服务应用搭建》中有提到iscsi的搭建和使用,不过真正在现网使用iscsi协议的存储时,一般会配置chap认证以增加安全。chap是Challenge-Handshake Authentication Protocol的简写。chap认证又分为单向认证和双向认证。
一、单向认证
单向认证是仅initiator连接target时进行认证。这个配置比较简单,打开/etc/iscsi/iscsid.conf 文件,找到如下三项并取消注释:
1node.session.auth.authmethod = CHAP //开启CHAP认证
2node.session.auth.username = redhat //配置账号
3node.session.auth.password = redhat123 //密码
通过以下命令重启服务并生效:
1/etc/init.d/iscsid restart
2或
3systemctl restart iscsid
上面的配置只是在开机自启动时会查找该配置中的信息,如果想要通过命令行测试用户名密码的有效性可以使用如下命令:
1# 发现target
2iscsiadm -m discovery -t sendtargets -p 10.131.131.150 //发现
3iscsiadm -m node -T iqn.2006-08.com.huawei:oceanstor:10.131.131.150 -l //登陆
4iscsiadm -m node -o delete -T iqn.2006-08.com.huawei:oceanstor:10.131.131.150 //删除session
5# 使用用户名密码
6iscsiadm -m node -o update -p 10.131.131.150 -n node.session.auth.authmethod -v CHAP
7iscsiadm -m node -o update -p 10.131.131.150 -n node.session.auth.username -v myusername
8iscsiadm -m node -o update -p 10.131.131.150 -n node.session.auth.password -v mypassword
9# 也可以使用下面的格式
10iscsiadm -m node -T iqn.2006-08.com.huawei:oceanstor:10.131.131.150 -o update --name node.session.auth.authmethod --value=CHAP
11iscsiadm -m node -T iqn.2006-08.com.huawei:oceanstor:10.131.131.150 --op update --name node.session.auth.username --value=myusername
12iscsiadm -m node -T iqn.2006-08.com.huawei:oceanstor:10.131.131.150 --op update --name node.session.auth.password --value=mypassword
连接后,可以使用如下命令查看连接状态:
1# 查看状态
2iscsiadm -m node
3iscsiadm -m node -o show
4# 查看连接后状态
5iscsiadm -m session -o show
上面的连接状态信息,也可以通过进入/var/lib/iscsi/ifaces/目录通过查看文件进行查看。对于已经连接过的session,可以使用如下命令删除该session:
1for iqn in `iscsiadm -m node|awk '{print $NF}'`;do iscsiadm -m node -T $iqn -u;done
2for 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认证的账号。双向认证的配置如下:
1# To set a CHAP username and password for initiator
2# authentication by the target(s), uncomment the following lines:
3node.session.auth.username = username
4node.session.auth.password = password
5# To set a CHAP username and password for target(s)
6# authentication by the initiator, uncomment the following lines:
7node.session.auth.username_in = username_in
8node.session.auth.password_in = password_in
三、有关多路径聚合
存储端一般会有多控,也就是可以由多个对应的IP可供discovery 和 login使用,比如一个两控的就会使用如下的方式进行挂载:
1# iscsiadm -m node -p <存储系统A控iSCSI主机端口的IP-A> -l
2# iscsiadm -m node -p <存储系统B控iSCSI主机端口的IP-B> -l
接下来可以使用多路径软件进行聚合,这里以multipath为例,使用如下指令生成配置文件并重启服务生效。
1# mpathconf --enable
2# mpathconf --with_module y
3# mpathconf --with_multipathd y
具体可以参考:multipath多路径配置
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/iscsi-chap/6337.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.