るるぷらす

るるぷらす、だおー

DNS キャッシュサーバの Unbound を Mountain Lion にインストールした。

日頃、DNS の設定は Google Public DNS である「8.8.8.8, 8.8.4.4」をよく利用しています。これはアドレスも覚えやすいし、それなりのパフォーマンスを感じられます。

しかし、Google Public DNS の弱点として CDN 経由の通信のパフォーマンスが大幅に劣化します。例えば、Mac App StoreiTunes Store からのダウンロードした時にそれは顕著に起こるでしょう。10MB のデータのダウンロードに数分待たされたり。。

そこでローカルに DNS キャッシュサーバをインストールして、ある程度のパフォーマンスを維持しつつ、 CDN 経由の問題を解決してみます。まだ、検証段階なので効果は不明。

DNS キャッシュサーバとして目をつけたのは Unbound です。これを OS X 10.8 Mountain Lion にインストールしてみましょう。

下準備として、XcodeMacPorts をインストールします。

  1. Xcode をインストールします。
    https://itunes.apple.com/jp/app/xcode/id497799835?mt=12
  2. Xcode を起動すると、Xcode License Agreement が表示されます。

    f:id:egyo2nd:20121120233338p:plain
    使用許諾(Agreement) の Agree(同意) をクリックして進めます。

  3. 続いて、System Component Installation が表示されます。

    f:id:egyo2nd:20121120233535p:plain
    Install をクリックして、Device Support をインストールします。
    完了したら、Start Using Xcode をクリックします。

  4. Xcode が起動したら、Command Line Tools をインストールするために Preference(環境設定) を開きます。
    Xcode メニュー > Preference... > Downloads

    f:id:egyo2nd:20121120233747p:plain
    Command Line Tools を Install してください。
    インストールが完了したら、Xcode を終了します。

  5. MacPorts をインストールします。
    http://www.macports.org/install.php

    f:id:egyo2nd:20121120233957p:plain
    Mountain Lion をクリックしてインストーラパッケージをダウンロードします。
    ダウンロードした MacPorts-2.1.2-10.8-MountainLion.pkg を開きます。

  6. MacPorts のインストールを完了してください。
    MacPorts の使い方については下記をご参照ください。
    Mac Portsの使い方メモ « 突然消失するかもしれないブログ

  7. ターミナルを起動します。(ユーティリティ > ターミナル)
  8. sudo port install unbound を実行します。

    f:id:egyo2nd:20121121000445p:plain

    完了したら、ターミナルを終了します。
    unbound は /opt/local/sbin/unbound にインストールされます。
  9. Mac を再起動しても、unbound が自動的に起動するように設定します。
    そのために Lingon をインストールします。
    https://itunes.apple.com/jp/app/lingon/id411211026?mt=12
  10. Lingon を起動して、左上の New をクリックします。

    f:id:egyo2nd:20121120234613p:plain

  11. /Library/LaunchDaemons/ (Users Daemons) を選択し、Create します。

    f:id:egyo2nd:20121120234708p:plain

  12. 次のように入力します。
    ・Name: net.unbound.unbound
    ・What: /opt/local/sbin/unbound
    ・When: Run it when it is loaded by the system (at stertup or login)

    f:id:egyo2nd:20121120234845p:plain

  13. Save ボタンをクリックし、管理者権限のパスワードを入力します。
  14. 念のため Mac を再起動します。

以上で、Unbound のインストールが完了しました。
さてアクティビティモニタで起動しているか確認してみましょう。

f:id:egyo2nd:20121120235103p:plain
起動していますね?

さて、最後にこの新しい DNS サーバを使うためにネットワークの DNS 設定を変更してみましょう。システム環境設定からネットワークを開きます。

f:id:egyo2nd:20121120235207p:plain

今回のサーバはローカルにあるので、IP は 127.0.0.1 を指定します。

適用して、ネットに繋がるか確認してください。もし、繋がらない場合は、Unbound が正しく起動していない可能性があります。

以上、自分が忘れないための備忘録。

参考にしたサイト

Unbound は設定ファイル unbound.conf を弄ることでいろいろ設定内容を変更することができますが、今日はここまで。unbound.conf のテンプレートは /opt/local/etc/unbound/unbound.conf-dist にあるので、unbound.conf にリネームして使えるはず。