nfs4 mit sec=krb5 will nicht...
Hallo,
ich versuche gerade mal testweise mein Heimnetzwerk von NFS3 auf NFS4
mit Kerberos Auth umzustellen. Es handelt sich dabei um Maschinen mit
aktuellem Sid.
Die Kerberos Installation scheint auch erfolgreich abgelaufen zu sein,
mein Realm existiert und ich habe für jeden Host einen Schlüssel
erzeugt und in die /etc/krb5.keytab des jeweiligen Hosts exportiert.
(MYREALM.LOCAL und mydomain.local sind bei mir identisch.)
/etc/krb5.conf # auf beiden Rechnern identisch (relevante Ausschnitte)
[libdefaults]
default_realm = MYREALM.LOCAL
# dns_lookup_realm = true
# dns_lookup_kdc = false
[realms]
MYREALM.LOCAL = {
kdc = mythtv.mydomain.local
admin_server = mythtv.mydomain.local
default_domain = mydomain.local
}
[domain_realm]
.mydomain.local = MYREALM.LOCAL
[auth_to_local_names]
nfs/mythtv.mydomain.local = nobody
root/mythtv.mydomain.local@MYREALM.LOCAL = nobody
# das sind schon verzweifelte Versuche ^^
CLIENT1:
root@nias:/home/nias# klist -e -k /etc/krb5.keytab
Keytab name: FILE:/etc/krb5.keytab
KVNO Principal
---- --------------------------------------------------------------------------
5 nfs/nias.mydomain.local@MYREALM.LOCALMYREALM.LOCAL (DES cbc mode
with CRC-32)
SERVER:
mythtv:/home/nias# klist -e -k /etc/krb5.keytab
Keytab name: FILE:/etc/krb5.keytab
KVNO Principal
---- --------------------------------------------------------------------------
3 nfs/mythtv.mydomain.local@MYREALM.LOCAL (DES cbc mode with CRC-32)
3 root/mythtv.mydomain.local@MYREALM.LOCAL (DES cbc mode with CRC-32)
/etc/exports:
/data gss/krb5p(rw,async,no_subtree_check,nohide,crossmnt)
/ gss/krb5p(fsid=0,rw,async,no_subtree_check,nohide,crossmnt)
NEED_IDMAPD=yes und NEED_GSSD=yes sind in /etc/default/nfs-common
enabled. NEED_SVCGSSD=yes in der /etc/default/nfs-kernel-server.
Beim Versuch des Mountens auf dem Server selbst erhalte ich im Log
folgendes: (nach -vvv -rrr in /e/d/nfs-kernel-server)
Mar 29 18:09:14 mythtv rpc.svcgssd[30240]: leaving poll
Mar 29 18:09:14 mythtv rpc.svcgssd[30240]: handling null request
Mar 29 18:09:14 mythtv rpc.svcgssd[30240]: sname =
root/mythtv.mydomain.local@MYREALM.LOCAL
Mar 29 18:09:14 mythtv rpc.svcgssd[30240]: WARNING: get_ids: failed to
map name 'root/mythtv.mydomain.local@MYREALM.LOCAL' to uid/gid: Invalid
argument
Mar 29 18:09:14 mythtv rpc.svcgssd[30240]: sending null reply
Mar 29 18:09:14 mythtv rpc.svcgssd[30240]: writing message: \x
\x6082020f06092a864886f71201020201006e8201fe308201faa003020105a10302010ea20703050020000000a382011a6182011630820112a003020105a1121b1031392e524f532e30333034362e434f4da2293027a003020103a120301e1b036e66731b176d79746874762e31392e726f732e30333034362e636f6da381cb3081c8a003020101a103020103a281bb0481b844a89703fe019a3c03512990a1443bbd9c7149d806b767ef881f7304b06f5395645994a83520acf5f39bf784dbc7e72f63c2c2ca5a16a30dd94c2906c77e5ad0d0c735f70ec5de43a7b4505850d02fa6efd4b4e903d95c6a1e5dfe78e46cf251b700e704b99c579bf5fec3c50d20e75b00e423997d9cc1e147825f6ffeb62e8dc8e4f1bdb8a00112cb51208af33f7bbffb38b5684bcf7d1f26f6464cb6e6a1693ddcf3e396209cfa650f9e35849bce08fa7f4bed15a813daa481c63081c3a003020101a281bb0481b844edbdcc2c2bffccb33fb7b4c50ad740e08c80ca053a70788bf9310b6a98ec14ce04c4b9177f1313f8e67a1b460d8da451f49bdc4edc2df101aef61cb7dc8e9704bd8820981abaa42b7fa0d0f3333bb13bdab9ea1cdaf25b2013e74c728a8d4d61d090f2ac5f17986f1fce435a52a499e64727f1f3c3d58c31b00586be5b1c375d47ed08cd
Mar 29 18:09:14 mythtv rpc.svcgssd[30240]: finished handling null
request
Mar 29 18:09:14 mythtv rpc.svcgssd[30240]: entering poll
Er scheint also Probleme zu haben die uid des Callers in die lokale uid
zu wandeln. (WARNING: get_ids: failed to map name ... -> -EINVAL)
Google hat mir einiges bzgl. der libnfsidmap2 ausgespuckt
(http://linux-nfs.org/pipermail/nfsv4/2008-October/009399.html) aber
leider keine Lösung (bei mir ist MYREALM.LOCAL identisch zu
mydomain.local). Die Debian Version der lib ist anscheinend auch schon
asbach uralt, die dort besprochenen Änderungen sind daher wohl kaum
enthalten.
Weiß hier jemand Rat wie man NFS4 Mounts mit krb5 unter aktuellem Sid
zum Laufen bekommt?
Beim Mounten von meinem zweiten Rechner spielt dort der rpc.gssd
verrückt. Lasse ich ihn starten via nfs-common reagiert er einfach
nicht auf requests (RPC: AUTH_GSS upcall timed out.), starte ich ihn
__während__ des Mountvorganges funktioniert er nur für __diesen__ einen
Request tadellos (allerdings bekomme ich dann wieder obiges Problem...)
um anschließend wieder für immer zu schweigen.
--
Markus Schulz
> Keine UL: Es gab mal österreichische U-Boote.
Wie versenkt man ein österreichisches U-Boot? Man taucht hinunter und
klopft an - irgendwer macht schon auf. :)
[Otto Diesenbacher in d.a.f.u-l]
Reply to: