dnsmasq(8) 便利かも
dnsmasq(8)
というのを知って,便利そうだったので入れてみた.まだ使い始めなので思わぬ失敗をしてるかもだが... 様子見中.
いわゆるヘアピンNAT機能のない箱物ルータ使ってると,同じLAN内のサーバがThe Internetに公開されていても,普通にはアクセスできない.代わりにLAN内に自前DNSサーバ立てる必要が出てくるが... 貴重な人生をBINDやらdjbdnsの設定なんぞに費やしたくないのですお.てな訳で「しゃあねぇ,とりあえずこのマシンの /etc/hosts
に直書き... いずれあのマシンと,あとあっちもね... はぁ面倒」とか思ってたら,同じ思いを抱え,さらにそれを解決する意欲と技術力に溢れた人がいたらしく,dnsmasq
という便利なツールが作られていた.これはキャッシングDNSサーバなんだが,設定を自ホストの /etc/hosts
から取ってくるお手軽な奴.これをLAN内のサーバのどれかで上げて(そもそもThe Internetにwebサーバか何かを公開してる前提だから,同じサーバで上げちゃっていいだろ),あとは箱物ルータのDHCP設定でネームサーバ (primary*1 ) をそこに指定するだけ.そうすると普通の名前解決は
という委譲委譲で無事成功する.ついでに dnsmasq
はデフォルトでキャッシュするらしい((複数回 dig(1)
すると2回目からレスポンスが 1 ms に短縮されるとの同時に,帰ってくる内容が短い(QUESTIONとANSWER SECTIONしか無くてAUTHORITYとADDITIONAL SECTIONが欠けてる)が,大丈夫か?)).dnsmasq
から箱物ルータへの委譲は,/etc/dnsmasq.conf
で細かく制御できるようだが,基本的には他のリゾルバ同様に /etc/host.conf
と /etc/resolv.conf
で制御されるみたい.
次に実体がLAN内にあるサーバの名前は
- DHCPクライアントPC →
dnsmasq
→/etc/hosts
となって,万事OK.
- http://gihyo.jp/admin/serial/01/ubuntu-recipe/0020 Ubuntu Weekly Recipe:第20回 いろいろなキャッシュ:dnsmasq, cache proxy|gihyo.jp … 技術評論社
- http://rhiz.jp/id/55.html dnsmasqを活用する rhiz.jp Sutekiブログ