Fedora에서 TrueNAS의 SMB 공유에 연결하려고 합니다. SMB 데이터 암호화를 활성화하기 전까지는 잘 작동했습니다. TrueNAS의 서비스 구성(전역 설정)에 다음을 넣었습니다.
unix extensions = yes
server signing = required
client smb encrypt = required
server smb3 encryption algorithms = -AES-128-GCM -AES-128-CCM
특정 SMB 공유의 다음(공유당 설정)
server smb encrypt = required
그런 다음 다음을 통해 SMB 공유를 마운트하려고했습니다.
sudo mount -t smb3 -o cred=<my_cred_file>,uid=1000,gid=1000,mfsymlinks //<TrueNAS IP>/NAS /mnt/NAS
그리고, 붐, mount error(13): Permission denied
.
에서는 dmesg
다음과 같이 말합니다.
[112496.066462] CIFS: Attempting to mount //<TrueNAS IP>/NAS
[112496.085283] CIFS: VFS: sign fail cmd 0x3 message id 0x3
[112496.085287] CIFS: VFS: \\<TrueNAS IP> SMB signature verification returned error = -13
[112496.085290] CIFS: VFS: \\<TrueNAS IP> failed to connect to IPC (rc=-13)
[112496.085294] CIFS: VFS: session 00000000639775cf has no tcon available for a dfs referral request
[112496.085480] CIFS: VFS: sign fail cmd 0x3 message id 0x4
[112496.085481] CIFS: VFS: \\<TrueNAS IP> SMB signature verification returned error = -13
[112496.085684] CIFS: VFS: sign fail cmd 0x2 message id 0x5
[112496.085687] CIFS: VFS: \\<TrueNAS IP> SMB signature verification returned error = -13
[112496.085690] CIFS: VFS: \\<TrueNAS IP> __cifs_put_smb_ses: Session Logoff failure rc=-13
[112496.085700] CIFS: VFS: cifs_mount failed w/return code = -13
AES-256을 강제하는 행을 제거하면(AES-128은 허용되지 않음):
server smb3 encryption algorithms = -AES-128-GCM -AES-128-CCM
명령 이 mount
제대로 작동할 것입니다.
그러나 강제 AES-256 구성을 그대로 유지하더라도 macOS 및 iOS의 Finder와 KDE의 Dolphin에서 SMB 공유에 계속 연결할 수 있습니다(KDE에서는 fedora를 사용하고 있습니다).
그렇다면 smbclient
AES-256 암호화는 cli에서 전혀 지원되지 않습니까? 아니면 마운트를 열어서 완전히 작동하게 만들 수 있는 것이 있나요?
그건 그렇고, smbclient --version
주어진 Version 4.19.4
.
mount
업데이트: 아래는 의견에서 제안한 자세한 출력입니다.
$ sudo mount -t smb3 --verbose -o cred=<my_cred_file>,uid=1000,gid=1000,mfsymlinks //<TrueNAS IP>/NAS /mnt/NAS
mount.smb3 kernel mount options: ip=<TrueNAS IP>,unc=\\<TrueNAS IP>\NAS,mfsymlinks,uid=1000,gid=1000,user=<My Username>,pass=********
mount error(13): Permission denied
Refer to the mount.smb3(8) manual page (e.g. man mount.smb3) and kernel log messages (dmesg)
업데이트: 다른 sec
옵션을 시도했습니다.
krb5
/krb5i
:mount
자세한 출력:$ sudo mount -t smb3 --verbose -o cred=<my_cred_file>,uid=1000,gid=1000,mfsymlinks,sec=<krb5/krb5i> //<TrueNAS IP>/NAS /mnt/NAS mount.smb3 kernel mount options: ip=<TrueNAS IP>,unc=\\<TrueNAS IP>\NAS,mfsymlinks,sec=<krb5/krb5i>,uid=1000,gid=1000,user=<My Username>,pass=******** mount.smb3 kernel mount options: ip=<TrueNAS IP>,unc=\\<TrueNAS IP>\NAS,mfsymlinks,sec=<krb5/krb5i>,uid=1000,cruid=1000,gid=1000,user=<My Username>,pass=******** mount error(126): Required key not available Refer to the mount.smb3(8) manual page (e.g. man mount.smb3) and kernel log messages (dmesg)
dmesg
산출:[190212.841620] CIFS: Attempting to mount //<TrueNAS IP>/NAS [190212.851741] CIFS: VFS: unknown or missing server auth type, use krb5 [190212.861466] CIFS: VFS: Verify user has a krb5 ticket and keyutils is installed [190212.861472] CIFS: VFS: \\<TrueNAS IP> Send error in SessSetup = -126 [190212.861487] CIFS: VFS: cifs_mount failed w/return code = -126
ntlm/ntlmi
:mount
자세한 출력:$ sudo mount -t smb3 --verbose -o cred=<my_cred_file>,uid=1000,gid=1000,mfsymlinks,sec=<ntlm/ntlmi> //<TrueNAS IP>/NAS /mnt/NAS mount.smb3 kernel mount options: ip=<TrueNAS IP>,unc=\\<TrueNAS IP>\NAS,mfsymlinks,sec=ntlm,uid=1000,gid=1000,user=<My Username>,pass=******** mount error(22): Invalid argument Refer to the mount.smb3(8) manual page (e.g. man mount.smb3) and kernel log messages (dmesg)
dmesg
산출:[190683.752148] bad security option: <ntlm/ntlmi> [190683.752170] CIFS: VFS: bad security option: <ntlm/ntlmi>
ntlmv2
//ntlmv2i
/ntlmssp
:ntlmsspi
이 네 가지 옵션은mount
자세한 출력에 차이가 없거나 옵션을dmesg
지정하지 않는 것과 비교하여 차이가 없습니다sec
.
업데이트: 옵션을 cifs
지정해 보세요 vers
.
vers=2.0
:mount
산출:mount.cifs kernel mount options: ip=<TrueNAS IP>,unc=\\<TrueNAS IP>\NAS,mfsymlinks,vers=2.0,uid=1000,gid=1000,user=<My Username>,pass=******** mount error(13): Permission denied Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) and kernel log messages (dmesg)
dmesg
:[281141.068174] CIFS: Attempting to mount //<TrueNAS IP>/NAS [281141.085261] CIFS: VFS: \\<TrueNAS IP> smb2_calc_signature: Could not find session [281141.085286] CIFS: VFS: \\<TrueNAS IP> __cifs_put_smb_ses: Session Logoff failure rc=-2 [281141.085298] CIFS: VFS: cifs_mount failed w/return code = -13
vers=1.0
:mount
산출:mount.cifs kernel mount options: ip=<TrueNAS IP>,unc=\\<TrueNAS IP>\NAS,mfsymlinks,vers=1.0,uid=1000,gid=1000,user=<My Username>,pass=******** mount error(95): Operation not supported Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) and kernel log messages (dmesg)
제거했는데
mfsymlinks
(SMB1.0은 지원되지 않나요?) 출력은 동일합니다.demsg
:[281295.220579] Use of the less secure dialect vers=1.0 is not recommended unless required for access to very old servers [281295.220601] CIFS: VFS: Use of the less secure dialect vers=1.0 is not recommended unless required for access to very old servers [281295.220609] CIFS: Attempting to mount //<TrueNAS IP>/NAS [281295.231815] CIFS: VFS: cifs_mount failed w/return code = -95