ddによるHDD丸ごとコピー
nmapNTによるチェック
HDD入れ替え実験
FreeBSDサーバーでは富士通の10GBHDDを使っているが、開発も一段落したので、別のHDDへOS込みでフル・バックアップをとることにした。カミさん用のPCで全く同じHDDを使っているのでこれを転用することにした。パソコンショップで一番安いHDDがSEAGATEの20GBだったので、これを購入し別のPCでFAT32で領域確保しformat
c:/sとしてフォーマットした。このHDDをカミさんマシンへ装着し、システムのプロパティーで仮想メモリー領域を使用しない設定とした。
その後、全てのファイルを表示する設定にした後、Cドライブを全選択して、装着した20GBHDDへコピーした。マシンを停止し、10GBを外し20GBをマスターとして立ち上げると無事Win98が起動した。これで開発中のものと全く同じ10GBHDDが用意できたことになる。
この10GBHDDをサーバーマシンのセカンダリー・マスターとしてセットするとad2として認識したので、
dd if=/dev/ad0 of=/dev/ad2
としてOS+アプリの丸ごとコピーを作った。コピー先のHDDは特に事前フォーマットする必要はないが、コピー終了までにかなりの時間がかかる。コピー開始から2時間経過しても終了しないので、ctrl+cで強制終了したところ、70%終了して残り30%ほどであった。我慢できないとこのザマである。結局最初からやり直したがコピー・レートが0.9MB/秒なので3時間かかった。念のため、このフルコピーしたHDDからFreeBSDをブートした。当たり前だが、開発中のものと全く同じであった。
nmapは有名なポート・スキャンツールであるが、nmapNTはこのWindowsバージョンである。Windoowsバージョンと言っても実際はDOSプロンプトからの実行となる。私の開発環境は、現用Linuxサーバー、開発中のFreeBSDサーバー、Win98マシンの3台だけでモニターはWin98用に1台あるだけである。メンテナンス・開発は全てSSHで接続したWin98マシンから実施している。PCUNIXが使用できるフリーのマシンが1台あれば別に困らないのだが、残念ながらそのような環境ではないので、Win98マシンでnmapが使用できると非常に便利である。
nmapNTはhttp://www.eeye.com/html/Research/Tools/nmapNT.html からダウンロードできる。nmapNTはzipファイルで提供されるので適当なフォルダーへ解凍する。nmapNTを使うためにドライバー類が必要でダウンロードしたファイルにも含まれているが、使い勝手が良くないので、http://netgroup-serv.polito.it/winpcap/をダウンロードしてインストールする。
>nmapnt -h
でヘルプファイルが表示されるが、DOS窓ではスクロールが効かないので例えば空のhelp.txtを用意してリダイレクトで
>nmapnt -h > help.txt
とすると中身がhelp.txtへ格納される。以下はそのさわりである。
-sT TCP connect() port scan (default)
-sS TCP SYN stealth port scan (best all-around TCP scan)
-sU UDP port scan
-sP ping scan (Find any reachable machines)
-O Use TCP/IP fingerprinting to guess remote operating system
-p <range> ports to scan. Example range: '1-1024,1080,6666,31337'
-v Verbose. Its use is recommended. Use twice for greater effect.
-P0 Don't ping hosts (needed to scan www.microsoft.com and others)
例えば自宅LAN内のサーバー192.168.0.2をスキャンするばあいは
>nmapnt -v -sS -O 192.168.0.2
とする。結果を画面ではなくファイルへ格納したい場合はリダイレクトを指定して
>nmapnt -v -sS -O 192.168.0.2 > help.txt
とするとよい。
開発中のマシンへLAN内からポート・スキャンをかけてセキュリティー・チェックするのに重宝しているが、DOSコマンドラインは、UNIXと違いシェル機能がないに等しく使い勝手が悪いのには閉口した。ただし、他人へ向けてスキャンするとクラッカーになってしまうので注意する必要がある。
FreeBSDはASUSのATタイプのM/Bを使ったPCで開発している。公開しているLinuxサーバーはこれまたATタイプであるがこちらはSOYOのM/Bを使っている。今となっては年代物のM/BであるがATタイプなので停電になったとしても電源スイッチが保持されており、復電と共に再起動するので重宝している。両者で使っているチップセットは違うものである。NICはメーカーは違うが同じチップのものである。
今回の実験はASUSで開発したFreeBSDが入ったHDDを公開しているサーバーへ装着したらどうなるかということである。装着して電源ONとするとブートが進みもう少しでloginプロンプトが出る寸前の
Recovering vi editor sessions:というところで止まってしまうが、数分我慢すると無事loginプロンプトが現れてブート完了した。その後、WinPCからSSHで接続しようとするとloginプロンプトが出るまで数分かかるが、接続してしまえば通常の状況と何ら変わらない。Linuxではハードウェアをチェックするデーモンが走るので今回のような事をしてもかなりスムーズにブートできるが、FreeBSDではそこまで行かないようであるがブートできることは確認できた。
SOYOマシンの方がCPUの速度を落としたり、大きなFANを装着したりとどちらかというとサーバー向きなので、こちらで運用したいが、SSHでの接続に時間がかかるのがちょっと難点である。NICのMACあたりの問題であれば、HUBのリブートでなんとかできるかもしれないので、今度試してみよう。
その後、開発用のマシンでddによるフルコピーしたHDDを再度SOYOのM/Bを使ったPCへ装着した。どういうわけか今回は途中で止まることもなくすんなりブートできた。SSHもルーターが動作しインターネットへ正常接続されている場合はすんなりとつながった。デフォルトゲートウェイの関係があるようである。そんなわけで、SOYOのM/Bを使ったPCをFreeBSDサーバーとして公開している。