我想在办公室的 Ubuntu 机器上设置一个 GIT 服务器,但我想要一个可以从同一网络上的 Windows 机器连接到的域名。我读过有关使用 Samba 或将计算机添加到 Active Directory 的信息,但我对这两者都有点迷失。所有机器都位于同一个 abcom 域中。
我已修改 Ubuntu 计算机上的主机文件以显示以下内容: 127.0.0.1 ubuntu 127.0.1.1 ubuntu.abcom ubuntu 192.168.0.9 ubuntu.abcom ubuntu
我拥有域控制器和 Active Directory 的管理员凭据。我该怎么做才能让其他 Windows 机器通过域名而不是机器 IP 地址访问 Ubuntu 机器以进行 SSH 或 GIT 服务器之类的操作?
答案1
要允许域中的所有 Windows 计算机通过域名访问您的 Ubuntu 计算机,您需要将 Ubuntu 计算机添加到 Active Directory 服务器上的 DNS 信息中。
虽然属于 AD 域成员的 Windows 计算机会自动注册,但您还可以使用适当的 Windows DNS 管理工具手动编辑 DNS 记录。最初,您只需要在域(b.com
或可能a.b.com
)的主(正向查找)DNS 区域中添加这样的 A 记录,如标准 DNS 记录格式中的完全限定形式所示:
ubuntu.a.b.com. IN A 192.168.0.9
理想情况下,在适当的反向区域 ( <reversed-network-IP-address-parts>.in-addr.arpa.
) 中有相应的反向查找记录:
9.0.168.192.in-addr.arpa. IN PTR ubuntu.a.b.com.
(Windows DNS 工具可能可以选择自动为您创建反向查找记录。)
根据您的 AD 域的具体配置方式,以及您的 Ubuntu 服务器使用 DHCP 还是静态 IP 分配,您可能有一种或两种方法让 Ubuntu 计算机将自身注册到域中。
如果 Ubuntu 计算机使用 DHCP,您可以尝试向其 DHCP 客户端添加必要的配置选项,以要求域的 DHCP 服务器为您处理注册。
或者,如果 AD 域配置为接受 DNS 更新而无需 Kerberos 身份验证(不太安全!),您可以使用该nsupdate
命令直接向 AD DNS 服务发送更新请求。
如果您使用静态 IP 地址,并且 AD 域需要经过身份验证的 DNS 更新,则唯一的自动选项是让 Ubuntu 系统首先加入 AD 域。使用现代版本的 Samba,DNS 注册将在您加入域时自动进行;对于旧版本,您可能必须明确请求它。
将 Linux 系统加入 Active Directory 域可以通过多种方式完成,具体取决于您的 Linux 发行版具有哪个版本的 Samba,以及它是否具有sssd
可用的守护程序。sssd
可以大大简化加入 AD 域的过程,并且它还会自动处理保持域成员身份的活动,使其不会过期。
如果您想将 Ubuntu 系统加入 AD 域,您应该查找专门为您的特定 Ubuntu 版本编写的说明,最好在官方 Ubuntu 文档中(Ubuntu 18.04 LTS 如下例如)。这些应该涵盖该特定版本的发行版的推荐过程。如果您只阅读 Samba 和 的通用文档sssd
,您可能会对各种组件的可能组合数量以及配置它们的方法感到不知所措。
答案2
您可以在 Windows 计算机上的文件ubuntu.a.b.com
中添加一个条目:hosts
C:\Windows\System32\drivers\etc\hosts
答案3
如果您要将 Ubuntu 系统加入 AD 域并希望使用 sssd,请坚持使用 18.04。 Ubuntu 18.10 以后使用的 Samba 版本必须在 AD 域中与 winbind 一起使用,并且不得使用 sssd。