dnsmasq(ローカル側での名前解決)
名前とIPを関連付けしてくれるソフトです。
PCが2台以上とか多くなってくるとhostsファイルで関連付けするのが面倒になってしまいます。
そんなときに、LAN内に専用のネームサーバーがあると非常に便利ですよ。
1つのファイルを変更するだけで全てのPCに変更が反映されますから。
DNSキャッシュ機能とか、必要な機能は一通りそろっていますので、十分実用になります。
他に有名なソフトとしてはbindがありますが、求めることに対して設定が難しすぎw
LAN内の名前解決だけしてくれれば良いんだから・・・
「dnsmasq」
LAN内の名前解決とDNSキャッシュ機能があればとりあえずは十分ですよね?
WAN側はDDNSがあるし、動的IPだとネーム鯖立てても意味ないし、面倒臭そうじゃん?
だから、dnsmasq。
情報少なめなのが玉に瑕だけどね(^^A"
やること一覧 ・インストール ・PC側の設定
dnsmasq用のユーザーとグループを作る(必須ではないが、作らないとnobodyで動かすことになる)
# groupadd -g 28 dnsmasq # useradd -g dnsmasq -u 28 -d /var/empty -s /bin/false dnsmasqユーザーをロックする
# vipw または # vi /etc/passwd 変更点:! を * に書き換える
$ tar xvfz dnsmasq-2.45.tar.gz
$ cd dnsmasq-2.45
$ vi Makefile
(変更)
┃PREFIX?=/opt/dnsmasq
注:インストール先を変更している。
$ patch -p0 <~/dnsmasq.obj
うさんくさいパッチ(dnsmasqp.tar.gz) md5sum crc32:E421F13B
注:プログラムが知らない人が書いた修正です。バグがあると思います。
使うときは(いろんな)覚悟してください。
注:dnsmasq-2.35(確認した最終バージョン)にはパッチは必要ありません。
注:当然、玄箱でなければこんなパッチ必要ありません。
$ make
# make install
注:アップデートの場合はプロセスを終了してからinstallを実行すること
おまじない# strip -p /opt/dnsmasq/sbin/dnsmasq玄箱のhostsは再起動ごとに書き換えられるので、hostsファイルの代わりのファイルを作る。
# vi /etc/hosts.add (新規) ┃192.168.168.12 ntp.yourdomain www.yourdomain ┃192.168.168.111 fuga.yourdomain ┃192.168.168.125 smtp.yourdomain pop.yourdomain ┃192.168.168.125 imap.yourdomain 注:hostsファイルと同じ書式で書く(自分の環境にあわせて書く)起動スクリプトを書いてテスト
# /etc/init.d/dnsmasq start # /etc/init.d/dnsmasq restart # /etc/init.d/dnsmasq reload # /etc/init.d/dnsmasq stop dnsmasq起動スクリプト(dnsmasq.tar.gz) md5sum crc32:D32BB096 注:上記スクリプトでは/etc/hosts.addを読み込んで起動するようになっている 注:ユーザー"dnsmasq"を作っていない場合は、--user=dnsmasqを削除すること起動設定
# ln -s /etc/init.d/dnsmasq /etc/rc.d/rc2.d/S50dnsmasq # ln -s /etc/init.d/dnsmasq /etc/rc.d/rc0.d/K50dnsmasq # ln -s /etc/init.d/dnsmasq /etc/rc.d/rc6.d/K50dnsmasq
インターネットプロトコル(TCP/IP)の項目のdnsのところに
優先:玄箱のIP
代替:ルーターのIP
とする(ルーターを指定しないと玄箱が落ちているとき名前解決ができなくなる)
「PC側の設定」
GUIは説明が面倒なので適当にお茶を濁す(をひ
さして重要とも思わないし・・・(他のサイトで詳しく説明しているから)
安定動作するようになったら、完全に玄箱に依存していいと思う。
玄箱の(dnsmasqの)調子が悪くなったのがすぐわかるようになるし・・・
戻るなら押せ!