通过 ARD 将 DNS 搜索后缀推送到 Mac

通过 ARD 将 DNS 搜索后缀推送到 Mac

我们的客户使用我们的 DHCP 服务器 ourcompany.com 提供的域名作为其默认搜索后缀。我想为他们添加第二个域名进行搜索。/etc/resolv.conf 看起来将在启动时被其他进程覆盖。我假设我需要运行 defaults write com.apple.blahblahblah 命令或脚本。

有人做过这个吗?

谢谢,汤姆

答案1

如果工作站上安装了 ARD 客户端,则可以使用“networksetup”命令来设置此属性。在 10.5 及更高版本中,我相信客户端会自动安装,而在 10.2-10.4 中,您可能需要安装它才能获得完整功能。

networksetup 也有两个路径,取决于客户端是随操作系统附带的还是必须安装的:/usr/sbin/networksetup /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Support/networksetup

您需要的标志是“-setsearchdomains”,它带有两个参数——要设置的网络设备,后面是搜索域。

因此,基本上在所有情况下都适用的脚本是:

#!/bin/sh
/System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Support/networksetup -setsearchdomains AirPort ourcompany.com example.com
/System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Support/networksetup -setsearchdomains "Built-in Ethernet" ourcompany.com example.com
/System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Support/networksetup -setsearchdomains Ethernet ourcompany.com example.com
/usr/sbin/networksetupnetworksetup -setsearchdomains AirPort ourcompany.com example.com
/usr/sbin/networksetupnetworksetup -setsearchdomains "Built-in Ethernet" ourcompany.com example.com
/usr/sbin/networksetupnetworksetup -setsearchdomains Ethernet ourcompany.com example.com
exit 0

您可以通过 ARD 逐个推送这些命令,或者通过 packagemaker 或 iceberg 创建无负载包,然后通过 ARD 将其作为包推送出去(我会选择后者)。该脚本应该会将任何 OS X 计算机上的所有网络设备更改为您的首选搜索路径,但它只会针对当前网络配置文件进行设置。要更改其他网络配置文件,您必须先激活另一个配置文件。

这有帮助吗?

答案2

您是否尝试过在 DHCP 服务器上简单地设置两个域?ISC DHCPd 支持此功能:

   option domain-search domain-list;

     The domain-search option specifies a 'search list' of Domain Names to
     be  used  by  the  client to locate not-fully-qualified domain names.
     The difference between this option and historic use  of  the  domain-
     name  option  for  the  same  ends  is that this option is encoded in
     RFC1035 compressed labels on the wire.  For example:

       option domain-search "example.com", "sales.example.com",
                            "eng.example.com";

相关内容