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
		変更点:! を * に書き換える

dnsmasq-2.45.tar.gzを探してくる。
Dnsmasq - a DNS forwarder for NAT firewalls.
でも、そのままじゃコンパイルできないから、適当に作った「うさんくさいパッチ」を使ってから
例のあれ
	$ 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

「dnsmasq」
このdnsmasq・・・バージョンによってコンパイルできるものとできないものがあります。
原因はわかりません。
コンパイルできなかった場合に限りパッチを使用してください(保証は一切なしですが)
まぁ、玄箱が特殊っちゃ特殊だし、dnsmasq自体が特殊っちゃ特殊ですからw

「起動ごとに書き換えられる」
結構、いろいろなファイルが起動ごとに作り直されますね。
まだ、回避方法があるから良いけど・・・

PC側の設定

インターネットプロトコル(TCP/IP)の項目のdnsのところに
優先:玄箱のIP
代替:ルーターのIP
とする(ルーターを指定しないと玄箱が落ちているとき名前解決ができなくなる)
「PC側の設定」
GUIは説明が面倒なので適当にお茶を濁す(をひ
さして重要とも思わないし・・・(他のサイトで詳しく説明しているから)

安定動作するようになったら、完全に玄箱に依存していいと思う。
玄箱の(dnsmasqの)調子が悪くなったのがすぐわかるようになるし・・・


戻るなら押せ!