ipnuts on VMWare VMWareでルータも仮想化してしまおう!

Windowsで動くVMWare上の仮想マシンでipnutsを動かして利用する方法です。

ipnutsはlinuxベースのルータソフトウェア(OS込み)、CDまたはFD起動でPCをルータ化してくれます。
必要なのはintel互換CPUを積んだマシン、ネットワークカード2ポート(つまり2枚)、CD又はFD、メモリは128MB、HDDは特に必要としません。詳しくは配布元サイトを参照してください。
大雑把に言ってwindows2000が動くマシンであれば問題ないでしょう。

しかし...そんなポンポンマシンを増やしてもいられません。
ここは128bitを動かしているWindows2000にもう一つ仮想マシンを定義してそこで動かすことにしましょう。これぞバーチャライゼーションの醍醐味(笑)

利点
・かなり高機能
・VM化することにより現状リソースで賄える(bitcomentが止まらないルータを購入=5000円)
・Free版ならライセンス料金がかからない、ライセンスを購入しても2800円
欠点
・ソフトウェアなのでトラブル時に大変(ハードならリセットでOK)
・高機能なのが災いして設定が難しい(web経由でできます)

用意するもの

余裕があるVMWareホスト ルータの負荷はトラフィックによりますが、余裕がないと通信速度が遅くなります
メモリは128MB必要です。少なすぎるとブートに失敗します。HDDイメージは必要ありません。FDドライブが必要です(または仮想FDドライブ)、IPNutsをCD-Rに書き込んで使用してもいいですがISOイメージから起動できますからそれを保存するドライブ容量100MB位
ネットワークポート×2 WAN側、LAN側の2ポート必要です。1ポートに2IP割り当てとか難しいこと考えないでください。
クロスケーブル もしWAN側ネットワークポートにストレート/クロス変換機能(MDI/MDI-Xと仕様に表記されているはず)がない場合はクロスケーブルを1本、またはクロス変換アダプタ1つ。うちのYahooBBモデムには1個同梱されていました。

今のWindows2000の簡単なスペックは...
Athlon64X2 3500+
512MBメモリ
オンボードVGA
オンボードネットワークポート1
HDD 40G

今のネットワークは

変更後は

ネットワークポートが2箇所あるマシンはほとんど無いでしょうから適当に増設します。
IPNutsでサポートされていないカードでも大丈夫、VMWareの中で動くOSからはどこのメーカー製でもAMD PCnet PCI-IIに見えるので適当に買ってきてください(本文中ではHP製カードを使いましたが、不安定だったので安物Coregaカードになりました)。無線LANでもいけますが起動順序が難しくなるでしょう。無線ステーションをON→VMホストをON→無線を認識→IpnutsをON→他PCをON...。Windows2000が認識できるネットワークポートであれば何でもOKなはずです。
うちのマシンはオンボード1ポート(Realteck製)にPCI増設で1ポート(HP製)増やしました。
たしかこのHP製カードは大昔PC-Server1で1500円だったHP製の無印pentiumマシンに付いていたものでは(もちろん一時期128bitがそれで動いてました)...我が家ではかなりの古参組みです(笑)Cobaltを扱ったときにIntelProカードを中古で買ったはずなんですが...どこへ行った?
いまどき珍しい10base専用品ですがうちは無線ベースなので速度の問題はありません。

VMWareでipnutsを動かす場合はちょっとコツが必要です。
DHCPで全てのIPアドレスを付与できません。なぜならWindows2000上のVMWare上でipnutsが動くのですからです。
(Windows2000起動時はipnutsが動いていない=DHCPでのアドレス付与ができないわけです)
ですから全体像を想像しながら構築します。

・ルータIP:192.168.0.1(ipnutsのLAN側アドレス、これは起動時に自動設定される値を採用します)
・Gateway:192.168.0.1(ipnutsのLAN側アドレス)
・DNS:192.168.0.1(ipnutsのLAN側アドレス)

・Windows2000(VMホスト)のIPは192.168.0.252とし、その他は上記設定を固定で与えておくことにします。

まずWindows2000にネットワークカードを認識させます。
1ポートはWAN側、1ポートがLAN側になります。
(2ポートとも同じ製品ですとどっちがどっちか判らなくなるかもしれません。増設する場合別メーカーのカードにしたほうがわかり易いかもしれません)

こちらWAN側ポート
ただドライバをいれると色々設定させると思いますがそのままでは[インターネットプロトコル(TCP/IP)]と[Microsoft ネットワーク用ファイルとプリンタ共有]が有効になっているはずです。こちらのポートはWANに直接接続するためWindows2000からは有効にしたくありません。[VMWare Brigde Protocol]以外はチェックボックスを外します。
こちらLAN側ポート
ファイル共有するので[Microsoft ネットワーク用ファイルとプリンタ共有]はON、もちろん[インターネットプロトコル(TCP/IP)]もONです。TCP/IPの設定はDHCPではなく固定で設定します。設定値は先ほどの値です。

ipnutsをゲットしましょう。http://www.ipnuts.net/からIPnuts 4.1 開発版 Freeを取得してきます。Free版は起動時にキーボードを叩く必要があますが、ひとまず使って運用に耐えるのであれば製品版を購入すればよいのです。
ダウンしたISOイメージをWindows2000にコピー保存します。

VMWareのインストール方法、基本的な仮想コンピュータ設定方法は他のサイトを参照してください。
今回は特別な設定を行います。
まずネットワークポートの割り当てを行います。1ポートしかない場合は何もせずとも問題ありませんが今回2ポート使うのでWNA側LAN側を定義します。

VM管理ツールを開き[HOST]メニューから[HOST Virtual Network Mapping]タブを選択します。VMnet3にLAN側(HP製)を割り当てます。VMnet4にWAN側(Realteck製)を割り当てます。(増設したネットワークカードが認識されていない場合はコンピュータ全体またはVMWareサービスの再起動を行ってください)

次に仮想マシンのネットワークポートを設定します。
(標準的な仮想コンピュータ設定ではネットワークポートが1つしか定義されていませんので追加してください)

1ポート目はLAN側です。先ほどHOST Virtual Network MappingでVMnet3に割り当てたHP製のネットワークカードを使います。
2ポート目はWAN側です。先ほどHOST Virtual Network MappingでVMnet4に割り当てたRealteck製のネットワークカードを使います。

まぁこんな感じでマシンの設定は終了です。
ネットワークケーブルを接続して準備してください。
YahooBBモデムは一旦電源を切り、10秒程待ってから電源投入してください。
(ipnutsがDHCPでのグローバルアドレス取得に失敗する場合があります)

ipnutsを起動してください。ブート画面の最後の方でeth1とeth2を有効にしている箇所でエラーが発生していなければOKです。

後はweb経由で設定を行えばNATが有効になり家庭内LANからインターネットへ接続できます。ipnutsが起動していればDHCPサーバがありますからクライアントのDHCPを有効にしておいてもOKです。(どうせipnutsはずっと起動しっ放しでしょう?)

128bitの仮想マシン設定ではネットワークポートを1つだけ定義し、LAN側のVMnet3を選択すればOKです。

参考にしたページm(_ _)m
適当サイト