从 Fedora 38 升级到 39 会导致使用 kerberos ( sec=krb5
) 从 Synology NAS 挂载 NFSv4 共享。使用
mount -v -t nfs -o nfsvers=4,minorversion=1,sec=krb5 10.123.99.2:/volume1/video /mnt/
在Fedora 39客户端上,我收到以下错误:
mount.nfs: timeout set for Sat Feb 24 12:25:20 2024
mount.nfs: trying text-based options 'nfsvers=4,sec=krb5,vers=4.1,addr=10.123.99.2,clientaddr=10.123.99.10'
mount.nfs: mount(2): Permission denied
mount.nfs: access denied by server while mounting 10.123.99.2:/volume1/video
幸运的是,有关 Synology NAS(服务器)的信息更有帮助:我在以下位置收到以下错误/var/log/messages
:
svcgssd[10330]: ERROR: GSS-API: error in handle_nullreq: gss_accept_sec_context(): GSS_S_FAILURE (Unspecified GSS failure. Minor code may provide more information) - Encryption type aes256-cts-hmac-sha384-192 not permitted
由于另一台Fedora 38仍然可以完美运行,我认为新的Fedora 39系统默认使用 Synology NAS 不支持的新加密类型。因此,我尝试了allow_weak_crypto = true
,default_tgs_enctypes = aes256-cts-hmac-sha1-96
和/或default_tkt_enctypes = aes256-cts-hmac-sha1-96
in /etc/krb5.conf
,但对服务器上的问题及其错误消息没有影响。(它破坏了使用我的标准用户名登录。我使用 FreeIPA 服务器进行授权和身份验证,所以我想这与其他加密不同。)
在 reddit 上,我得到了玩 的提示update-crypto-policies
。这也行不通。
有没有办法设置使用哪种加密?还是您认为还有其他问题?
谢谢!
每个服务的 Kerberos enctypes 在 KDC 上设置。当客户端请求服务票证时,KDC 在客户端声称支持的类型和 KDC认为服务将支持的类型之间选择最强的共同类型(因为 KDC 不与服务通信)。
例如,使用 MIT Kerberos,您可以在通过 kadmin 生成密钥表或设置服务帐户的密码(在 KDC 上生成密钥)时指定自定义的 enctypes 列表。另一方面,Active Directory 为此目的提供了“支持 AES”复选框。
我不知道您如何使用 FreeIPA 执行此操作,但我假设它是您用来生成
nfs/
Synology 密钥表的命令的一部分。