Home > Debian > Debianにpdnsdを入れてプライベートネットワークの名前解決

Debianにpdnsdを入れてプライベートネットワークの名前解決

404 Not Developer DNSサーバ云々で笑われてるので(´・ω・`)
以下は個人的なメモ書き程度に。というか他の記事もそうだけどw

設定の参考Link

数台しかないPCのプライベートネットワークだとhostsに名前を書くと名前解決にはなるけど
互いのPCから名前でアクセスしようとするとその台数分hostsを書かないといけないし
台数が増えなくても今回のようにOS増やしたりする度にhosts書くのも軽くイラッとする。
そこでpdnsdを入れてものぐさしてみる

このpdnsdは本来DNSキャッシュサーバーだけど、/etc/hostsとかもDBに加えてくれるので 1度hostsを書いておくと、LAN上のPCをここにアクセスさせるだけでLANの名前も引いてくれるし外部の名前解決も心持速くなるというわけ。

■インストール

aptitude install pdnsd dnsutils
  • dnsutilsはdig等のコマンドの為にインストール
    Debianなら最初から入ってるかもしれない。

■設定
/etc/pdnsd.conf
■global

global {
        perm_cache=2048;
        cache_dir="/var/cache/pdnsd";
        max_ttl=604800;
        run_as="pdnsd";
        paranoid=on;
#       next setting allows ppp/ip-up update the name servers -- ABa / 20040213
        status_ctl=on;
        server_port=53;
        server_ip="192.168.1.2";
#       server_ip="eth0";
}
  • perm_cache
    キャッシュサイズ、でもここ変えてもメモリ上もHDD上も変化しないんだけど。。w
  • max_ttl
    最大保持期間
  • run_as
    pdnsdを動かすユーザー名
  • server_ipとserver_port
    pdnsdの待ちうけipとポート
    インターフェイス名でも可

■外部アクセスするDNS

server {
        ip=218.219.xx.xx,218.219.xx.xx;
        timeout=30;
        interval=300;
        uptest=query;
        ping_timeout=300;
        purge_cache=off;
}
  • ip=
    ISPのDNSなどを。
    プライマリとセカンダリなら設定も同じでいいだろうし、カンマ(,)でつなげて書く。
  • timeout=やinterval=
    ↑は適当な数字に、デフォでもいいと思う。
  • uptest=
    デフォルトのuptest=pingはトラブルの元になるっぽい
    noneもだめと書いてるところもあるのでDOCを読むとqueryが1番無難な感じ。

■LANの名前解決用

source {
        ttl=86400;
        owner="localhost.";
#       serve_aliases=on;
        file="/etc/hosts";
}

デフォルトのままでいいかな。

■resolv.conf

vi /etc/resolv.conf
nameserver 192.168.1.2

待ち受けIPと同じIPに。(globalのserver_ip="192.168.1.2";)

■hosts

vi /etc/hosts
127.0.0.1はもちろん、LAN上のPCを加筆しておく。

DNSキャッシュとLAN用のDNSならここまで。

その他resolvconfパッケージと連携させたり鯖の外部用ドメインでルーター内からもアクセスできるようにしたり DNSラウンドロビンさせたりとか、設定が簡単な割りに多機能。

導入の効果は、LAN上のクライアントはDNSが192.168.1.2と統一になるので楽チンなのとhosts書かなくてもいいというものぐさにはぴったり。
ただ、本来のキャッシュの方は日本国内だと普通にアクセスしても、40msecとかの反応が2msecとなっても。。
38msec= 0.038秒速くなっても。。w
もっというと2msecはメモリ上にあるときなので、HDDからの読み込みだと25msecだから0.015秒だ。
違いの判る男になりたいぜ。
ただ海外だと

# dig motorsport.com
; <<>> DiG 9.3.4 <<>> motorsport.com
(略)
;; Query time: 497 msec
が25msecや2msecになるわけだから少しは体感あるかも。

追記
hostsも読み込むと思ってたけど,localhostからしか扱えない?っぽい
でも各PCでhostsを書かなくても、ローカルネットワークにあるPCのPC名で引けるので、元々の目的は果たしてるし、もうまんたい。

  • Posted : 2007-08-23 (Thu)
  • ブログパーツ
Comment Form
Web Services by Yahoo! JAPAN
Trackback:0
TrackBack URL for this entry
http://www.sowhats.net/trackback/item_925.html
Listed below are links to weblogs that reference
Debianにpdnsdを入れてプライベートネットワークの名前解決 from Not renewal
トラックバック

このエントリにトラックバックはありません

このトラックバックURLを使ってこの記事にトラックバックを送ることができます。
もしあなたのブログがトラックバック送信に対応していない場合にはこちらのフォームからトラックバックを送信することができます。

Home > Debian > Debianにpdnsdを入れてプライベートネットワークの名前解決

Page Top