没有通用 dns 的多个域的 Kerberos 身份验证

问题描述 投票:0回答:1

我们创建了一个容器映像,并通过该执行环境运行我们的剧本。

有 4 个域:

  • example1
    域名有
    ex1
    IP
  • example2
    example3
    目前在同一个
    ex2
    IP 下工作
  • example4
    域名有
    ex3
    IP

我的krb5.conf:

[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log

[libdefaults]
default_realm = example1.net
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true

[realms]
EXAMPLE1.NET = {
    kdc = HOSTNAME.example1.net
    admin_server = HOSTNAME.example1.net
}
EXAMPLE2.NET = {
    kdc = HOSTNAME.example2.net
    admin_server = HOSTNAME.example2.net
}
EXAMPLE3.NET = {
    kdc = HOSTNAME.example3.net
    admin_server = HOSTNAME.example3.net
}
EXAMPLE4.NET = {
    kdc = HOSTNAME.example4.net
    admin_server = HOSTNAME.example4.net
}

[domain_realm]
.example1.net = EXAMPLE1.NET
example1.net = EXAMPLE1.NET
.example2.net = EXAMPLE2.NET
example2.net = EXAMPLE2.NET
.example3.net = EXAMPLE3.NET
example3.net = EXAMPLE3.NET
.example4.net = EXAMPLE4.NET
example4.net = EXAMPLE4.NET

这是我的
resolv.conf
:

名称服务器 ex1

名称服务器 ex2

名称服务器 ex3

问题:

如果我更改

resolv.conf
,例如,将
ex1
保留在第二行,则无法连接,并且出现错误:“在获取初始凭据时无法联系领域‘example1’的任何 KDC。”

如果我将

ex1
移回到第一行,它就可以工作。但是,如果我将
ex3
(对应于
example4
)移至第三行,则不起作用。如果我将其保留在第一行,它将成功执行 ping 操作。

请帮忙!一个多月过去了,我还没能解决这个问题。

your text
我能够
nslookup
,并且
kinit
适用于所有域。我尝试过使用
/etc/hosts
文件,但它不起作用,所以我只是尝试使用
resolv.conf

我尝试过更改

resolv.conf
,但如果第一个名称服务器可以工作,那么第三个名称服务器就不行。

dns kerberos ping kdc
1个回答
0
投票

听起来这不是 Kerberos 问题,纯粹是 DNS 问题。

如果他们“知道”不同的数据,则

不能在resolv.conf中“堆叠”

nameservers
。系统将它们视为“平等”的替代方案,并且如果第一个名称服务器提供回复 – 即使该回复是“未找到域名”– 系统不会费心尝试第二个或第三个名称服务器;因为它确实收到了第一个的回复。 通常,“没有通用 DNS”问题可以通过设置 DNS 委托(“NS”记录)来解决,就像对公共互联网域名所做的那样 – 没有人将“名称服务器 ns1.google.com、名称服务器 ns1.facebook.com”放在一起。 com 等”在他们的 resolv.conf 中 – 但如果这在您的情况下不是一个选项(假设这些名称与真实的域名注册不对应),有一些方法可以在内部进行设置。

也就是说,首先部署您自己的 DNS 解析服务器(Unbound 是我最初的选择,但 Dnsmasq 或 BIND9 也可以);确保它可以解析各种互联网域;然后将其配置为您需要的每个内部域具有“存根区域”或“转发区域”。

例如,在《Unbound》中:或在 BIND 9 中:存根区域:名称:example1.com类型静态存根; /* 不是“存根”*/然后您就拥有了一个通用 DNS 服务器,它能够通过单个 resolv.conf 名称服务器条目解析所有内容。
存根地址:192.168.1.53


区域“example1.com”{
服务器地址 { 192.168.1.53; };
};


© www.soinside.com 2019 - 2024. All rights reserved.