ある日、部屋のネットワークをシェア(ネットワークの契約や管理は私がやっています)している隣人から「インターネットに繋げない。」って言われました。うーん、何も変えてないぞ?
自分のデスクトップマシン(有線)で試すとインターネットに繋げました。プロバイダやVDSL回線は正常のようです。
隣人のPCは無線接続なので無線が原因?と考えて、手持ちの無線機器(VAIOとNintendo DS-i)で試してみました。結果VAIOは正常に通信できましたので、無線に問題はなさそうです。しかしDS-iはインターネットに接続できません。
VAIOとDSの差というと、VAIOは固定IP、DSはDHCPから動的割り当てに設定したくらいしか思い浮かびません。試しにDSに固定IPを振ってみると、DSからインターネットに接続できました。どうやらDHCPサーバがおかしくなっているようです。
しかしCTUのDHCPサーバ設定を見ても異常はないし、ログを見ても攻撃されている様子はないので、CTUが原因とは考えにくいです。他に起動しているのはデスクトップマシンくらいなものですから、デスクトップマシンが原因でしょう。おそらく。
デスクトップマシンを調べるとVirtualBoxが起動している時のみ、DHCPが192.168.56.xという変なアドレスを振ってくることがわかりました。仮想マシン内でLinuxを動かしていたのでそれが原因かと思いきや、仮想マシン内でWindows 2000を動かしても同じ症状が出ます。もしやVirtualBox自体が原因か?
調べるとVirtualBoxは独自のDHCPサーバを持っていることがわかりました(※1)。Host-only Adapterの先にあるネットワーク(つまりホスト - 仮想マシン間ネットワーク)からのアドレス要求に答えて、アドレスを割り当てるためです。
部屋のネットワークとVirtualBoxのホスト - 仮想マシン間ネットワーク
上図のように、CTUのDHCPサーバは192.168.1.1〜254のアドレスを割り当てます。またVirtualBoxのDHCPサーバはホスト - 仮想マシン間ネットワーク上の機器に、192.168.56.101〜254のプライベートアドレスを割り当てるように設定されています。
VirtualBoxのDHCPサーバが振るアドレスと、さきほど判明した変なアドレスが一致していますので、DSを困らせるDHCPサーバはVirtualBoxで間違いなさそうです。
(※1)VirtualBoxのDHCPサーバの設定は、
[ファイル] - [環境設定] - [ネットワークタブ] - [Host-only Adapterのリストから適切なものを選択] - [ドライバーマークのボタン] - [DHCPサーバータブ]
にあります。かなりわかりづらいです。
ホスト - 仮想マシン間ネットワーク用のDHCPサーバのはずなのに、部屋のネットワーク上にある機器にアドレスを振っているのはなぜでしょう?実は訳あって(※2)部屋のネットワークとホスト - 仮想マシン間ネットワークをブリッジしていたのです。
部屋のネットワークとVirtualBoxのホスト - 仮想マシン間ネットワーク、ブリッジ後
上図のように、部屋のネットワークと、ホスト - 仮想マシン間ネットワークをブリッジすると、VirtualBoxのDHCPサーバに部屋のネットワークからのアドレス要求が届いてしまいます。さらにVirtualBoxのDHCPサーバはCTUのDHCPサーバより早く応答していたため、部屋のネットワークからのアドレス要求に対してVirtualBoxのDHCPサーバの応答が優先されてしまうのです。
その結果、DSはVirtualBoxのDHCPサーバが割り振るアドレスを受け取り、ホスト - 仮想マシン間ネットワーク(青線)へ参加してしまいます。これは当然CTUのDHCPサーバが割り振るのアドレスとは異なりますので、DSは部屋のネットワーク(赤線)上のCTUと通信できず、インターネットへアクセスできないのです。
今回の教訓は、ネットワークをブリッジするときは、ブリッジする2つのネットワークに被害が出ないことを確認してからやりましょう、かな。
(※2)この時はBridge Adapterが何故か使えなかった(2009年4月29日の日記参照)ため、Host-only Adapterを一つ作って、デスクトップのネットワークインタフェースとWindowsのブリッジ機能でブリッジしていました。
幸いなことに今回のケースではVirtualBoxのDHCPサーバの応答速度が、CTUのそれに対して圧勝していたため、問題の発覚が早かったです。これがもし場合によってVirtualBoxのDHCPサーバが勝ったり負けたり、という状況だったら、さらに解析が困難でした。不幸中の幸い、でしょうか。
またVirtualBoxの話です。
VirtualBoxを2.2.0から2.2.2にバージョンアップした際に、何回やってもインストーラが失敗メッセージを出して終了してしまい、アップデートできません。症状を見るにRemoving Files... と出た後、何かが失敗してセットアップのRollbackが始まっているようです。
セットアップが削除したいファイルが使用中なのかなあ?と思って、Host-only Adapterを削除したり、Windowsの再起動直後にアップデートしたりしましたが、改善せず。何が悪いのやら?
もう2.2.0をアンインストールするしかないかなあと思いつつ、最後にダメもとでVirtualBox 2.2.0の修復セットアップを行った(私の環境ではWindowsの再起動が必要でした)後、2.2.2へのアップデートを行ったところ無事アップデートできました。
今までMicrosoft Officeくらいでしか修復セットアップを試したことがなくて、しかも大抵失敗するだけで何の役にも立たないイメージだったのですよ。今日、初めて修復セットアップが役立ったというか、きちんと動作したことに感動しました。
で、感動はさておき、古いセットアッププログラムが手に入らない場合は、素直に2.2.0をアンインストールしてから、2.2.2を新規にインストールすればうまくいくと思います。
家ではVirtualBoxを使って、デスクトップに仮想Linuxマシンを作っています。
VirtualBoxはバージョンアップの際に設定ファイルを勝手に引き継ぐので、バージョンアップの際に再設定などは必要ありません。今使っている設定ファイルも1.xの時代から使ってきたものです。
しかし最近はネットワーク周りの変更で良く引っかかります。
以前VirtualBoxを2.2.0にバージョンアップした際に、どういうわけか今まで使っていたBridged Adapter(※1)が使えなくなってしまって、仕方なくHost-only Adapter(※2)に変更しました。
で、最近2.2.2にバージョンアップしたら、またBridged Adapterが使えるようになっていました。何でだろう。使えるのか使えないのか、良くわからん…。
(※1)VirtualBoxがホストのネットワークインタフェースと仮想マシンのネットワークインタフェースをブリッジする方法。Windowsのブリッジ機能とは違います。
(※2)仮想マシンのネットワークインタフェースと通信するためのインタフェースを新たに作成する方法。Windowsのブリッジ機能で、ホストマシンのネットワークインタフェースとHost-only Adapterをブリッジすると、Bridged Adapterでやっていたこととほぼ同等のことができます。
かなりいまさらですけど。
以上3旅行の写真と日記を上げました。写真がいっぱいあるとめんどくさいのねー。
そうだ3月28日に書き損ねた話をここに書こう。
じょーと飛鳥に向かう前に、梅田スカイタワー地下のお好み焼き屋「きじ」に行きました。「きじ」ではメニューを店主のおっちゃんに注文して、おっちゃんが焼いてくれるのを待つというスタイルを取っています。
一応メニューは壁に貼ってあるんですが、店が混んでるので遠くてよくわからんのよね。そういうときは迷わず「おまかせでー!」っておっちゃんに言えばオススメ品を焼いてくれます。
何が出てくるかわかりませんが、好き嫌いのない人なら損はしないと思います。おっちゃんも「ネギは食えるか?」など好き嫌いを聞いてから焼き始めていたので、全く食えない物が出てくることはないはず。
僕らの後ろにいたカップルがミックスを注文していたのですが、おっちゃんに「ミックスはどこでも食えるよ〜?別のにしなよ〜、絶対うまいよ〜。」とかなんとか言って、別のお好み焼きに誘導されてました。なんか面白いおっちゃんだなあ。
ポストに定額給付金を振り込みました、というはがきが届いていました。はがきには4月16日と日付が打ってあります。
口座をチェックするとお金も入っている様子。4月21日に振り込まれたそうです。はがきの日付と全く合ってないが、まあいいか…。
(※)画像はネットバンクの画面キャプチャですが、残高を示す表が無駄にでかかったのでかなり端折っています。
< | 2009 | > | ||||
<< | < | 05 | > | >> | ||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
- | - | - | - | - | 1 | 2 |
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 | - | - | - | - | - | - |
合計:
本日: