无法使用不同的 FQDN 运行 sssd + AD 域控制器

如何解决无法使用不同的 FQDN 运行 sssd + AD 域控制器

我有以下用于 ssh 管理的 sssd + 广告设置。

    AD Domain - ad.example.net
    AD DC 1 hostname - dc1.example.net
    AD DC 2 hostname - dc2.example.net
    Linux (Centos) Server hostnames - server.int.example.com -> this I can not change as per Org policy

我不想将 AD dns 添加到我的 /etc/resolv.conf 中,我们想使用云提供的 dns 解析器 它使用 *.example.net

解析我们的域控制器主机名

当我将它们添加为

ad_server = dc1.example.net,dc2.example.net

ssd 失败 -


    [dp_req_reply_gen_error] (0x0080): DP Request [Initgroups #1066]: Finished. Backend is currently offline.

这是我的 sssd.conf 和 krb.conf

sssd.conf -


    [sssd]
    domains = ad.example.net
    reconnection_retries = 3
    config_file_version = 2
    services = nss,pam,ssh
    override_space = _
    sbus_timeout = 30
    
    [nss]
    reconnection_retries = 3
    entry_negative_timeout = 30
    entry_cache_nowait_percentage = 7
    debug_level = 9
    
    [pam]
    reconnection_retries = 3
    
    [domain/default]
    cache_credentials = True
    entry_cache_timeout = 3600
    
    [domain/ad.example.net]
    id_provider = ad
    access_provider = ad
    ldap_id_mapping = True
    auto_private_groups = True
    default_shell = /bin/bash
    fallback_homedir = /home/%u
    use_fully_qualified_names = False
    krb5_store_password_if_offline = True
    realmd_tags = manages-system joined-with-adcli
    ad_domain = ad.example.net
    ad_server = dc1.example.net,dc2.example.net
    ad_hostname = dev1210utl1.ad.example.net
    krb5_realm = AD.example.NET
    ldap_user_ssh_public_key = altSecurityIdentities
    ldap_user_extra_attrs = altSecurityIdentities:altSecurityIdentities
    debug_level = 9
    
    dns_resolver_timeout = 20
    krb5_lifetime = 24h
    krb5_renewable_lifetime = 7d
    krb5_renew_interval = 60s
    dyndns_update = false

krb5.conf


    # Configuration snippets may be placed in this directory as well
    includedir /etc/krb5.conf.d/
    
    [logging]
    default = FILE:/var/log/krb5libs.log
    kdc = FILE:/var/log/krb5kdc.log
    admin_server = FILE:/var/log/kadmind.log
    
    [libdefaults]
    default_realm = AD.EXAMPLE.NET
    dns_lookup_realm = false
    dns_lookup_kdc = false
    ticket_lifetime = 24h
    renew_lifetime = 7d
    forwardable = true
    rdns = false
    pkinit_anchors = FILE:/etc/pki/tls/certs/ca-bundle.crt
    spake_preauth_groups = edwards25519
    default_ccache_name = KEYRING:persistent:%{uid}
    ignore_acceptor_hostname = true
    
    [realms]
    AD.EXAMPLE.NET = {
      kdc = dc1.example.net
      admin_server = dc1.example.net
      kdc = dc2.example.net
      admin_server = dc2.example.net
    }
    
    [domain_realm]
    .ad.example.net = AD.EXAMPLE.NET
    ad.example.net = AD.EXAMPLE.NET

我知道,我的设置中有不同的 DNS fqdn,但无法避免它们。

sssd 工作,如果我设置 -

ad_server = dc1.ad.example.net,dc2.ad.example.net

但是我必须将 AD DNS 添加为我的解析器,或者我想避免使用它们 /etc/hosts。

任何与帮助相关的帮助。

解决方法

如果 DC FQDN 确实是 dc1.ad.example.net,那么您到底为什么要尝试使用别名?供应商必须修复此配置,故事结束。

当您绑定时,您必须使用正确的 DC 名称 - 如果它认为您正在尝试访问一个完全不同的主机/领域,那么它当然不会让您连接。您也可以使用“dc1.mickeymouse.com”作为您尝试使用的别名 - 如果 DC FQDN 确实是“dc1.ad.example.net”,它同样无效。

此外,您的云提供商 DNS 是否正确解析了像 _ldap._tcp.ad.example.net _kerberos_.udp.ad.example.net 这样的 SRV?这是关键的东西。

域中可用的 UPN 是否包含“user@example.net”并不重要 - 现在您正在处理基本的 LDAP 和 Kerberos 网络协议。如果要与主机绑定/身份验证,则需要提供正确的名称。

供应商不需要删除现有的 - 虽然我不得不想知道它们的用途 - 但他们确实需要让正确的 DC 名称解析,无论是通过创建一些记录还是执行可能应该执行的操作已经完成并将“ad.example.net”委派给 DC 作为该分区的权威(因为我认为如果他们不解决就没有完成)。

你的机器主机名是什么并不重要,只要 DC 可以在另一个方向解析它。

如果此提供商的 DNS 是公开的,则还应该对解析内部“ad.example.net”命名空间的外部主机进行一些安全保护(即它们不应该)。

TLDR:如果域 DNS 是“ad.example.net”并且该子区域仅用于 AD 域,则应将其从上游“example.net”名称服务器委派给域控制器作为权威区域。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 <select id="xxx"> SELECT di.id, di.name, di.work_type, di.updated... <where> <if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 <property name="dynamic.classpath" value="tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams['font.sans-serif'] = ['SimHei'] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -> systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping("/hires") public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate<String
使用vite构建项目报错 C:\Users\ychen\work>npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-