2021-02-25

Подключение iSCSI: Authentication Failure OneWayCHAP / MutualCHAP (Решение)

Имеем:
usb флешка подключается к локальному компу под ubuntu - надо её монтировать в windows. 

Решение с использованием iSCSI target/initiator.

(CAVE) ubuntu 20.04 локальный компьютер (target)
(SERV) windows 10 - удалённый рабочий стол (initiator)

Типовые настройки:

sudo apt install tgt

/etc/tgt/conf.d/usb-flash.cfg:

<target iqn.2020-03.myhost.ru:lun1>
backing-store /dev/disk/by-id/usb-Netac_OnlyDisk_6237111-0:0
initiator-address 192.168.1.30
incominguser iqn.1991-05.com.microsoft:serv.local SecretStringOne
outgoinguser iqn.1991-05.com.microsoft:serv.local SecretStringTwo
</target>

sudo systemctl restart tgt

[192.168.1.30] - адрес SERV
/dev/disk/by-id/usb-Netac_OnlyDisk_6237111-0:0 - root нашего диска - его можно его глянуть когда воткнута флешка - чтобы не угадывать что за /dev/sdxxx назначено системой.

Через gui windows10 iqn.2020-03.myhost.ru:lun1 вижу и можно монтировать (непросто, да).

Задача - монтировать скриптом one-click.
Решение: powershell

Connect-IscsiTarget

Проблема - читаем доки - вроде всё правильно, но преследует ошибка:

PS C:\WINDOWS\system32>> Connect-IscsiTarget -NodeAddress iqn.2020-03.myhost.ru:lun1 -AuthenticationType OneWayCHAP -ChapUsername iqn.1991-05.com.microsoft:serv.local -ChapSecret SecretStringOne
Connect-IscsiTarget : Authentication Failure.
строка:1 знак:1
+ Connect-IscsiTarget -NodeAddress "iqn.2020-03.h001.ru:lun1" -Authenti ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (MSFT_iSCSITarget:ROOT/Microsoft/...SFT_iSCSITarget) [Connect-IscsiTarget]
   , CimException
    + FullyQualifiedErrorId : HRESULT 0xefff0009,Connect-IscsiTarget

Аналогично не работает и MutualCHAP

Решение: использовать верхний регистр типа аутентификации: ONEWAYCHAP и MUTUALCHAP (Не верьте докам!)

Connect-IscsiTarget -NodeAddress iqn.2020-03.myhost.ru:lun1 -AuthenticationType ONEWAYCHAP -ChapUsername iqn.1991-05.com.microsoft:serv.local -ChapSecret SecretStringOne

Осталось заставить MutualCHAP работать.