-
Notifications
You must be signed in to change notification settings - Fork 249
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NFS server in a zone uses keytab and gss service of global zone #963
Comments
This is interesting, and likely overlooked because the kernel gssmod appears to be zone-aware. This should be filed as an illumos bug. I'll dive more deeply tomorrow, including filing said illumos bug. |
I have small DTrace one-liner I'd like you to run, since you are able to reproduce this:
Please run it in the foreground in the global zone at system start, PRIOR to any NFS traffic being received by your server. Then run some NFS traffic, making sure that GSSAPI services are being employed (from the global zone, even when the NFS server is in a non-global zone), and then press ^C to get the report of stacks. Please copy and paste that output here, or in a gist. I'll use that as fodder for the illumos bug I'll filing in the morning (US/Eastern). |
What would be the exact DTrace command you want me to run? I can't seem to get it to work, I always get 'does not match any probes':
Forgot to include earlier:
|
OK, I got it now: After a reboot I of course needed to Now it worked, here is the output:
Let me know if you need more tests to be done, this smartos instance is specifically set-up for this, in a VM. |
Thank you. This will get me started. I will file an illumos bug once I have a sense of what precisely is wrong underneath. (FTR, a bug like this technically belongs in illumos-joyent, but this is not the time for nits like that. Again, thank you!) |
I'm sorry I don't have better news, but this will end up being a big undertaking. See https://www.illumos.org/issues/13329 for details. I know I don't have the cycles to begin this myself right now (unless I get enough paying SmartOS customers complaining about it). The people in the illumos community who understand this problem as well are being added to the bug as watchers. |
One last question important question: What PI are you running? This is Important. If you're running before release-20200910 you should try a PI that's 20200910 or more recent. There's a bugfix starting there that may be useful. I'm not sure if it's merely necessary, or if it's sufficient to fix the problem, however. |
Sorry, that got a bit lost in the end of one of my comments earlier:
I prepared this installation with the (then) most recent .iso image in a VM specifically to test this issue.
No worries! I can live with the "workaround" with GSS in the global zone for my use case. I am just happy that this is now reported somewhere and there is the possibility that it gets looked at - and that I didn't do something wrong ;) |
1.5 years later... I mentioned illumos#13329 on the list, and I got a patch that's being used in NexentaStor. I'm attaching it here. No idea if this is sufficient to the task described above or not, however.
|
(To be clear it took me 1.5 years to see if anyone had been working on this problem or not.) |
It seems that when providing an NFS server form within a zone (cool that this work now, btw!) the keytab and GSS service (
svc:/network/rpc/gss
) from the the global zone are used. This was very surprising to me and is probably not intended, right?I created a zone and set it up to be an NFS server, and was able to mount its exports (via
zfs set sharenfs
) on a Linux client withsec=sys
. But when trying it withsec=krb5p
(for example) the server replies with GSS Major/Minor 458752/2 - which I believe simply means that the server can not come up with the required credentials.(Of course, this was only visible in a network trace. The Linux client declined to show me this error and instead downgraded to
sec=sys
and in the end only presented me with thePermission denied
the server replied to that attempt. That sure helps debugging)But as soon as I copy the kerberos ticket from the zone to the global zone
and activate the gss service there,
the mounts succeed. I can even remove the keytab from the zone completely and disable the GSS service there, the NFS mounts still work.
The text was updated successfully, but these errors were encountered: