12.4. Pre-Shared-Keys로 TLS를 사용하여 NVMe/TCP 호스트 구성
TLS 암호화를 활성화하는 동안 TCP(NVMe™/TCP) 호스트를 통해 NVMe(Non-volatile Memory Express™) 호스트를 구성할 수 있습니다. NVMe/TLS 구성은 TLS PSK(Pre-Shared Key)를 사용합니다.
NVM Express TCP 전송 사양은 시스템 간에 PSK 정보를 교환하기 위한 PSK 상호 교환 형식을 지정합니다. nvme-cli
또는 기타 방법을 사용하여 이 형식으로 PSK를 생성할 수 있습니다(예: 스토리지 대상에 생성, 벤더 문서 참조). 그런 다음 nvme-cli
에서 이러한 PSK를 사용하여 보존된 PSK를 파생하는데 사용되며, 이 PSK는 사용할 커널 인증 키에 삽입됩니다.
TLS를 사용하는 NVMe/TCP는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. Red Hat은 프로덕션 환경에서 사용하는 것을 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
사전 요구 사항
-
nvme_tcp
커널 모듈이 시스템에 설치되어 있습니다. 다음 패키지가 시스템에 설치되어 있습니다.
-
nvme-cli
-
ktls-utils
-
- Cryostat NVMe 정규화된 이름(Subsystem NQN)이 있습니다.
- 시스템에 대한 root 권한이 있습니다.
프로세스
pre-Shared-Key 키 링을 구성합니다.
호스트 NQN 확인:
HOSTNQN=$(nvme show-hostnqn)
# HOSTNQN=$(nvme show-hostnqn)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 새로 구성된 PSK를 생성하고 복사합니다.
PSK=$(nvme gen-tls-key)
# PSK=$(nvme gen-tls-key)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow echo $PSK
# echo $PSK
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pre-Shared-Key 키 링을 구성합니다.
nvme check-tls-key --insert --hostnqn=${HOSTNQN} --subsysnqn=${SUBSYSTEM} --keydata=${PSK} --identity=1
# nvme check-tls-key --insert --hostnqn=${HOSTNQN} --subsysnqn=${SUBSYSTEM} --keydata=${PSK} --identity=1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
tlshd
서비스를 구성합니다.인증 키 이름을
/etc/tlshd.conf
구성 파일에 추가합니다.... [authenticate] keyring=.nvme ...
... [authenticate] keyring=.nvme ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow tlshd
서비스를 다시 시작합니다.systemctl restart tlshd
# systemctl restart tlshd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
NVMe 패브릭 연결에 대해 TLS를 활성화합니다.
nvme discover -t tcp --tls -a ${TRADDR} -s 4420
# nvme discover -t tcp --tls -a ${TRADDR} -s 4420
Copy to Clipboard Copied! Toggle word wrap Toggle overflow nvme connect -t tcp --tls -a ${TRADDR} -s 4420 -n ${SUBSYSTEM}
# nvme connect -t tcp --tls -a ${TRADDR} -s 4420 -n ${SUBSYSTEM}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
현재 연결된 NVMe 장치를 나열합니다.
nvme list
# nvme list Node Generic SN Model Namespace Usage Format FW Rev --------------------- --------------------- -------------------- ---------------------------------------- ---------- -------------------------- ---------------- -------- /dev/nvme4n1 /dev/ng4n1 81JJAJTOpnmUAAAAAAAB NetApp ONTAP Controller 0x1 16.17 GB / 161.06 GB 4 KiB + 0 B 9.16.1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow