首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >由于主体名称错误,NFS/krb5 5身份验证服务器查找失败

由于主体名称错误,NFS/krb5 5身份验证服务器查找失败
EN

Server Fault用户
提问于 2020-10-26 13:32:50
回答 1查看 867关注 0票数 3

使用Kerberos挂载NFSv4时,身份验证失败,krb5kdc.log显示NFS服务器的主体名称错误。

代码语言:javascript
复制
LOOKING_UP_SERVER: ... host/nfsclient.internal.domain.tld@IPA.DOMAIN.TLD for nfs/containershost.internal.domain.tld@IPA.DOMAIN.TLD
... Server not found in Kerberos database

主体nfs/cuershost.side.domain.tld应该是nfs/nfs.内在.domain.tld

我是否正确地假设正在执行一个反向DNS查询,该查询正在返回contershost.inst.domain.tld?如果是,在流程的哪个步骤(以及从哪台机器)进行查找?

代码语言:javascript
复制
$ dig -x 192.111.111.111
111.111.111.192.in-addr.arpa. 6009 IN PTR containershost.internal.domain.tld.

是否有办法防止此反向DNS查询发生?IP 192.111.111.111 (containershost.internal.domain.tld)上的主机正在运行多个容器,因此不可能添加PTR记录。

码头集装箱主机

主机名: containershost.internal.domain.tld IP: 192.111.111.111

FreeIPA服务器(码头)

图片: freeipa/ freeipa -server:centos-8-4.8.4 Container名称:freeipa Container主机: containershost.internal.domain.tld 主机名: freeipa.internal.domain.tld IP: 172.222.222.222 域: ipa.domain.tld 领域: IPA.DOMAIN.TLD 键标签:

代码语言:javascript
复制
$ klist -k /etc/krb5.keytab
Keytab name: FILE:/etc/krb5.keytab
KVNO Principal
---- --------------------------------------------------------------------------
   2 host/freeipa.internal.domain.tld@IPA.DOMAIN.TLD

/etc/krb5.conf:

代码语言:javascript
复制
[libdefaults]
    default_realm = IPA.DOMAIN.TLD
    dns_lookup_realm = false
    dns_lookup_kdc = true
    rdns = false
    ticket_lifetime = 24h
    forwardable = true
    udp_preference_limit = 0

[realms]
    IPA.DOMAIN.TLD = {
        kdc = freeipa.internal.domain.tld:88
        master_kdc = freeipa.internal.domain.tld:88
        admin_server = freeipa.internal.domain.tld:749
        default_domain = ipa.domain.tld
        pkinit_anchors = FILE:/var/lib/ipa-client/pki/kdc-ca-bundle.pem
        pkinit_pool = FILE:/var/lib/ipa-client/pki/ca-bundle.pem
    }

[domain_realm]
    .ipa.domain.tld = IPA.DOMAIN.TLD
    ipa.domain.tld = IPA.DOMAIN.TLD
    freeipa.internal.domain.tld = IPA.DOMAIN.TLD
    .internal.domain.tld = IPA.DOMAIN.TLD
    internal.domain.tld = IPA.DOMAIN.TLD

NFS (码头)

图片:ubuntu:最新的Container名称: nfs Container主机: containershost.internal.domain.tld 主机名: nfs.internal.domain.tld IP: 172.333.333.333 Running服务:

代码语言:javascript
复制
- /usr/sbin/rpc.mountd --port 32767 --no-nfs-version 2 --no-nfs-version 3 -F --debug all
- /usr/sbin/rpc.idmapd -S -vvv -f
- /usr/sbin/rpc.nfsd --debug --port 2049 --no-nfs-version 2 --no-nfs-version 3 -L 10 -G 10
- /usr/sbin/rpc.svcgssd -f -vvv -rrr -iii -p nfs/nfs.internal.domain.tld

键标签:

代码语言:javascript
复制
$ klist -k /etc/krb5.keytab
Keytab name: FILE:/etc/krb5.keytab
KVNO Principal
---- --------------------------------------------------------------------------
  74 host/nfs.internal.domain.tld@IPA.DOMAIN.TLD
  66 nfs/nfs.internal.domain.tld@IPA.DOMAIN.TLD

/etc/krb5.conf:

代码语言:javascript
复制
[libdefaults]
    default_realm = IPA.DOMAIN.TLD
    dns_lookup_realm = false
    dns_lookup_kdc = false
    rdns = false

[realms]
    IPA.DOMAIN.TLD = {
        kdc = freeipa
        admin_server = freeipa
        default_domain = domain.tld
    }

[domain_realm]
    .domain.tld = IPA.DOMAIN.TLD
    domain.tld = IPA.DOMAIN.TLD

NFS客户端

OS: Ubuntu20.04主机名: nfsclient.internal.domain.tld IP: 192.444.444.444 Keytab:

代码语言:javascript
复制
$ klist -k /etc/krb5.keytab
Keytab name: FILE:/etc/krb5.keytab
KVNO Principal
---- --------------------------------------------------------------------------
  5 host/nfsclient.internal.domain.tld@IPA.DOMAIN.TLD

Mount命令:

代码语言:javascript
复制
$ sudo mount -vvv -t nfs4 -o sec=krb5p 192.111.111.111:/ /mountpoint
mount.nfs4: trying text-based options 'sec=krb5,vers=4.2,addr=192.111.111.111,clientaddr=192.444.444.444'
mount.nfs4: mount(2): Permission denied
mount.nfs4: access denied by server while mounting 192.111.111.111:/

结果

/var/log/krb5kdc.log:

代码语言:javascript
复制
freeipa krb5kdc[288](info): TGS_REQ (4 etypes {aes256-cts-hmac-sha1-96(18), aes128-cts-hmac-sha1-96(17), 
DEPRECATED:des3-cbc-sha1(16), DEPRECATED:arcfour-hmac(23)}) 192.444.444.444: LOOKING_UP_SERVER: authtime 0, 
etypes {rep=(0)} host/nfsclient.internal.domain.tld@IPA.DOMAIN.TLD for nfs/containershost.internal.domain.tld@IPA.DOMAIN.TLD, 
Server not found in Kerberos database
EN

回答 1

Server Fault用户

发布于 2020-10-27 23:06:16

nfs服务器将自己的名称解析为收集器。因此,它在keytab文件中查找该名称。您可能应该显式地将容器名设置为<#>nfs.内在.domain.tld(带有-name选项或docker中的主机指令),或者将另一个条目添加到keytab文件中。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1040100

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档