Ken McDonald
2018-Mar-04  01:52 UTC
[Samba] Samba AD + Kerbero + NFS "Client no longer in database"
I am soo lost trying to get Samba AD 4.7.5 as a Kerberos source for 
NFSv4. The NFS server is the Samba AD server running Ubuntu Server 
16.0.4.3 and the client is Linux Mint 18.3
This export WORKS and mounts on client
########## /etc/exports ##########
/mnt/fileshare         *(rw,no_subtree_check,async)
############################
This export DOES NOT
########## /etc/exports ##########
/mnt/fileshare *(rw,async,no_subtree_check,sec=krb5p:krb5i:krb5)
############################
The error I get on client side is
########## console ##########
sudo mount -vvvv -t nfs4 -o sec=krb5 ubuntu-nfs:/mnt/fileshare 
/mnt/fileshare
mount.nfs4: timeout set for Sat Mar  3 20:27:51 2018
mount.nfs4: trying text-based options 
'sec=krb5,addr=172.20.100.151,clientaddr=172.20.100.205'
mount.nfs4: mount(2): Permission denied
mount.nfs4: access denied by server while mounting ubuntu-nfs:/mnt/fileshare
############################
On server side, syslog is no help.
########## /var/log/syslog ##########
Mar  3 20:25:53 ubuntu-nfs rpc.mountd[2377]: auth_unix_ip: inbuf 'nfsd 
172.20.100.205'
Mar  3 20:25:53 ubuntu-nfs rpc.mountd[2377]: v4root_create: path '/' 
flags 0x12405
Mar  3 20:25:53 ubuntu-nfs rpc.mountd[2377]: v4root_create: path '/mnt' 
flags 0x10405
Mar  3 20:25:53 ubuntu-nfs rpc.mountd[2377]: auth_unix_ip: client 
0x16ec5b0 '*'
############################
On server side, I increased Samba logging level to log level = 4 and I 
get this error when the remote mount fails initially
########## /usr/local/samba/var/log.samba ##########
SUBDOMAIN[2018/03/03 20:18:57.282480,  3] 
../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper)
   Kerberos: AS-REQ 
nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM from 
ipv4:172.20.100.205:36129 for 
krbtgt/SUBDOMAIN.DOMAIN.COM at SUBDOMAIN.DOMAIN.COM
[2018/03/03 20:18:57.287154,  3] 
../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper)
   Kerberos: Client sent patypes: 149
[2018/03/03 20:18:57.287185,  3] 
../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper)
   Kerberos: Looking for PKINIT pa-data -- 
nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM
[2018/03/03 20:18:57.287207,  3] 
../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper)
   Kerberos: Looking for ENC-TS pa-data -- 
nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM
[2018/03/03 20:18:57.287406,  3] 
../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper)
   Kerberos: No preauth found, returning PREAUTH-REQUIRED -- 
nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM
[2018/03/03 20:18:57.288906,  3] 
../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper)
   Kerberos: AS-REQ 
nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM from 
ipv4:172.20.100.205:39005 for 
krbtgt/SUBDOMAIN.DOMAIN.COM at SUBDOMAIN.DOMAIN.COM
[2018/03/03 20:18:57.292893,  3] 
../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper)
   Kerberos: Client sent patypes: encrypted-timestamp, 149
[2018/03/03 20:18:57.292921,  3] 
../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper)
   Kerberos: Looking for PKINIT pa-data -- 
nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM
[2018/03/03 20:18:57.292937,  3] 
../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper)
   Kerberos: Looking for ENC-TS pa-data -- 
nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM
[2018/03/03 20:18:57.293106,  3] 
../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper)
   Kerberos: ENC-TS Pre-authentication succeeded -- 
nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM using 
aes256-cts-hmac-sha1-96
[2018/03/03 20:18:57.297323,  3] 
../auth/auth_log.c:760(log_authentication_event_human_readable)
   Auth: [Kerberos KDC,ENC-TS Pre-authentication] user 
[(null)]\[nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM] at 
[Sat, 03 Mar 2018 20:18:57.297240 EST] with [aes256-cts-hmac-sha1-96] 
status [NT_STATUS_OK] workstation [(null)] remote host 
[ipv4:172.20.100.205:39005] became [SUBDOMAIN]\[MINT-NFS$] 
[S-1-5-21-1314416752-3121880105-2930208240-1104]. local host [NULL]
[2018/03/03 20:18:57.297491,  3] ../auth/auth_log.c:220(log_json)
   JSON Authentication: {"timestamp":
"2018-03-03T20:18:57.297385-0500",
"type": "Authentication", "Authentication":
{"authDescription": "ENC-TS
Pre-authentication", "version": {"major": 1,
"minor": 0}, "becameSid":
"S-1-5-21-1314416752-3121880105-2930208240-1104",
"netlogonComputer":
null, "status": "NT_STATUS_OK",
"netlogonTrustAccount": null,
"serviceDescription": "Kerberos KDC",
"localAddress": "NULL",
"clientAccount": 
"nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM", 
"remoteAddress": "ipv4:172.20.100.205:39005",
"clientDomain": null,
"workstation": null, "becameAccount": "MINT-NFS$",
"mappedAccount":
"MINT-NFS$", "becameDomain": "SUBDOMAIN",
"netlogonSecureChannelType":
0, "mappedDomain": "SUBDOMAIN",
"netlogonNegotiateFlags": "0x00000000",
"netlogonTrustAccountSid": "(NULL SID)",
"passwordType":
"aes256-cts-hmac-sha1-96"}}
[2018/03/03 20:18:57.297615,  3] 
../auth/auth_log.c:139(get_auth_event_server)
   get_auth_event_server: Failed to find 'auth_event' registered on the 
message bus to send JSON authentication events to: 
NT_STATUS_OBJECT_NAME_NOT_FOUND
[2018/03/03 20:18:57.297648,  4] 
../source4/auth/sam.c:189(authsam_account_ok)
   authsam_account_ok: Checking SMB password for user 
nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM
[2018/03/03 20:18:57.307065,  3] 
../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper)
   Kerberos: AS-REQ authtime: 2018-03-03T20:18:57 starttime: unset 
endtime: 2018-03-04T06:18:57 renew till: 2018-03-04T20:18:57
[2018/03/03 20:18:57.307839,  3] 
../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper)
   Kerberos: Client supported enctypes: aes256-cts-hmac-sha1-96, 
aes128-cts-hmac-sha1-96, arcfour-hmac-md5, des3-cbc-sha1, 25, 26, using 
aes256-cts-hmac-sha1-96/aes256-cts-hmac-sha1-96
[2018/03/03 20:18:57.307878,  3] 
../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper)
   Kerberos: Requested flags: renewable-ok
[2018/03/03 20:18:57.310239,  3] 
../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper)
   Kerberos: AS-REQ 
nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM from 
ipv4:172.20.100.205:57552 for 
krbtgt/SUBDOMAIN.DOMAIN.COM at SUBDOMAIN.DOMAIN.COM
[2018/03/03 20:18:57.314895,  3] 
../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper)
   Kerberos: Client sent patypes: encrypted-timestamp, 149
[2018/03/03 20:18:57.314932,  3] 
../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper)
   Kerberos: Looking for PKINIT pa-data -- 
nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM
[2018/03/03 20:18:57.314951,  3] 
../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper)
   Kerberos: Looking for ENC-TS pa-data -- 
nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM
[2018/03/03 20:18:57.315138,  3] 
../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper)
   Kerberos: ENC-TS Pre-authentication succeeded -- 
nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM using 
aes256-cts-hmac-sha1-96
[2018/03/03 20:18:57.315187,  3] 
../auth/auth_log.c:760(log_authentication_event_human_readable)
   Auth: [Kerberos KDC,ENC-TS Pre-authentication] user 
[(null)]\[nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM] at 
[Sat, 03 Mar 2018 20:18:57.315174 EST] with [aes256-cts-hmac-sha1-96] 
status [NT_STATUS_OK] workstation [(null)] remote host 
[ipv4:172.20.100.205:57552] became [SUBDOMAIN]\[MINT-NFS$] 
[S-1-5-21-1314416752-3121880105-2930208240-1104]. local host [NULL]
[2018/03/03 20:18:57.315435,  3] ../auth/auth_log.c:220(log_json)
   JSON Authentication: {"timestamp":
"2018-03-03T20:18:57.315308-0500",
"type": "Authentication", "Authentication":
{"authDescription": "ENC-TS
Pre-authentication", "version": {"major": 1,
"minor": 0}, "becameSid":
"S-1-5-21-1314416752-3121880105-2930208240-1104",
"netlogonComputer":
null, "status": "NT_STATUS_OK",
"netlogonTrustAccount": null,
"serviceDescription": "Kerberos KDC",
"localAddress": "NULL",
"clientAccount": 
"nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM", 
"remoteAddress": "ipv4:172.20.100.205:57552",
"clientDomain": null,
"workstation": null, "becameAccount": "MINT-NFS$",
"mappedAccount":
"MINT-NFS$", "becameDomain": "SUBDOMAIN",
"netlogonSecureChannelType":
0, "mappedDomain": "SUBDOMAIN",
"netlogonNegotiateFlags": "0x00000000",
"netlogonTrustAccountSid": "(NULL SID)",
"passwordType":
"aes256-cts-hmac-sha1-96"}}
[2018/03/03 20:18:57.315512,  3] 
../auth/auth_log.c:139(get_auth_event_server)
   get_auth_event_server: Failed to find 'auth_event' registered on the 
message bus to send JSON authentication events to: 
NT_STATUS_OBJECT_NAME_NOT_FOUND
[2018/03/03 20:18:57.315622,  4] 
../source4/auth/sam.c:189(authsam_account_ok)
   authsam_account_ok: Checking SMB password for user 
nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM
[2018/03/03 20:18:57.322796,  3] 
../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper)
   Kerberos: AS-REQ authtime: 2018-03-03T20:18:57 starttime: unset 
endtime: 2018-03-04T06:18:57 renew till: 2018-03-04T20:18:57
[2018/03/03 20:18:57.323216,  3] 
../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper)
   Kerberos: Client supported enctypes: aes256-cts-hmac-sha1-96, 
aes128-cts-hmac-sha1-96, arcfour-hmac-md5, des3-cbc-sha1, 25, 26, using 
aes256-cts-hmac-sha1-96/aes256-cts-hmac-sha1-96
[2018/03/03 20:18:57.323256,  3] 
../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper)
   Kerberos: Requested flags: renewable-ok
[2018/03/03 20:18:57.323763,  3] 
../source4/smbd/service_stream.c:65(stream_terminate_connection)
   Terminating connection - 'kdc_tcp_call_loop: 
tstream_read_pdu_blob_recv() - NT_STATUS_CONNECTION_DISCONNECTED'
[2018/03/03 20:18:57.323830,  3] 
../source4/smbd/process_single.c:114(single_terminate)
   single_terminate: reason[kdc_tcp_call_loop: 
tstream_read_pdu_blob_recv() - NT_STATUS_CONNECTION_DISCONNECTED]
############################
In addition, there is a series of these messages repeating after the 
initial connection and any subsequent remount attempt just lists these 
messages below
########## /usr/local/samba/var/log.samba ##########
[2018/03/03 20:18:57.330456,  3] 
../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper)
     Kerberos: TGS-REQ 
nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM from 
ipv4:172.20.100.205:57554 for 
nfs/ubuntu-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM [canonicalize, 
renewable]
   [2018/03/03 20:18:57.334817,  3] 
../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper)
     Kerberos: Client no longer in database: 
nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM
   [2018/03/03 20:18:57.334883,  3] 
../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper)
     Kerberos: ret: -1765328378
   [2018/03/03 20:18:57.334944,  3] 
../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper)
     Kerberos: Failed building TGS-REP to ipv4:172.20.100.205:57554
   [2018/03/03 20:18:57.336124,  3] 
../source4/smbd/service_stream.c:65(stream_terminate_connection)
     Terminating connection - 'kdc_tcp_call_loop: 
tstream_read_pdu_blob_recv() - NT_STATUS_CONNECTION_DISCONNECTED'
   [2018/03/03 20:18:57.336195,  3] 
../source4/smbd/process_single.c:114(single_terminate)
     single_terminate: reason[kdc_tcp_call_loop: 
tstream_read_pdu_blob_recv() - NT_STATUS_CONNECTION_DISCONNECTED]
############################
I believe the "Client no longer in database" message is the root
error.
I added code to Samba sources to pull exact message code of -1765328378 
which I found means KRB5KDC_ERR_C_PRINCIPAL_UNKNOWN
I created the server and client keytab files using these kinds of commands
sudo samba-tool spn add nfs/ubuntu-nfs.subdomain.domain.com
"UBUNTU-NFS\$"
sudo samba-tool domain exportkeytab 
--principal=nfs/ubuntu-nfs.subdomain.domain.com ~/ubuntu-nfs.keytab
and put the files in /etc/krb5.keytab . I can verify in ADUC that these 
SPNs do exist on the machine accounts for server and client
I'm soo lost. I had this working on a prior test vm setup but started 
over to clean up my documentation. I've got no idea where to go next to 
make the NFSv4 mount work using Kerberos from Samba AD
Norbert Hanke
2018-Mar-11  22:43 UTC
[Samba] Samba AD + Kerbero + NFS "Client no longer in database"
On 04.03.2018 02:52, Ken McDonald via samba wrote:> I am soo lost trying to get Samba AD 4.7.5 as a Kerberos source for > NFSv4. The NFS server is the Samba AD server running Ubuntu Server > 16.0.4.3 and the client is Linux Mint 18.3 > > This export WORKS and mounts on client > > ########## /etc/exports ########## > > /mnt/fileshare *(rw,no_subtree_check,async) > > ############################ > > This export DOES NOT > > ########## /etc/exports ########## > > /mnt/fileshare *(rw,async,no_subtree_check,sec=krb5p:krb5i:krb5) > > ############################ > > The error I get on client side is > > ########## console ########## > > sudo mount -vvvv -t nfs4 -o sec=krb5 ubuntu-nfs:/mnt/fileshare > /mnt/fileshare > > mount.nfs4: timeout set for Sat Mar 3 20:27:51 2018 > mount.nfs4: trying text-based options > 'sec=krb5,addr=172.20.100.151,clientaddr=172.20.100.205' > mount.nfs4: mount(2): Permission denied > mount.nfs4: access denied by server while mounting > ubuntu-nfs:/mnt/fileshare > > ############################ > > On server side, syslog is no help. > > ########## /var/log/syslog ########## > > Mar 3 20:25:53 ubuntu-nfs rpc.mountd[2377]: auth_unix_ip: inbuf 'nfsd > 172.20.100.205' > Mar 3 20:25:53 ubuntu-nfs rpc.mountd[2377]: v4root_create: path '/' > flags 0x12405 > Mar 3 20:25:53 ubuntu-nfs rpc.mountd[2377]: v4root_create: path > '/mnt' flags 0x10405 > Mar 3 20:25:53 ubuntu-nfs rpc.mountd[2377]: auth_unix_ip: client > 0x16ec5b0 '*' > > ############################ > > On server side, I increased Samba logging level to log level = 4 and I > get this error when the remote mount fails initially > > ########## /usr/local/samba/var/log.samba ########## > > SUBDOMAIN[2018/03/03 20:18:57.282480, 3] > ../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper) > Kerberos: AS-REQ > nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM from > ipv4:172.20.100.205:36129 for > krbtgt/SUBDOMAIN.DOMAIN.COM at SUBDOMAIN.DOMAIN.COM > [2018/03/03 20:18:57.287154, 3] > ../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper) > Kerberos: Client sent patypes: 149 > [2018/03/03 20:18:57.287185, 3] > ../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper) > Kerberos: Looking for PKINIT pa-data -- > nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM > [2018/03/03 20:18:57.287207, 3] > ../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper) > Kerberos: Looking for ENC-TS pa-data -- > nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM > [2018/03/03 20:18:57.287406, 3] > ../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper) > Kerberos: No preauth found, returning PREAUTH-REQUIRED -- > nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM > [2018/03/03 20:18:57.288906, 3] > ../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper) > Kerberos: AS-REQ > nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM from > ipv4:172.20.100.205:39005 for > krbtgt/SUBDOMAIN.DOMAIN.COM at SUBDOMAIN.DOMAIN.COM > [2018/03/03 20:18:57.292893, 3] > ../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper) > Kerberos: Client sent patypes: encrypted-timestamp, 149 > [2018/03/03 20:18:57.292921, 3] > ../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper) > Kerberos: Looking for PKINIT pa-data -- > nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM > [2018/03/03 20:18:57.292937, 3] > ../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper) > Kerberos: Looking for ENC-TS pa-data -- > nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM > [2018/03/03 20:18:57.293106, 3] > ../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper) > Kerberos: ENC-TS Pre-authentication succeeded -- > nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM using > aes256-cts-hmac-sha1-96 > [2018/03/03 20:18:57.297323, 3] > ../auth/auth_log.c:760(log_authentication_event_human_readable) > Auth: [Kerberos KDC,ENC-TS Pre-authentication] user > [(null)]\[nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM] at > [Sat, 03 Mar 2018 20:18:57.297240 EST] with [aes256-cts-hmac-sha1-96] > status [NT_STATUS_OK] workstation [(null)] remote host > [ipv4:172.20.100.205:39005] became [SUBDOMAIN]\[MINT-NFS$] > [S-1-5-21-1314416752-3121880105-2930208240-1104]. local host [NULL] > [2018/03/03 20:18:57.297491, 3] ../auth/auth_log.c:220(log_json) > JSON Authentication: {"timestamp": > "2018-03-03T20:18:57.297385-0500", "type": "Authentication", > "Authentication": {"authDescription": "ENC-TS Pre-authentication", > "version": {"major": 1, "minor": 0}, "becameSid": > "S-1-5-21-1314416752-3121880105-2930208240-1104", "netlogonComputer": > null, "status": "NT_STATUS_OK", "netlogonTrustAccount": null, > "serviceDescription": "Kerberos KDC", "localAddress": "NULL", > "clientAccount": > "nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM", > "remoteAddress": "ipv4:172.20.100.205:39005", "clientDomain": null, > "workstation": null, "becameAccount": "MINT-NFS$", "mappedAccount": > "MINT-NFS$", "becameDomain": "SUBDOMAIN", "netlogonSecureChannelType": > 0, "mappedDomain": "SUBDOMAIN", "netlogonNegotiateFlags": > "0x00000000", "netlogonTrustAccountSid": "(NULL SID)", "passwordType": > "aes256-cts-hmac-sha1-96"}} > [2018/03/03 20:18:57.297615, 3] > ../auth/auth_log.c:139(get_auth_event_server) > get_auth_event_server: Failed to find 'auth_event' registered on the > message bus to send JSON authentication events to: > NT_STATUS_OBJECT_NAME_NOT_FOUND > [2018/03/03 20:18:57.297648, 4] > ../source4/auth/sam.c:189(authsam_account_ok) > authsam_account_ok: Checking SMB password for user > nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM > [2018/03/03 20:18:57.307065, 3] > ../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper) > Kerberos: AS-REQ authtime: 2018-03-03T20:18:57 starttime: unset > endtime: 2018-03-04T06:18:57 renew till: 2018-03-04T20:18:57 > [2018/03/03 20:18:57.307839, 3] > ../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper) > Kerberos: Client supported enctypes: aes256-cts-hmac-sha1-96, > aes128-cts-hmac-sha1-96, arcfour-hmac-md5, des3-cbc-sha1, 25, 26, > using aes256-cts-hmac-sha1-96/aes256-cts-hmac-sha1-96 > [2018/03/03 20:18:57.307878, 3] > ../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper) > Kerberos: Requested flags: renewable-ok > [2018/03/03 20:18:57.310239, 3] > ../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper) > Kerberos: AS-REQ > nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM from > ipv4:172.20.100.205:57552 for > krbtgt/SUBDOMAIN.DOMAIN.COM at SUBDOMAIN.DOMAIN.COM > [2018/03/03 20:18:57.314895, 3] > ../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper) > Kerberos: Client sent patypes: encrypted-timestamp, 149 > [2018/03/03 20:18:57.314932, 3] > ../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper) > Kerberos: Looking for PKINIT pa-data -- > nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM > [2018/03/03 20:18:57.314951, 3] > ../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper) > Kerberos: Looking for ENC-TS pa-data -- > nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM > [2018/03/03 20:18:57.315138, 3] > ../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper) > Kerberos: ENC-TS Pre-authentication succeeded -- > nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM using > aes256-cts-hmac-sha1-96 > [2018/03/03 20:18:57.315187, 3] > ../auth/auth_log.c:760(log_authentication_event_human_readable) > Auth: [Kerberos KDC,ENC-TS Pre-authentication] user > [(null)]\[nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM] at > [Sat, 03 Mar 2018 20:18:57.315174 EST] with [aes256-cts-hmac-sha1-96] > status [NT_STATUS_OK] workstation [(null)] remote host > [ipv4:172.20.100.205:57552] became [SUBDOMAIN]\[MINT-NFS$] > [S-1-5-21-1314416752-3121880105-2930208240-1104]. local host [NULL] > [2018/03/03 20:18:57.315435, 3] ../auth/auth_log.c:220(log_json) > JSON Authentication: {"timestamp": > "2018-03-03T20:18:57.315308-0500", "type": "Authentication", > "Authentication": {"authDescription": "ENC-TS Pre-authentication", > "version": {"major": 1, "minor": 0}, "becameSid": > "S-1-5-21-1314416752-3121880105-2930208240-1104", "netlogonComputer": > null, "status": "NT_STATUS_OK", "netlogonTrustAccount": null, > "serviceDescription": "Kerberos KDC", "localAddress": "NULL", > "clientAccount": > "nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM", > "remoteAddress": "ipv4:172.20.100.205:57552", "clientDomain": null, > "workstation": null, "becameAccount": "MINT-NFS$", "mappedAccount": > "MINT-NFS$", "becameDomain": "SUBDOMAIN", "netlogonSecureChannelType": > 0, "mappedDomain": "SUBDOMAIN", "netlogonNegotiateFlags": > "0x00000000", "netlogonTrustAccountSid": "(NULL SID)", "passwordType": > "aes256-cts-hmac-sha1-96"}} > [2018/03/03 20:18:57.315512, 3] > ../auth/auth_log.c:139(get_auth_event_server) > get_auth_event_server: Failed to find 'auth_event' registered on the > message bus to send JSON authentication events to: > NT_STATUS_OBJECT_NAME_NOT_FOUND > [2018/03/03 20:18:57.315622, 4] > ../source4/auth/sam.c:189(authsam_account_ok) > authsam_account_ok: Checking SMB password for user > nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM > [2018/03/03 20:18:57.322796, 3] > ../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper) > Kerberos: AS-REQ authtime: 2018-03-03T20:18:57 starttime: unset > endtime: 2018-03-04T06:18:57 renew till: 2018-03-04T20:18:57 > [2018/03/03 20:18:57.323216, 3] > ../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper) > Kerberos: Client supported enctypes: aes256-cts-hmac-sha1-96, > aes128-cts-hmac-sha1-96, arcfour-hmac-md5, des3-cbc-sha1, 25, 26, > using aes256-cts-hmac-sha1-96/aes256-cts-hmac-sha1-96 > [2018/03/03 20:18:57.323256, 3] > ../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper) > Kerberos: Requested flags: renewable-ok > [2018/03/03 20:18:57.323763, 3] > ../source4/smbd/service_stream.c:65(stream_terminate_connection) > Terminating connection - 'kdc_tcp_call_loop: > tstream_read_pdu_blob_recv() - NT_STATUS_CONNECTION_DISCONNECTED' > [2018/03/03 20:18:57.323830, 3] > ../source4/smbd/process_single.c:114(single_terminate) > single_terminate: reason[kdc_tcp_call_loop: > tstream_read_pdu_blob_recv() - NT_STATUS_CONNECTION_DISCONNECTED] > > ############################ > > In addition, there is a series of these messages repeating after the > initial connection and any subsequent remount attempt just lists these > messages below > > ########## /usr/local/samba/var/log.samba ########## > > [2018/03/03 20:18:57.330456, 3] > ../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper) > Kerberos: TGS-REQ > nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM from > ipv4:172.20.100.205:57554 for > nfs/ubuntu-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM > [canonicalize, renewable] > [2018/03/03 20:18:57.334817, 3] > ../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper) > Kerberos: Client no longer in database: > nfs/mint-nfs.subdomain.domain.com at SUBDOMAIN.DOMAIN.COM > [2018/03/03 20:18:57.334883, 3] > ../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper) > Kerberos: ret: -1765328378 > [2018/03/03 20:18:57.334944, 3] > ../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper) > Kerberos: Failed building TGS-REP to ipv4:172.20.100.205:57554 > [2018/03/03 20:18:57.336124, 3] > ../source4/smbd/service_stream.c:65(stream_terminate_connection) > Terminating connection - 'kdc_tcp_call_loop: > tstream_read_pdu_blob_recv() - NT_STATUS_CONNECTION_DISCONNECTED' > [2018/03/03 20:18:57.336195, 3] > ../source4/smbd/process_single.c:114(single_terminate) > single_terminate: reason[kdc_tcp_call_loop: > tstream_read_pdu_blob_recv() - NT_STATUS_CONNECTION_DISCONNECTED] > > ############################ > > I believe the "Client no longer in database" message is the root > error. I added code to Samba sources to pull exact message code of > -1765328378 which I found means KRB5KDC_ERR_C_PRINCIPAL_UNKNOWN > > I created the server and client keytab files using these kinds of > commands > > sudo samba-tool spn add nfs/ubuntu-nfs.subdomain.domain.com > "UBUNTU-NFS\$" > > sudo samba-tool domain exportkeytab > --principal=nfs/ubuntu-nfs.subdomain.domain.com ~/ubuntu-nfs.keytab > > and put the files in /etc/krb5.keytab . I can verify in ADUC that > these SPNs do exist on the machine accounts for server and client > > I'm soo lost. I had this working on a prior test vm setup but started > over to clean up my documentation. I've got no idea where to go next > to make the NFSv4 mount work using Kerberos from Samba AD >This looks very similar to a problem I had with a Solaris system joined to a Samba AD DC. In my case the Solaris system uses to requested a ticket for root/system.subdomain.domain.tld at SUBDOMAIN.DOMAIN.TLD, which is a valid SPN for the system, while the UPN for that system was host/system.subdomain.domain.tld at SUBDOMAIN.DOMAIN.TLD. Apparently, the Samba built-in KDC expects such a ticket request to be for a UPN, not an SPN. In comparison, the MIT Kerberos KDC is more tolerant and accepts such a request: I tested with Samba 4.7.5 on Fedora 27 that uses the MIT KDC and it works. Since I did not want to migrate my DCs to a different platform supporting the MIT KDC I implemented a workaround: I renamed the UPN of the client systems account from host/... to root/... and that works with the Samba built-in KDC. Of course this workaround works for exactly one name used client side, root/... in my case. You might try the same: rename the UPN to nfs/... and check if it works. Or switch to a Samba AD DC with an MIT KDC. Regards, Norbert