Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 15 Sep 2018 15:01:28 +0900
From:      =?UTF-8?B?SGlyb28gT25vICjlsI/ph47lr5vnlJ8p?= <hiroo.ono+freebsd@gmail.com>
To:        freebsd-users-jp <freebsd-users-jp@freebsd.org>
Subject:   [FreeBSD-users-jp 96315] NFSv4 + Kerberos
Message-ID:  <CANtk6SjZ028H4vdxhY6TmmpPvwjWE15DOAXPBi8gkg8OkvFynw@mail.gmail.com>

next in thread | raw e-mail | index | archive | help

小野寛生です。

samba4 を Active Directory の DC にしているのですが、こいつを KDC にして NFSv4 で
-sec=krb5 でマウントしたいと考えています。

https://wiki.freebsd.org/KerberizedNFS
https://lists.samba.org/archive/samba/2014-November/186562.html

を参考にしました。

-sec=sys で NFSv4 でマウントできるところまでは確認しました。
その後、下記の手順で keytab を作成して、
# mount_nfs -o nfsv4,sec=krb5 image.oikumene.ukehi.net:/exports/data /mnt

としたのですが、マウントはできて、ls でファイルのリストは出てくるものの、
# cat /mnt/data.txt
とすると

nfsv4 err=10016
cat: /mnt/data.txt: Input/output error

とエラーになります。
https://marc.info/?l=freebsd-fs&m=136148869906047&w=2
によれば

> Error 10016 is NFS4ERR_WRONGSEC. This means that the server expects a
> different security flavour (sys maybe) at some point in the mount.

ということなんですが、どうすれば -sec=krb5 でマウントできるのかわかる方教えてください。

NFS server の /etc/exports:
V4: / -sec=kerb5p:krb5i:krb5 -network 192.168.0.0 -mask 255.255.255.0
/exports/data -network 192.168.0/24

keytab 作成手順:
1) DC host で user を作成
# samba-tool user create nfs-user --random-password
# samba-tool user setexpiry --noexpiry nfs-user

2) SPN を追加
# jexec dc samba-tool spn add nfs/IMAGE.OIKUMENE.UKEHI.NET nfs-user

3) keytab を export
# samba-tool domain exportkeytab /tmp/nfs.image.keytab
--principal=nfs/IMAGE.OIKUMENE.UKEHI.NET
# samba-tool domain exportkeytab /tmp/nfs.image.keytab --principal=image\$

4) 確認
# ktutil --keytab=/tmp/nfs.image.keytab list
Vno  Type              Principal                                        Aliases
  2  arcfour-hmac-md5  nfs/IMAGE.OIKUMENE.UKEHI.NET@OIKUMENE.UKEHI.NET
  2  des-cbc-md5       nfs/IMAGE.OIKUMENE.UKEHI.NET@OIKUMENE.UKEHI.NET
  2  des-cbc-crc       nfs/IMAGE.OIKUMENE.UKEHI.NET@OIKUMENE.UKEHI.NET
  3  arcfour-hmac-md5  image$@OIKUMENE.UKEHI.NET
  3  des-cbc-md5       image$@OIKUMENE.UKEHI.NET
  3  des-cbc-crc       image$@OIKUMENE.UKEHI.NET

5) nfs.image.keytab を、NFS server (image.oikumene.ukehi.net) と client の
/etc/krb5.keytab にコピー

6) NFS server と NFS client の /etc/krb5.conf を以下に設定
[libdefaults]
        default_realm = OIKUMENE.UKEHI.NET
        dns_lookup_realm = false
        dns_lookup_kdc = true

        allow_weak_crypto = true
        forwardable = true

7) NFS client で kinit 可能なことを確認
% kinit -k nfs/IMAGE.OIKUMENE.UKEHI.NET


Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANtk6SjZ028H4vdxhY6TmmpPvwjWE15DOAXPBi8gkg8OkvFynw>