我们的客户使用我们的 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";