ホーム > Technical > pdnsdでDNSキャッシュ

pdnsdでDNSキャッシュ

うちのネットワーク環境は、DNSに難がある。

  • ADSLルータにDNSキャッシュ機能があるけど、1ヶ月くらいルータを起動していると固まる
  • プロバイダ提供のDNSは回線の混雑具合で問い合わせに時間かかる時がある

今までは、自宅のサーバにdnbdnsの流れをくむdnscacheをインストールしていたのだけど、

  • これはこれで長期間起動していると応答がなくなるようだ
  • 設定が非常に独特でややこしい。/serviceなんてディレクトリ掘らないといけないし、svscanデーモンを使わないといけない。

ふらふらとネットを見ていたら、pdnsdというDNSキャッシュツールが存在することを知ったのでさっそく入れ替え。gentoo Linux環境なので

emerge pdnsd
cd /etc/pdnsd
mv pdnsd.conf.sample pdnsd.conf
nano -w pdnsd.conf

する。pdnsd.confで変更したのは、

global {
        perm_cache=2048;
        server_ip = eth0;  # Use eth0 here if you want to allow other
                           # machines on your network to query pdnsd.
}

server {
        label= "myisp";
        ip = 202.238.95.24;  # Put your ISP's DNS-server address(es) here.
}

くらい。とりあえず外部DNSはプライマリしか書いていないけど、そのままserverセクションを増やせばセカンダリも指定できる。

あとはLAN内の他のPCからも参照するので、globalのserver_ipは127.0.0.1とせずに、eth0と指定してeth0が持つIPアドレスにした。最後に/etc/resolv.confに

nameserver 192.168.0.22 #eth0
nameserver 202.238.95.24
....

などとして終了。squidも同じサーバで動いているので、squidが見るDNSサーバもちゃんとpdnsdになっているかを確認。あとは起動と自動起動するようにしておく。

rc-update add pdnsd default
/etc/init.d/pdnsd start

digコマンドで試してみると、dnscacheより速い。…と言っても、50msと1msくらいの違いなのだけど。とりあえずこれでまたしばらく様子を見てみよう。

関連する記事:

  1. SmartQ5でUSB接続でadbを使う方法 とりあえず、SmartQ5の新ファームでADB接続する方法。というか単にドライバのインストール方法。 ドライバ自体はAndroid SDKに付いているものでOK。 ただし、標準のandroid_winusb.infファイルにはSmartQ5用のUSBデバイスIDが登録されていないので、そのままではWindowsのドライバウィザードでは「対応するドライバが見つかりません」と言われてしまう。 Wind......
  2. gentoo + apache2 + ssl でちょっとハマる /etc/conf.d/apache2 で APACHE2_OPTS = "-D SSL -D SSL_DEFAULT_VHOST" と、"SSL_DEFAULT_VHOST"を追加で指定しないとSSLでアクセスできないのね。"-D SSL"が指定してあるのになんでダメなんだろう…と一時間半くらい悩んだ。...
  3. ntpdを再設定して、さらに負荷分散 自宅サーバのntpdがLAN内から時刻同期できなかったので設定の見直し restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap のところがコメントアウトに…orz。なぜだろ。 もう一つ、上位ntpサーバに福岡大学のサーバを設定したままになっていたので削除。 昔のスラッシュドットにもあったように、福岡大学のntpサーバは個人ユーザとかが接続しす......
  4. Ubuntuのapacheで個人ディレクトリのpublic_html以下を使う たいしたネタでは無いけど、メモ。 apacheをインストールしただけだと、/var/www/ 以下がDocument Rootになるのだけど、ここはsudoしないとファイルを置くことができない。 ユーザーのホームディレクトリのpublic_htmlを対象に含めたいときは、UserDirモジュールを使うように設定する必要がある。 設定ファイルは、 /etc/apache2/mods-availabl......
  5. AndroidのフルソースからビルドしたエミュレータでSDを認識しない場合 タイトルそのままなんだけど、私の環境で発生して解決できたようなのでメモ。 AVDを使わずに、フルソースをビルドして出来上がった各種イメージファイル(out/target/product/generic/system.imgなど)を使ってエミュレータを起動した場合(emulatorのパラメータで-system/-ramdisk/-kernelなどを付けたとき)、-sdcardでSDイメージファイルを......
  6. Galaxy Sでカメラ画像をネットワークに流せない問題について調べる カメラの映像をネットワークに流そうとしたが… – きままな日記帳 昨日のこの件の続きをもう少し調べてみる。 問題の切り分けとしては、MediaRecorder#setOutputFile()にFileDescriptorで物理ファイルを指定した場合とSocketを指定した場合。 123Socket socket = new Socket(DEST_ADDR,...

コメント:0

コメントフォーム
入力した情報を記憶する

トラックバック:0

この記事のトラックバック URL
http://www.swingingblue.net/mt/archives/000795.html/trackback
トラックバックの送信元リスト
pdnsdでDNSキャッシュ - きままな日記帳 より

ホーム > Technical > pdnsdでDNSキャッシュ

検索
フィード
メタ情報

ページの上部に戻る