[Mac OSX][DNS][自分用メモ] HomebrewでインストールしたPowerDNS recursorをLaunchctlで動かしてみた。

Apple
HomebrewでインストールしたunboundをLaunchctlで動かす - Qiita
開発中のWebアプリがいくつもあって、いちいち/etc/hostsに書くのめんどくさいし、DNSサーバとかたてるのもめんどくさいとか思っていたけど、Unboundなら簡単に開発用のDNSサーバをたてられましたっていうお話。 手順は、...

参照先のほぼ丸パクリなのですが。
ちまちまと触っているPowerDNS recursorをMac OSXで使う方法のメモです。

手順

といっても参照先Qiitaのままです。

1. homebrewでPowerDNS recursorを導入します。

brew install pdnsrec

2. /usr/local/etc/powerdns/recursor.conf に設定ファイルがあるので、適宜編集します。
 マシン単体で使用する分には変更する箇所はないと思いますが、ForwarderをGoogle Public DNSを指定したい場合は以下のパラメータを変更します。

forward-zones-recurse=.=8.8.8.8;8.8.4.4

InterfaceにIPv6が割り振られるような環境であるならば、以下のパラメータも変更します。

query-local-address6=::

3. launchd.plistの設定
PowerDNSのプロセスをサービスとして使用する場合は、plistなるものを使用せねばならないそうです。
こちらのファイルについては、参照先qiitaのものを改編する形です。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "https://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>homebrew.mxcl.pdnsrec</string>
  <key>ProgramArguments</key>
  <array>
    <string>/usr/local/opt/pdnsrec/sbin/pdns_recursor</string>
  </array>
  <key>RunAtLoad</key>
  <true/>
  <key>KeepAlive</key>
  <true/>
  <key>OnDemand</key>
  <false/>
</dict>
</plist>

launchd.plistについては以下を参照してください。

LaunchDaemons (launchctl, launchd.plist) の使い方 – maruko2 Note. / http://www.maruko2.com/mw/LaunchDaemons_(launchctl,launchd.plist)%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9

4. Launchctlで起動

sudo launchctl load -w /Library/LaunchDaemons/homebrew.mxcl.pdnsrec.plist

※この設定を無効にする場合は、

sudo launchctl unload -w /Library/LaunchDaemons/homebrew.mxcl.pdnsrec.plist

そして、kill -9 などでpdns_recursorを停止してください。

5. ネットワーク設定から、参照するDNSのアドレスを127.0.0.1へ変更し、その状態でも名前解決が問題なく行われるか確認する。

一応、こちらでは問題ないことを確認していますが、問題があるようでしたらご指摘ください。

この記事を書いた人

kometchtech

うつ病を患いながら、IT業界の末席にいるおっさんエンジニア。科学計算をしたことがないのに、HPC分野にお邪魔している。興味のある分野で学習したことをblogにまとめつつ、うつ病の経過症状のメモも置いておく日々。じつはRouterboard User Group JPの中の人でもある。 Amazon欲しいものリスト / Arm板を恵んでくれる人募集中

kometchtechをフォローする
タイトルとURLをコピーしました