每次我尝试使用命令' '通过 Homebrew Services 启动 Unbound DNS 服务器时sudo brew services start unbound
,我都会在 OS X 的'控制台'应用程序中看到以下形式的日志条目 (' /Applications/Utilities/Console.app
'…:)
%l:%M:%S %p com.apple.xpc.launchd[1]: (homebrew.mxcl.unbound[$PID]) Service exited with abnormal code: 1
%l:%M:%S %p com.apple.xpc.launchd[1]: (homebrew.mxcl.unbound) Service only ran for 0 seconds. Pushing respawn out by 10 seconds.
…一个接一个。(如果我用来表示每个实例变量的约定看起来不寻常,那么“ %l
,” %M
,“,” %S
,和“ %p
”是strftime(3)
格式说明符,指定每个日志条目的时间戳在其中展开时的一般外观。$PID
显然,“”在每次调用时都会被替换为所讨论的特定 Unbound 实例的进程 ID launchd
。)
当我检查时,我的 Unbound 特定日志文件/usr/local/etc/unbound/unbound.log
是空白的。我一直无法正确设置我的配置文件,所以也许我仍然遇到问题?作为参考,这里是我的配置文件的内容,/usr/local/etc/unbound/unbound.conf
它是我根据未绑定的源代码 tarball包含的文件$UNTAR_WORKING_OR_TARGET_DIR/unbound-1.5.8/docs/example.conf.in
。里面有什么奇怪的东西吗,或者有什么别的这件事情发生了什么意想不到的事情?
PS:这是_unbound
我运行时获取的有关守护进程帐户的信息ddcl . -read /Users/_unbound
:
dsAttrTypeNative:accountPolicyData:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>creationTime</key>
<real>1464121481.5192709</real>
<key>failedLoginCount</key>
<integer>0</integer>
<key>failedLoginTimestamp</key>
<integer>0</integer>
<key>passwordLastSetTime</key>
<real>1464121482.61134</real>
</dict>
</plist>
AppleMetaNodeLocation: /Local/Default
GeneratedUID: EB92AA79-6746-4C8C-8D3A-D82F7215FD88
Password: *
PrimaryGroupID: 499
RealName:
Unbound DNS Validating Resolver Daemon
RecordName: _unbound unbound
RecordType: dsRecTypeStandard:Users
UniqueID: 499
UserShell: /usr/bin/false
答案1
好吧,事实证明,正如我的一个朋友在 IRC 上告诉我的那样,我从来没有检查过 Unbound 是否可以到达/dev/random
——也许/dev/log
,也可以到达——前者该软件的配置文件文档在描述 Unbound 选项的子标题下,有一项要求chroot
,而后者可能是从其chroot
jail 内进行日志记录所必需的。因此,我将不得不尝试通过 NFS 共享/dev
(或至少其包含的log
文件random
)到/usr/local/etc/unbound
(OS X 不直接支持绑定挂载。