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 ]