通过 haproxy Ubuntu 18.04 加入 AD

通过 haproxy Ubuntu 18.04 加入 AD

首先,我已成功将几台 Ubuntu 服务器加入到与 DC 位于同一子网的服务器的域中。但是,我正在努力通过 haproxy 加入几台 Ubuntu 机器,但遇到了一个奇怪的错误,让我目前陷入困境。由于担心身份验证不稳定,我暂时通过 haproxy 禁用了其中一个 DC。

haproxy配置:

frontend DC
    bind *:389
    bind *:636
    bind *:88
    bind *:464
    mode tcp
    option tcplog
    default_backend DC_Backend

backend DC_Backend
    mode tcp
    server dc1 X.X.X.21

总体而言,连接性看起来都很好。

在我连接的服务器上,我使用与在网络内部成功完成的相同凭据进行身份验证。此外,我添加了 int.domain.com IP 以/etc/hosts指向代理的 IP 地址 (YYY20 int.domain.com)

realm join -U linux_ad_admin --computer-ou="OU=LinuxServers,OU=Servers,OU=IT_Systems" int.domain.com --verbose

日志:

 * Resolving: _ldap._tcp.int.domain.com
 * Resolving: int.domain.com
 * Performing LDAP DSE lookup on: Y.Y.Y.20
 * Successfully discovered: int.domain.com
Password for linux_ad_admin: 
 * Required files: /usr/sbin/oddjobd, /usr/libexec/oddjob/mkhomedir, /usr/sbin/sssd, /usr/sbin/adcli
 * LANG=C /usr/sbin/adcli join --verbose --domain int.domain.com --domain-realm INT.DOMAIN.COM --domain-controller Y.Y.Y.20 --computer-ou OU=LinuxServers,OU=Servers,OU=IT_Systems,dc=int,dc=domain,dc=com --login-type user --login-user linux_ad_admin --stdin-password
 * Using domain name: int.domain.com
 * Calculated computer account name from fqdn: DMZHOSTTEST1
 * Using domain realm: int.domain.com
 * Sending NetLogon ping to domain controller: Y.Y.Y.20
 * Wrote out krb5.conf snippet to /var/cache/realmd/adcli-krb5-llM0zh/krb5.d/adcli-krb5-conf-qOXHOs
 * Authenticated as user: [email protected]
 * Using GSS-SPNEGO for SASL bind
 ! Couldn't authenticate to active directory: SASL(-1): generic failure: GSSAPI Error: Unspecified GSS failure.  Minor code may provide more information (Server not found in Kerberos database)
adcli: couldn't connect to int.domain.com domain: Couldn't authenticate to active directory: SASL(-1): generic failure: GSSAPI Error: Unspecified GSS failure.  Minor code may provide more information (Server not found in Kerberos database)
 ! Insufficient permissions to join the domain
realm: Couldn't join realm: Insufficient permissions to join the domain

知道我这里遗漏了什么吗?在同一个子网中,同样的命令/帐户可以毫无问题地将服务器加入 AD。但是通过代理突然出现权限不足的错误。是否需要额外的开放端口才能通过 haproxy?

答案1

不确定这是否是最好的方法,但最终能够让服务器加入到域。

haproxy配置文件

frontend DC
    bind *:88
    bind *:135
    bind *:138
    bind *:139
    bind *:389
    bind *:464
    bind *:636
    bind *:1389
    bind *:3268
    bind *:3269
    mode tcp
    option tcplog
    default_backend DC_Backend

backend DC_Backend
    mode tcp
    server dc1 X.X.X.21

此外,我们还使用 pen 打开了一些 UDP 代理

pen -r -U 53 X.X.X.21:53
pen -r -U 88 X.X.X.21:88
pen -r -U 135 X.X.X.21:135
pen -r -U 138 X.X.X.21:138
pen -r -U 389 X.X.X.21:389
pen -r -U 464 X.X.X.21:464

现在的问题是确定如何允许用户通过代理进行身份验证。遇到了另一个问题[nss] [sss_dp_get_reply] (0x0010): The Data Provider returned an error [org.freedesktop.sssd.Error.DataProvider.Offline]。现在正在努力解决这个问题。

相关内容