https://github.com/gssapi/gssproxy/blob/main/docs/NFS.md
Der Server braucht NUR gssproxy. 24-nfs-server in /etc/gssproxy stellt beim Start von gssproxy.service sicher, dass der Kernel immer nach gssproxy für auth fragt.
Da gssproxy pro Service unterschiedliche Keytabs erlaubt ist das Service-Principal völlig egal, am besten nur für nfs/ ein keytab anlegen:
root@server:/etc/gssproxy# cat 24-nfs-server.conf
[service/nfs-server]
mechs = krb5
socket = /run/gssproxy.sock
cred_store = keytab:/etc/krb5.keytab.nfs
trusted = yes
kernel_nfsd = yes
euid = 0
debug_level = 1
und nur für nfs ein principal erstellen:
kadmin.local: addprinc -randkey nfs/servername.domain.tld@DOMAIN.TLD
kadmin.local: ktadd -k /etc/krb5.keytab.nfs nfs/servername.domain.tld@DOMAIN.TLD
Diese Principals sollten dann auch im LDAP auftauchen. @NOTE ausprobieren ob auch nfs/service.domain.tld@DOMAIN.TLD jetzt funktioniert
/etc/exports
# root-fs - hier einfach Ordner anlegen, können direkt als Share gemounted werden
# fsid=0 --> root export, hier müssen die andern exports drunterliegen
# verkürzt den export-pfad von /srv/nfs/ auf /
/srv/nfs 10.126.0.0/255.255.0.0(fsid=0,crossmnt,rw,sync,root_squash,no_all_squash,no_subtree_check,sec=krb5)
# Home-FS ohne Crossmnt
/srv/nfs/homes 10.126.0.0/255.255.0.0(fsid=1,rw,sync,root_squash,no_all_squash,no_subtree_check,sec=krb5)
Der NFS-Server braucht kein use_gssproxy für rpc-gssd
/etc/nfs.conf
[nfsd]
vers3=n
vers4=y
vers4.0=n
vers4.1=n
vers4.2=y
Braucht man nicht für NFS4
systemctl disable rpcbind.target
systemctl disable rpcbind.socket
systemctl disable rpcbind.service
systemctl stop rpcbind.target
systemctl stop rpcbind.socket
systemctl stop rpcbind.service