DNSに注意
DNSMasqなど、DNS問い合わせをキャッシュする機構がないと、LinuxはDNS問い合わせを毎回行う。
これが以外とタイムロスである。もちろんDNSサーバーがルータなどもっての他である。
社内であっても、信頼できないDNSサーバーは使うべきでない。社内ルーターがしっかり管理されてると言えない場合は注意するべき。
バッファローのルーターなど容易にハッキング可能のなのである。マンションなどでローカルIPが割り振られる場合はさらに要注意だ。DNSサーバーにルータを使うならウイルスチェッカなんて無意味である。
ウイルスチェッカが問い合わせ先を偽装できる。パターンファイルの取得元を容易に変更できてしまう。
ルータがデフォルト設定で、無線LANで運営されているカフェなど恐ろしくて、そのままでネットできない。
PCを守りたければDNSを守る。
結論をいえば、PCを守りたければDNSを守る。しかし、プロバイダのDNSは遠い。毎回問い合わせは時間が掛かる。ルーターに任せればいいのだが、先述の通りルーターを管理者が握っているとそうもいかない。*1
そこでDNS問い合わせ結果をパソコンにキャッシュする。
MACやWindowsでは、このタイムロスを自動的に緩和する用に。DNSのキャッシュの仕組みが自動搭載されている。
まぁ弊害も多いけれど、速くなるるメリットは計り知れない。
*2
UbuntuでDNSMasqなどを使う
Ubuntuで同じ事をしようと思うと、DNSMasqを使う。もちろんbindでも構いませんが、キャッシュだけならDNSMasqが小さくて便利です。bindはキャッシュにもつかえる本物のDNSサーバーで巨大で管理も面倒。
takuya@ubuntu:~$ aptitude search dnsmasq
p dnsmasq - A small caching DNS proxy and DHCP/TFTP server
p dnsmasq-base - A small caching DNS proxy and DHCP/TFTP server
takuya@ubuntu:~$ sudo aptitude install dnsmasq
[sudo] password for takuya:
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます
パッケージの状態を初期化しています... 完了
タグのデータベースを構築しています... 完了
以下の新規パッケージが自動的にインストールされます:
dnsmasq-base
以下の新規パッケージがインストールされます:
dnsmasq dnsmasq-base
0 個のパッケージを更新、 2 個を新たにインストール、 0 個を削除予定、0 個が更新されていない。
214kB のアーカイブを取得する必要があります。 展開後に 725kB のディスク領域が新たに消費されます。
続けますか? [Y/n/?] y
拡張状態情報を書き込んでいます... 完了
取得:1 http://archive.ubuntu.com hardy-updates/main dnsmasq-base 2.41-2ubuntu2.1 [202kB]
取得:2 http://archive.ubuntu.com hardy-updates/universe dnsmasq 2.41-2ubuntu2.1 [12.0kB]
214kB を 3s 秒でダウンロードしました (63.4kB/s)
未選択パッケージ dnsmasq-base を選択しています。
(データベースを読み込んでいます ... 現在 47820 個のファイルとディレクトリがインストールされています。)
(.../dnsmasq-base_2.41-2ubuntu2.1_i386.deb から) dnsmasq-base を展開しています...
未選択パッケージ dnsmasq を選択しています。
(.../dnsmasq_2.41-2ubuntu2.1_all.deb から) dnsmasq を展開しています...
dnsmasq-base (2.41-2ubuntu2.1) を設定しています ...
dnsmasq (2.41-2ubuntu2.1) を設定しています ...
* Starting DNS forwarder and DHCP server dnsmasq
dnsmasq: failed to create listening socket: Address already in use
* failed
[fail]
invoke-rc.d: initscript dnsmasq, action "start" failed.
使ってないBind9が邪魔だったのでストップした
bind9が入っているともちろん競合する。外部問い合わせの実験ようにいれたBindは停止しました。
takuya@ubuntu:~$ sudo rcconf takuya@ubuntu:~$ sudo /etc/init.d/bind9 stop * Stopping domain name service... bind [ OK ]
DNSMasqを起動
takuya@ubuntu:~$ sudo /etc/init.d/dnsmasq start * Starting DNS forwarder and DHCP server dnsmasq [ OK ]