Linux下获取Domain Controller(DC)站点名称(Windows nltest /dsgetsite等效方法)
Linux(Ubuntu)下获取Domain Controller站点名称的原生方法
如果你的Ubuntu系统已加入Active Directory域,可通过以下原生工具实现:
方法1:使用LDAP查询(推荐)
若系统预装了ldapsearch(部分Ubuntu默认包含),直接查询AD配置分区的站点关联信息:
- 查询目标DC的站点属性:
ldapsearch -x -b "cn=configuration,dc=your-domain,dc=tld" "(cn=YOUR_DC_HOSTNAME)" siteObjectBL
将dc=your-domain,dc=tld替换为你的实际域,YOUR_DC_HOSTNAME替换为目标DC的主机名。返回结果中的siteObjectBL字段会包含站点名称,格式类似cn=Beijing-Site,cn=sites,cn=configuration,...,提取cn=后的站点名称即可。
- 若已配置Kerberos认证,可使用GSSAPI免密查询所有站点:
kinit your-ad-user@YOUR-DOMAIN.TLD ldapsearch -Y GSSAPI -b "cn=sites,cn=configuration,dc=your-domain,dc=tld" "(objectClass=site)" cn
此命令会列出域内所有站点,再结合nslookup _ldap._tcp.dc._msdcs.your-domain.tld获取当前DC,匹配对应站点。
方法2:DNS记录反向验证
若LDAP工具不可用,可尝试解析站点专属的LDAP SRV记录:
dig _ldap._tcp.SITE-NAME._sites.dc._msdcs.your-domain.tld SRV
如果返回有效SRV记录,说明该站点存在;若你不知道站点名称,可先枚举域内所有可能的站点前缀(需结合实际环境)。
注意:所有命令中的域、主机名、用户名需替换为你的实际AD环境信息。
内容的提问来源于stack exchange,提问作者CapBird
相关产品推荐
相关产品推荐

