在 Windows DNS 上注册 linux 主机名

Ste*_*art 8 domain-name-system dhcp hostname

如何在 Windows 服务器 DNS 中注册 DHCP linux 客户端的主机名?

我有一个小型企业混合网络:

  • DCHP Windows工作站(实施例主机名:win1
    • 约10台机器
    • 机器在域中,没有特殊配置。
  • DHCP的Linux(Debian的拉伸)的工作站(实施例主机名:lin1
    • 约20台机器
    • 连接到域与sssd使用realm join
    • 可以在任何机器上使用 AD 凭据
    • /etc/nsswitch.conf包含hosts: files dns我认为这意味着 linux 客户端可以从 DNS 导入主机名
  • 在静态 IP 上运行 Windows Server 的 DHCP/DNS 服务器

从任何机器我都可以ping win1,但不能ping lin1告诉我们:

  • 所有机器都使用 DNS 很好(可以 ping win1
  • windows 主机名是自动注册的
  • linux 主机名不会自动注册

拒绝解决方案:

  • hosts:我们没有静态 IP,所以我不会手动维护hosts文件的主副本并在发布新的 DHCP 租约时分发它。
  • ADNS添加记录:同样,我不想在发布新的 DHCP 租约时手动更新记录。
  • avahi: windows 客户端看不到 linux 客户端。

我没试过的事情:

  • likewise: 我宁愿不要sssd像这样从头开始放弃并重新配置所有20台机器。但是如果lw-register-dns可以解决问题并且不会与 冲突sssd,那么这可能是一个解决方案。仍然发现客户端需要创建一个 cron-job 来修改 DNS 很奇怪,我最想限制 DNS 写访问。
  • winbind,似乎也sssd完全取代了。我尝试了链接的建议,但在重新启动客户端的网络服务后没有发现任何差异。
  • nmbd. 工作站已经在使用smbclient,它们真的需要成为成熟的 samba 服务器吗?
  • net ads dns register -P. 我需要访问 DNS 以启用不安全的更新。

Ste*_*art 6

所以最终的答案根本不在linux客户端,而是在DHCP配置上。

在“Windows Server 2016 Standard”上,我必须执行以下操作才能使其正常工作。

  1. 打开“DHCP”桌面应用程序
  2. 选择 DNS 选项卡
  3. 展开代表您的域的节点
  4. 右键单击“IPv4”
  5. 从上下文菜单中选择“属性”
  6. 勾选“根据以下设置启用 DNS 动态更新:”
    1. 选择“始终动态更新 DNS 记录”
  7. 选中“动态更新不请求更新的 DHCP 客户端的 DNS 记录”

结果并不是立竿见影的。重新启动机器不会强制更新。我在周五进行了更改,到周三,所有 Linux 客户端似乎都已列在 DNS 中。

我可以通过查看同一服务器上的“DNS 管理器”来确认添加内容。